The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Viral.app listing page.
Official viral.app plugins and install shortcuts for coding agents and chat apps. One install connects your agent to the viral.app MCP server: 50+ tools for social analytics, account and video tracking, tags and workflows, Creator Hub, and live TikTok/Instagram/YouTube/Facebook lookups, plus a usage skill that teaches the agent how to use them well.
The MCP server lives at https://viral.app/api/mcp (streamable HTTP, OAuth). You need a viral.app account with API access. Manage everything at viral.app/app/org/api/agents.
Every client signs in with OAuth in your browser. viral.app supports dynamic client registration, so you never paste a client ID, secret, or API key. During consent you pick one organization.
Chat apps: Claude.ai and Claude Desktop · ChatGPT · Grok · Other chat apps
Plugins (MCP server + skill): Claude Code · Codex CLI · GitHub Copilot CLI · VS Code · Cursor · Gemini CLI · Qwen Code · Kiro · Devin · Factory Droid · Grok Build
MCP server only: Augment · JetBrains Junie · OpenCode · Amp · Goose · Zed · Warp · Mistral Vibe · Any other MCP client
Add a custom connector with this URL, and leave client ID and secret empty:
Open the connector settings or go to Settings, Connectors, Add custom connector.
Install the viral.app plugin for ChatGPT.
On grok.com, open Connectors, choose New Connector, then Custom, and paste https://viral.app/api/mcp.
For Grok Bot, install viral.app from its Marketplace once it is listed there.
These accept a custom remote MCP URL with OAuth. Use https://viral.app/api/mcp:
viralapp.Or interactively: /plugin marketplace add https://github.com/fmd-labs/viral-app-agents, then /plugin install viral-app. Afterwards run /mcp, pick viral_app, and authenticate in the browser. The fmd-labs/viral-app-agents shorthand also works if you have GitHub SSH access.
Or interactively: /plugins in the Codex TUI. Start a new session afterwards, then authenticate with codex mcp login viral_app.
Requires Codex CLI 0.147 or newer. Older versions fail the OAuth login with an "Authorization server response missing required issuer" error (a Codex bug fixed in 0.147.0); update with npm install -g @openai/codex@latest and retry.
If you only want the MCP server without the plugin:
Install the plugin (MCP server and skill) through agent plugins. Add the marketplace to your user settings:
Then search @agentPlugins in the Extensions view and install viral-app.
For the MCP server alone:
Or add to .vscode/mcp.json:
Or add to .cursor/mcp.json:
This repo also ships a Cursor plugin manifest (.cursor-plugin/) that bundles the MCP server and skill for the Cursor Marketplace.
Restart Gemini CLI, then run /mcp auth viral_app to sign in.
You get the MCP server and the skill; check the connection with /mcp.
In the Powers panel choose Add Custom Power, then Import power from GitHub, and enter:
Sign in to Devin first (devin auth login) if you have not, then run devin mcp login viral_app to connect viral.app.
Droid names the marketplace after the repository, hence @viral-app-agents. Run /mcp to finish the browser sign-in.
The CLI refuses to install a plugin until you pass --trust.
These clients get the MCP server without the bundled skill.
In the IDE extension: Settings, MCP, Add remote MCP, connection type HTTP.
Add to .junie/mcp/mcp.json in your project (or ~/.junie/mcp/mcp.json), or use Settings, Tools, Junie, MCP Settings:
In the Junie CLI, run /mcp, select viral_app, and choose Authorize.
Add to opencode.json:
Then run opencode mcp auth viral_app.
Amp opens the browser sign-in on its next start.
Open this link to add the extension to Goose Desktop (GitHub does not render goose:// links, so copy it into your browser):
In the CLI: goose configure, Add Extension, Remote Extension (Streamable HTTP), URL https://viral.app/api/mcp.
To add the usage skill as well, run goose plugin install https://github.com/fmd-labs/viral-app-agents.git. Goose loads it as viral-app:viral-app-mcp.
Add to your Zed settings, or use Settings, AI, MCP Servers, Add Server, Add Remote Server:
Zed prompts you to sign in.
Settings, Agents, MCP servers, Add, then paste:
Point the client at https://viral.app/api/mcp with streamable HTTP and OAuth. The server publishes standard OAuth discovery metadata and supports dynamic client registration, so no pre-shared credentials are needed. Its official MCP Registry name is io.github.fmd-labs/viral-app.
| Path | Purpose |
|---|---|
.claude-plugin/marketplace.json | Claude-format marketplace catalog (Claude Code, Copilot CLI, VS Code, Factory, Grok Build) |
.agents/plugins/marketplace.json | Codex marketplace catalog |
.cursor-plugin/marketplace.json | Cursor marketplace catalog (Cursor, Grok Bot) |
gemini-extension.json | Gemini CLI extension manifest (Gemini CLI, Qwen Code) |
plugin.json | Agent Plugins 1.0 manifest for the repository root (Kiro, Mistral Vibe, and Copilot CLI or Devin when the repository root is installed directly; Goose imports only the skill) |
mcp.json | Agent Plugins 1.0 MCP config for the repository root (read with plugin.json) |
skills/viral-app-mcp/SKILL.md | Copy of the plugin skill for the root-level packages (Gemini CLI, Agent Plugins). Keep it identical to plugins/viral-app/skills/viral-app-mcp/SKILL.md |
server.json | Official MCP Registry entry io.github.fmd-labs/viral-app |
.github/workflows/publish-mcp-registry.yml | Validates server.json on pull requests and publishes it to the MCP Registry from main via GitHub OIDC |
plugins/viral-app/.claude-plugin/plugin.json | Claude-format plugin manifest with the MCP server inline (Claude Code, Copilot CLI, VS Code, Devin, Grok Build) |
plugins/viral-app/.codex-plugin/plugin.json | Codex plugin manifest |
plugins/viral-app/.cursor-plugin/plugin.json | Cursor plugin manifest |
plugins/viral-app/.mcp.json | Claude-format MCP config (Codex, Factory, Grok Build; Claude Code merges it with the inline entry) |
plugins/viral-app/skills/viral-app-mcp/SKILL.md | The viral-app-mcp usage skill (canonical copy) |
plugins/viral-app/assets/ | Plugin logo (logo.svg, logo.png at 400x400) |
When releasing, bump version together in plugin.json, gemini-extension.json, plugins/viral-app/.claude-plugin/plugin.json, plugins/viral-app/.codex-plugin/plugin.json, plugins/viral-app/.cursor-plugin/plugin.json, and the plugin entries in .claude-plugin/marketplace.json and .agents/plugins/marketplace.json (grep -rn '"version"' --include=*.json . lists them). Check that the two skill copies still match with diff -r skills/viral-app-mcp plugins/viral-app/skills/viral-app-mcp. server.json has its own version; the MCP Registry rejects a version it has already published, so bump it with every change to that file.