viralnote-mcp
OfficialThe viralnote-mcp server provides an MCP interface to the ViralNote social media management API, enabling management of posts, media, accounts, analytics, and webhooks across 10+ platforms (X, Instagram, Facebook, TikTok, LinkedIn, YouTube, Pinterest, Bluesky, Threads, and Reddit).
Post Management: Create, read, update, delete, and publish posts — including drafts and scheduled posts with captions, media, and target platforms. Filter by status (draft, scheduled, publishing, published, failed) or platform, with pagination.
Media Library: List media (filterable by type and folder), import files via HTTPS URL (up to 200MB) or base64 data (up to 3MB), and delete media items.
Social Accounts: List all connected social media accounts.
Analytics & Results: Retrieve per-platform engagement metrics (views, likes, comments, shares) for published posts, and view per-platform delivery results (success/failure) for published or failed posts.
Webhooks: Create, list, and delete webhook subscriptions to receive event notifications (e.g., post.published, post.failed) at a custom URL.
Allows scheduling and publishing posts, managing media, and reading analytics on Bluesky.
Allows scheduling and publishing posts, managing media, and reading analytics on Facebook.
Allows scheduling and publishing posts, managing media, and reading analytics on Instagram.
Allows scheduling and publishing posts, managing media, and reading analytics on Pinterest.
Allows scheduling and publishing posts, managing media, and reading analytics on Reddit.
Allows scheduling and publishing posts, managing media, and reading analytics on Threads.
Allows scheduling and publishing posts, managing media, and reading analytics on TikTok.
Allows scheduling and publishing posts, managing media, and reading analytics on YouTube.
@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.
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_..." }
}
}
}Related MCP server: @posteverywhere/mcp
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.
Maintenance
Latest Blog Posts
- 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