viralnote-mcp
Official@viralnote/mcp-server
A Model Context Protocol server for the ViralNote social media API.
Plug it into Claude Desktop, Claude Code, Cursor, or any other MCP-aware host and your agent can schedule posts, manage media, and read analytics across X, Instagram, Facebook, TikTok, LinkedIn, YouTube, Pinterest, Bluesky, Threads, and Reddit — as native MCP tool calls. No glue code.
Install
Claude Desktop / Claude Code / Cursor
Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, similar on other platforms):
{
"mcpServers": {
"viralnote": {
"command": "npx",
"args": ["-y", "@viralnote/mcp-server"],
"env": {
"VIRALNOTE_API_KEY": "vnd_..."
}
}
}
}Restart your MCP host. The ViralNote tools will be available immediately.
This repo includes a root .mcp.json (Open Plugins standard) so tools like Cursor Directory can auto-detect the MCP server from the GitHub URL.
Cursor Marketplace
Once the plugin is published on Cursor Marketplace, you can install it directly from Cursor:
Open Cursor and go to Settings → Plugins
Search for "ViralNote" in the Marketplace
Click Install
In Plugins → Configure, set your
VIRALNOTE_API_KEYGet your API key from dashboard.viralnote.app or viralnote.app/developers/auth
The ViralNote tools will be immediately available in your Cursor environment.
Local install
npm install -g @viralnote/mcp-serverThen reference viralnote-mcp directly in your MCP config:
{
"mcpServers": {
"viralnote": {
"command": "viralnote-mcp",
"env": { "VIRALNOTE_API_KEY": "vnd_..." }
}
}
}Configuration
Env var | Required | Default | Notes |
| yes | — | Generate at viralnote.app/developers/auth. Grant |
| no |
| Override for staging/self-hosted instances. |
Tools exposed
Tool | Purpose |
| List posts (filter by status/platform, paginated) |
| Read one post including per-platform publish results |
| Create a draft ( |
| Update a draft or scheduled post |
| Delete (cancels if scheduled) |
| Publish a draft now |
| List media library items |
| Import by URL (200MB) or base64 data (3MB) |
| Delete a media item |
| List connected social accounts |
| Published posts with per-platform metrics |
| Per-platform delivery results (success/error) |
| List webhook subscriptions |
| Subscribe to events |
| Unsubscribe |
For most users, the HTTP MCP server at https://viralnote.app/api/mcp/mcp is simpler than installing this stdio package — see https://viralnote.app/developers/mcp for the HTTP config snippet. Use this stdio package when your MCP client doesn't support HTTP transport.
The underlying REST endpoints and request/response shapes are documented at viralnote.app/developers/docs.
Example agent prompts
"Show me my last 5 scheduled posts." Tool:
list_postswith{ status: "scheduled", limit: 5 }.
"Schedule this caption to Instagram for tomorrow at 9am, attaching the photo I uploaded yesterday." Tools:
list_media→ find item →create_postwith{ platforms: ["instagram"], caption, libraryItemId, scheduledFor, status: "scheduled" }.
"Pull this Dropbox link into my library, then publish it to X immediately." Tools:
import_media→create_post(draft) →publish_post.
Development
git clone https://github.com/viralnote/mcp-server
cd mcp-server
npm install
npm run build
VIRALNOTE_API_KEY=vnd_... npm startFor local iteration without rebuilding:
VIRALNOTE_API_KEY=vnd_... npm run devLicense
MIT — see LICENSE. Pull requests welcome.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/viralnote/mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server