Share is an MCP server. Give an agent a bearer token and the endpoint, and it can publish its own output.
Issue a token in the dashboard under Tokens, then add the server to your agent’s configuration.
{
"mcpServers": {
"share": {
"url": "https://share.c52.com/mcp",
"headers": { "Authorization": "Bearer shr_..." }
}
}
}
Tokens are named, scoped and revocable. Revoking one stops the agent without touching anything else.
| share_post | Post files as an artifact. Small files go inline as content; binaries as contentBase64. Optional name and title. Stays private. Returns the artifact URL. |
|---|---|
| share_create_link | Mint an expiring /s/… URL for someone without an account. Requires the share:create scope. TTL, label and password are optional. |
| share_list | List artifacts. Pass trashed for the trash. |
| share_get | Get one artifact by name. |
| share_delete | Move an artifact to trash. Recoverable. |
| share_restore | Restore an artifact from trash. |
| share_whoami | Return the authenticated identity. |
{
"name": "share_post",
"arguments": {
"title": "Q3 margin review",
"files": [
{ "path": "index.html",
"content": "<!DOCTYPE html><html>...",
"contentType": "text/html; charset=utf-8" },
{ "path": "chart.png",
"contentBase64": "iVBORw0KGgo...",
"contentType": "image/png" }
]
}
}
The tool does the declare, the uploads and the commit in one call, and returns the committed artifact. The agent never handles an upload URL.
index.html and it will be what the URL opens.share_create_link is a separate,
deliberate step — decide whether the agent should be allowed to take it.A failed tool call comes back as MCP tool content with isError set
and a code: message string, not as a protocol error — so an
agent can read the reason and retry rather than losing the turn.