← Back to developers

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:

Endpointhttps://dashboard.viralnote.app/api/mcp/mcp
Auth headerAuthorization: Bearer vnd_...
TransportHTTP (Streamable HTTP)

Tool reference

15 tools exposed. Your agent discovers these automatically — just ask in plain language.

ToolDescription
list_postsList posts; filter by status and platform.
get_postRead one post including per-platform results.
create_postCreate a draft (is_draft=true) or scheduled post.
update_postUpdate a draft or scheduled post.
delete_postDelete a draft or scheduled post.
publish_postPublish a draft immediately.
list_mediaList media library items.
import_mediaImport by URL (200MB cap) or base64 data (3MB cap).
delete_mediaDelete a media item.
list_social_accountsList connected social accounts.
list_analyticsPublished posts with per-platform metrics.
list_post_resultsPer-platform delivery results (success/error).
list_webhooksList webhook subscriptions.
create_webhookSubscribe to ViralNote events.
delete_webhookDelete a webhook subscription.

Good to know

One-click connect (Claude Desktop OAuth flow) is on the roadmap. Until then, copy an API key into the config shown above.