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.