Tools
MCP server
Connect Claude, Cursor, and other AI tools to your Paragraph publication over the Model Context Protocol.
The Paragraph MCP server lets AI tools read and write your publication: draft and publish Web Articles (posts in the API), upload short-form drafts, manage subscribers, and query analytics.
This page connects your AI tools to Paragraph. To connect other tools to your Paragraph agent instead, see agent connections.
Connect the hosted server
The hosted server at https://mcp.paragraph.com/mcp needs no install. The first time you connect, Paragraph opens in your browser so you can approve access.
claude mcp add --transport http --scope user paragraph https://mcp.paragraph.com/mcpThen run /mcp in Claude Code to sign in.
Where there's no browser to sign in with, such as CI, send an API key in a header instead: Authorization: Bearer <key>. Codex reads it from an environment variable with --bearer-token-env-var PARAGRAPH_API_KEY.
To have your agent do the setup, give it this prompt: "Read https://docs.paragraph.com/developers/agent-setup.md and follow it to connect Paragraph to this agent."
Run it locally
The same server runs over stdio with npx @paragraph-com/mcp (Node.js 18 or later). It uses the PARAGRAPH_API_KEY environment variable if set, and otherwise the key saved by paragraph login. For example, in Claude Desktop:
{
"mcpServers": {
"paragraph": {
"command": "npx",
"args": ["@paragraph-com/mcp"],
"env": { "PARAGRAPH_API_KEY": "your-api-key" }
}
}
}Other clients take the same command, args, and env. Add --http --port 3100 to serve over HTTP on 127.0.0.1 instead, with a health check at GET /health.
Tools
Reading public posts and publications works without signing in. Everything else needs access to your publication.
| Toolset | Tools |
|---|---|
| posts | get-post, list-posts, create-post, update-post, delete-post, send-test-email |
| content | create-content, list-content, get-content, update-content, archive-content, restore-content |
| buckets | list-content-buckets, get-content-bucket, get-post-content-bucket, create-post-content-bucket |
| publications | get-publication, update-publication |
| subscribers | list-subscribers, get-subscriber-count, add-subscriber, remove-subscriber |
| users | get-user |
| feed | get-feed |
| me | get-me |
| analytics | analytics-query, analytics-schema |
| emails | send-custom-email |
The content tools draft X Posts and X Threads, LinkedIn posts, one-off emails, and X Articles into the library without sending them. The buckets tools group those drafts with the post they came from. See Drafted content.
update-post can also email a post to subscribers without putting it on your website (publishOnline: false), or point its canonical URL at where it first appeared (canonicalUrl). Connected agents get this guidance automatically, so asking for it in plain words works.
To keep an agent's context small, load only the toolsets it needs:
npx @paragraph-com/mcp --toolsets posts,subscribers