ViralNote

io.github.viralnotePublished by GitHub account viralnotev0.2.4Updated Oct 24, 2026

Schedule, publish, and analyze social posts on TikTok, Instagram, YouTube, X, Threads, LinkedIn.

Overview

AI-generated overview

ViralNote MCP server lets an assistant schedule, publish and analyze social media posts across platforms like X, Instagram, TikTok, LinkedIn and YouTube.

What you can do
  • List, read, create, update, delete and publish posts, including drafts and scheduled posts
  • List, import by URL or base64, and delete media library items
  • List connected social accounts
  • Read analytics and per-platform delivery results for published posts
  • List, create and delete webhook subscriptions
When to use it
Useful when you want an assistant to draft, schedule or publish social content and check how posts performed, without writing API glue code. It fits marketing and content workflows that span several social platforms.
Requirements
Either the hosted HTTP endpoint with OAuth sign-in, or the local npm package run via npx or a global install (Node.js). A ViralNote account and an API key in VIRALNOTE_API_KEY (or an Authorization bearer header) with scopes such as posts:read and posts:write; webhooks:* if managing webhooks. Network access to the ViralNote API.
Before you install
The API key is a secret granting access to your social accounts; keep it out of shared configs. Tools can create, update, publish and delete posts and media, and create or remove webhooks, so changes affect live social accounts. The README advises keeping automatic approval off and verifying with a read first. Media imported by URL is fetched by ViralNote.

Installation

In SourceWeft

  1. Open ViralNote in the dashboard and add it to a workspace.
  2. Connect the required credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.viralnote%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config. The client completes OAuth sign-in on first connect.

{
  "mcpServers": {
    "viralnote": {
      "type": "http",
      "url": "https://dashboard.viralnote.app/api/mcp/mcp"
    }
  }
}

README

@viralnote/mcp-server

[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

Gemini CLI

Install the extension from this repository:

sh
gemini extensions install https://github.com/viralnote/mcp-server

Restart Gemini CLI, then run /mcp auth viralnote to sign in to your ViralNote account and authorize the connection. The extension uses the hosted HTTP server with OAuth; no API key or local server build is required. Start with a read such as "List my connected social accounts."

Cline

In Cline's MCP Servers screen, add a remote Streamable HTTP server named viralnote at https://dashboard.viralnote.app/api/mcp/mcp, then complete the OAuth sign-in. For the Cline CLI, run:

sh
cline mcp install viralnote --transport http https://dashboard.viralnote.app/api/mcp/mcp

The wizard asks for authentication details before saving. See llms-install.md for the setup walkthrough and API-key alternative. Keep automatic approval disabled and verify the connection with a read before making changes.

Claude Desktop / Claude Code / Cursor

Add to your MCP config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS, similar on other platforms):

json
{  "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:

  1. Open Cursor and go to Settings → Plugins
  2. Search for "ViralNote" in the Marketplace
  3. Click Install
  4. In Plugins → Configure, set your VIRALNOTE_API_KEY
  5. Get 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

bash
npm install -g @viralnote/mcp-server

Then reference viralnote-mcp directly in your MCP config:

json
{  "mcpServers": {    "viralnote": {      "command": "viralnote-mcp",      "env": { "VIRALNOTE_API_KEY": "vnd_..." }    }  }}

Configuration

Env varRequiredDefaultNotes
VIRALNOTE_API_KEYyes—Generate at viralnote.app/developers/auth. Grant posts:read, posts:write, plus webhooks:* if your agent should manage webhooks.
VIRALNOTE_API_BASEnohttps://viralnote.app/api/v1Override for staging/self-hosted instances.

Tools exposed

ToolPurpose
list_postsList posts (filter by status/platform, paginated)
get_postRead one post including per-platform publish results
create_postCreate a draft (is_draft: true) or scheduled post
update_postUpdate a draft or scheduled post
delete_postDelete (cancels if scheduled)
publish_postPublish a draft now
list_mediaList media library items
import_mediaImport by URL (200MB) or base64 data (3MB)
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 events
delete_webhookUnsubscribe

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_posts with { 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_post with { 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

bash
git clone https://github.com/viralnote/mcp-servercd mcp-servernpm installnpm run buildVIRALNOTE_API_KEY=vnd_... npm start

For local iteration without rebuilding:

bash
VIRALNOTE_API_KEY=vnd_... npm run dev

License

MIT — see LICENSE. Pull requests welcome.

Source: README.md at commit 700b4d4

Tools

0
This server asks you to sign in, so SourceWeft could not read its tools without an account and has not indexed them. What a connected account sees can depend on that account and its permissions.

Version history

1
  1. v0.2.4LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts