← 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

32 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.
create_carouselGenerate a 3–10 slide carousel as a draft post, on an AI image (4 credits) or your library photos (free).
list_social_accountsList connected social accounts.
list_analyticsPublished posts with per-platform metrics.
list_usageShared credit and storage totals, plus per-brand minutes and bytes.
get_billingPlan, trial state, and whether the account can publish or process video.
start_checkoutCheckout link for the account owner to subscribe. Charges nothing by itself.
top_up_creditsCheckout link for a one-time credit pack.
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.