MCP Access
Use SonetHub from Claude Code, Cursor, n8n, or any client that speaks the Model Context Protocol.
What it is
The Model Context Protocol (MCP) is a standard way for AI clients — Claude Code, Claude Desktop, Cursor, ChatGPT in dev mode, n8n, Make — to discover and call tools exposed by external services. SonetHub ships an MCP server at https://mcp.sonethub.com/mcp so you can drive your workspace from whichever runtime you already use.
Your AI client lists SonetHub's tools, you describe what you want, the client calls the right tool with the right arguments. Same agent surface as the in-product chat — same security, same cost tracking, same role-gated actions.
Setup
1. Create an API key
Go to Settings → MCP Access in the SonetHub app and click Create your first key. Give it a name (your laptop, an n8n workflow, a CI integration — whatever helps you recognize it later). The key is shown exactly once. Copy it.
API keys begin with snh_pat_. They inherit the role of the user who created them on every request, scoped to the workspace that was active at creation time.
2. Connect from your client
Claude Code:
claude mcp add --transport http sonethub https://mcp.sonethub.com/mcp \
--header "Authorization: Bearer snh_pat_..."
Then inside Claude Code, type /mcp to confirm the connection and see the available tools.
Cursor / Claude Desktop (recommended — edit the config file):
Add to your MCP servers config (Claude Desktop: ~/Library/Application Support/Claude/claude_desktop_config.json on macOS; Cursor: Settings → MCP):
{
"mcpServers": {
"sonethub": {
"url": "https://mcp.sonethub.com/mcp",
"headers": {
"Authorization": "Bearer snh_pat_..."
}
}
}
}
Restart the app after editing.
Claude Desktop (UI custom-connector dialog):
The Settings → Connectors → Add custom connector dialog has no field for HTTP headers — only a URL. For that flow, pass your key as a query parameter:
https://mcp.sonethub.com/mcp?api_key=snh_pat_...
Trade-off: query-string keys can land in upstream access logs and browser history. Prefer the config-file form above when you can. If you suspect a URL-form key was exposed (screen share, log paste), revoke it from Settings and mint a new one.
n8n:
Add an MCP node, set:
- URL:
https://mcp.sonethub.com/mcp - Transport: HTTP (Streamable)
- Header:
Authorization: Bearer snh_pat_...
3. Start using it
Once connected, ask your agent things like:
- "List my connected social accounts."
- "Schedule a LinkedIn post about our product launch for tomorrow at 9am Madrid time."
- "What's my best-performing TikTok this month?"
- "Read my Instagram DMs from the last week and flag anything important."
- "Build me an automation that DMs people who comment PRICE on my latest post."
Available tools
The MCP surface exposes 24 curated tools. Some highlights:
Publishing
publish_post,schedule_post,save_draft,edit_post,delete_postpublish_story,publish_reel,publish_article,publish_document(format-specific)
Content generation
generate_social_post,adapt_contentgenerate_image,generate_video
Inbox + engagement
read_inbox,reply_messageread_mentions,reply_comment
Analytics
query_analytics,fetch_account_posts,suggest_posting_time
Automation
manage_automations,describe_automation
Brand memory
manage_memories
Account discovery
list_connected_accounts
Internal tools, UI-coupled tools, and destructive actions like edit_published_post and delete_comment aren't exposed via MCP — use the SonetHub web app for those.
Limits
- Per key: up to 100 tool calls per minute. Catches a single key that's been misused.
- Per workspace per day: up to 5,000 read calls and 1,000 write calls. Resets at midnight UTC.
- Per tool: the same plan limits that apply on the web (daily publish caps, monthly credits, video concurrency) apply here. The MCP route doesn't bypass any of them.
When you hit a limit you'll get a structured error explaining which one + when to retry. The agent reading the response will surface it back to you in plain English.
Security
- Keys are stored as SHA-256 hashes; we never log the raw key.
- Each request runs through the workspace + role check the rest of the product uses. A
viewerrole key only sees read tools. - Revoking a key from Settings disables it within seconds — all in-flight requests using it get a 401 on the next call.
- The MCP route never forwards your bearer token to upstream platforms (Instagram, X, etc.). Calls to those use the OAuth tokens your workspace already has, encrypted at rest.
Plans
MCP access is available on every paid plan and on Free. Free-plan limits on the tools themselves still apply: a Free workspace's generate_video call returns an "upgrade required" message before any third-party API is hit, just like the in-product chat.
Revoking a key
Go to Settings → MCP Access, find the key, click Revoke, confirm. Next request bearing that key gets a 401.
If you suspect a key was leaked: revoke it immediately, then create a new one and reconfigure your client.
Troubleshooting
"Unauthorized" / "Invalid or revoked MCP API key" The key was revoked, mistyped, or belongs to a workspace you no longer have access to. Check the key prefix in Settings against the one in your client config.
"Tool 'X' is not available via MCP" The tool you tried to call isn't in the curated MCP surface. Use the SonetHub web app or chat for that action.
Rate-limit errors during normal use Open Settings → MCP Access and check if you have any orphaned keys from previous setups still being polled — revoke them. If the legitimate workload genuinely hits the limit, contact support.