Connecting Viraly to Claude, ChatGPT, and Cursor (MCP)

Updated April 25, 2026

Viraly’s Model Context Protocol (MCP) server lets you use Viraly directly inside Claude Desktop, Claude.ai, ChatGPT (Apps & Connectors), Cursor, and any other MCP-compatible AI assistant. Schedule posts, generate captions, manage media, and check analytics — by chatting with your AI.

MCP is available on every plan, including Free. Plan limits are enforced exactly as they are in the web app — your AI cannot bypass them.

What is MCP?

Model Context Protocol is an open standard from Anthropic that lets AI assistants securely call tools in external services. Viraly’s MCP server exposes 18 high-level tools — from schedule_post to generate_image — that the AI can invoke on your behalf.

Connecting Claude Desktop

Open Claude Desktop’s settings, find the Connectors section (or edit claude_desktop_config.json directly), and add:

{
  "mcpServers": {
    "viraly": {
      "url": "https://mcp.viraly.io/mcp"
    }
  }
}

Restart Claude Desktop. The first time you use a Viraly tool, Claude will open a browser window to app.viraly.io/oauth/authorize where you select the workspace to grant access to and click Allow.

Connecting ChatGPT

  • Open ChatGPT > Settings > Apps & Connectors.
  • Click Add Connector.
  • URL: https://mcp.viraly.io/mcp
  • Auth: select OAuth. ChatGPT will redirect you to Viraly to grant access.

Connecting Cursor

Add the following to .cursor/mcp.json in your project (or your global Cursor MCP config):

{
  "mcpServers": {
    "viraly": {
      "url": "https://mcp.viraly.io/mcp"
    }
  }
}

Local install (stdio)

For power users running the MCP server locally:

# Complete the OAuth flow once, then export the access token:
export VIRALY_ACCESS_TOKEN=vat_yourtoken
npx @viraly/mcp

Available tools

Scheduling and post management

  • schedule_post — schedule a post to a specific channel (specific time or queue).
  • update_post — change caption, schedule, attachments, or category.
  • cancel_post — delete a scheduled post or draft.
  • create_draft — save a draft for later.
  • list_pending_posts, list_published_posts, list_drafts, get_post.

Channels and workspace

  • list_channels — connected social profiles.
  • get_workspace_info — plan tier, status, name.
  • list_categories, list_hashtag_groups.

AI content

  • generate_caption — AI-written captions, tone-matched per platform.
  • generate_image — DALL-E images, plan-gated and quota-checked.
  • upload_media — pull a public URL into your media library.

Analytics

  • get_post_analytics — engagement metrics for a published post.
  • get_channel_analytics — followers, engagement, period-over-period change.
  • list_media — browse the media library.

Security

  • OAuth 2.1 + PKCE. Industry-standard authentication. Tokens are short-lived (1 hour) and refresh automatically.
  • Workspace-scoped. Each authorization grants access to one workspace. Granting access to a second workspace requires a separate OAuth flow.
  • Plan limits enforced. The MCP server cannot bypass posts-per-month, channel limits, AI image quota, or any other plan-level cap.
  • Revocable any time. Settings > Connected Apps shows every active connection and lets you revoke them with one click.

Troubleshooting

“Your Viraly access has expired or been revoked”

Reconnect the MCP server in your AI client. The original OAuth grant has been revoked or the refresh token expired (90-day window).

“Plan limit reached”

You’ve hit your monthly cap on the relevant resource (posts, AI images, etc.). Upgrade at viraly.io/pricing or wait for the cap to reset on the 1st of the month.

The AI doesn’t see Viraly tools

  • Verify the URL exactly matches https://mcp.viraly.io/mcp.
  • Restart the AI client after editing the config file.
  • Confirm the OAuth flow completed (you should see a Viraly entry in Settings > Connected Apps).

For anything else, contact support@viraly.io.