ViralNote MCP server
Native Model Context Protocol server for ViralNote. Plug it into Claude Desktop, Claude Code, Cursor, or any other MCP host and your agent can post, schedule, list media, and read analytics — calling ViralNote tools like any other MCP resource, no custom integration code.
Setup for Claude Code (HTTP transport)
Add to your Claude Code MCP settings (~/.claude/settings.json):
{
"mcpServers": {
"viralnote": {
"type": "http",
"url": "https://dashboard.viralnote.app/api/mcp/mcp",
"headers": {
"Authorization": "Bearer vnd_your_api_key_here"
}
}
}
}Get your API key from Settings → API keys.
Setup for Claude Desktop (stdio bridge)
Claude Desktop currently uses stdio transport for custom MCP servers. Use the mcp-remote bridge to wrap the HTTP endpoint:
{
"mcpServers": {
"viralnote": {
"command": "npx",
"args": [
"mcp-remote",
"https://dashboard.viralnote.app/api/mcp/mcp",
"--header",
"Authorization: Bearer vnd_your_api_key_here"
]
}
}
}Alternative: install the published stdio server directly (no bridge):
{
"mcpServers": {
"viralnote": {
"command": "npx",
"args": ["-y", "@viralnote/mcp-server"],
"env": { "VIRALNOTE_API_KEY": "vnd_..." }
}
}
}Setup for other MCP clients
Any client that supports HTTP transport connects directly:
| Endpoint | https://dashboard.viralnote.app/api/mcp/mcp |
| Auth header | Authorization: Bearer vnd_... |
| Transport | HTTP (Streamable HTTP) |
Tool reference
15 tools exposed. Your agent discovers these automatically — just ask in plain language.
| Tool | Description |
|---|---|
| list_posts | List posts; filter by status and platform. |
| get_post | Read one post including per-platform results. |
| create_post | Create a draft (is_draft=true) or scheduled post. |
| update_post | Update a draft or scheduled post. |
| delete_post | Delete a draft or scheduled post. |
| publish_post | Publish a draft immediately. |
| list_media | List media library items. |
| import_media | Import by URL (200MB cap) or base64 data (3MB cap). |
| delete_media | Delete a media item. |
| list_social_accounts | List connected social accounts. |
| list_analytics | Published posts with per-platform metrics. |
| list_post_results | Per-platform delivery results (success/error). |
| list_webhooks | List webhook subscriptions. |
| create_webhook | Subscribe to ViralNote events. |
| delete_webhook | Delete a webhook subscription. |
Good to know
- Drafts.
is_draftsaves a post in ViralNote only — it does not create a draft on any social platform. When you later publish the draft, all platforms post immediately. - Deleting posts. Only drafts and scheduled posts can be deleted via API. Published posts cannot.
- Analytics freshness. Metrics are pulled periodically by ViralNote's backend — the values returned by
list_analyticsare the latest collected, not live. - Rate limits. 60 requests/minute per API key by default. The HTTP MCP endpoint inherits the same limits as the underlying REST routes.
One-click connect (Claude Desktop OAuth flow) is on the roadmap. Until then, copy an API key into the config shown above.