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

Updated April 26, 2026

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

First-class MCP support — 32+ tools, full CRUD. Not a read-only sidekick: your AI can create, read, update, and delete across posts, channels, media, analytics, and bio links, bound by the same OAuth scopes and plan limits as the web app.

MCP is available on every plan, including Free. Plan limits (posts per month, channel count, AI image quota, etc.) are enforced exactly the way 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 32 high-level tools — from schedule_post to generate_image — that the AI can invoke on your behalf.

What you can ask your AI to do

Once connected, you can drive Viraly in plain language. A few representative prompts:

  • “Draft three Instagram captions about our spring sale, then schedule the best one for Friday at 9am.”
  • “What were my top-performing LinkedIn posts last month by reach? Export them to CSV.”
  • “Generate a hero image for my next YouTube short and save it to the media library.”
  • “Reschedule everything in the Promo queue from this week to next week.”
  • “Show me how many subscribers signed up to my bio-link page today.”

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 opens a browser window where you sign in to Viraly, select a workspace, and click Allow Access.

Connecting Claude.ai (web)

In Claude.ai, open Settings → Custom Connectors and add https://mcp.viraly.io/mcp. Follow the OAuth prompt. See Anthropic’s connector setup guide for the latest exact wording.

Connecting ChatGPT

  • Open ChatGPT → SettingsConnectors.
  • Click Add new.
  • URL: https://mcp.viraly.io/mcp
  • Auth: OAuth. ChatGPT will redirect you to Viraly to grant access.

Connecting Cursor

Add the following to ~/.cursor/mcp.json (or your project’s .cursor/mcp.json):

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

Connecting Claude Code (CLI)

One command:

claude mcp add viraly https://mcp.viraly.io/mcp -t http

The CLI will open your browser for the OAuth flow on first use.

Custom agents (Anthropic SDK, OpenAI SDK, etc.)

Any MCP-compliant client over Streamable HTTP works. Point it at https://mcp.viraly.io/mcp and complete the OAuth 2.1 flow (PKCE + Dynamic Client Registration are supported per RFC 7591). The discovery document is at https://mcp.viraly.io/.well-known/oauth-protected-resource.

Available tools (32 total)

Your AI gets the following capabilities, grouped by what they do:

Workspace and discovery

  • get_workspace_info — workspace name, plan tier, status.
  • list_social_sets — multi-brand social-set buckets.
  • list_channels — every connected social account.
  • list_categories — content categories / queues.
  • list_hashtag_groups — saved hashtag bundles.
  • list_timezones — IANA timezone IDs Viraly accepts.

Posts — reading

  • list_posts — cross-status, paginated, filterable. Recommended.
  • list_pending_posts — only future-scheduled posts.
  • list_published_posts — only already-published posts.
  • list_drafts — only saved drafts.
  • get_post — full details for a single post.

Posts — writing

  • schedule_post — schedule to a single channel (specific time or next queue slot).
  • create_draft — save without scheduling.
  • update_post — edit caption, schedule, attachments, category.
  • reschedule_post — time-only edit, lighter than update_post.
  • publish_post_now — bypass the schedule, publish immediately.
  • cancel_post — cancel a scheduled post or delete a draft.

Media

  • list_media — browse a media-library collection.
  • upload_media — pull a remote URL into the media library.

Analytics

  • get_post_analytics — metrics for a single post.
  • get_post_insights — per-post analytics for a channel, sortable by metric.
  • get_channel_analytics — high-level channel post count.
  • trigger_analytics_sync — refresh metrics from the platform on demand.
  • export_analytics_csv — base64 CSV export for a channel + date range.

AI generation

  • generate_caption — generate or transform a caption (write-new, rephrase, shorten, expand, casualize, formalize).
  • generate_hashtags — generate a relevant hashtag set.
  • generate_image — generate an image (DALL-E) and save to media library. HD requires Business+.

Bio links

  • list_biolinks — bio-link pages you own.
  • list_biolink_subscribers — newsletter signups for a bio-link page.

Utilities and management

  • get_url_preview — Open Graph fetch for link cards.
  • update_social_set_timezone — change a social set’s default timezone.
  • disconnect_channel — destructive; requires explicit confirmation.

Permissions and scopes

When you first connect, your AI client asks for a set of OAuth scopes. You can grant a subset and the assistant will only get scope-error responses for tools that need a scope you withheld.

  • posts:read — list and inspect posts.
  • posts:write — schedule, create, update, publish, cancel; AI generation.
  • channels:read / channels:write — list channels and disconnect them.
  • analytics:read — analytics, insights, CSV export.
  • media:read / media:write — read or upload media.
  • social_sets:read / social_sets:write — list and update social sets.
  • categories:read, hashtags:read, biolinks:read, subscribers:read, workspace:read — read-only access.

Security

  • OAuth 2.1 + PKCE. Industry-standard authentication. Access tokens are short-lived and refresh automatically.
  • Workspace-scoped. Each authorization grants access to one workspace at a time.
  • Plan limits enforced. The MCP server cannot bypass posts-per-month, channel limits, AI image quota, or any other plan cap.
  • Revocable any time. Settings → Connected Apps in the Viraly web app lists every active connection; click revoke to cut off any client.
  • Open source. The server source is at github.com/viraly-io/viraly-mcp-server (MIT licensed) for security review or self-hosting.

Troubleshooting

Your Viraly access has expired or been revoked. Reconnect the MCP server in your AI client — most clients do this automatically the next time you invoke a tool.

Plan limit reached. You’ve hit a quota gate (e.g. AI image generation on the Free plan, or your monthly post cap). Upgrade at viraly.io/pricing or pick a tool that doesn’t require the gated capability.

Tool returns an “additional permission” / scope error. The original consent didn’t grant the scope this tool needs. Open Settings → Connected Apps, revoke, then re-add the connector and grant the missing scope.

The AI doesn’t see Viraly tools. Verify the URL exactly matches https://mcp.viraly.io/mcp, restart your AI client, and confirm the OAuth flow completed (you should see “viraly” listed under Connected Apps).

For anything else, contact support@viraly.io.