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_post
  • publish_story, publish_reel, publish_article, publish_document (format-specific)

Content generation

  • generate_social_post, adapt_content
  • generate_image, generate_video

Inbox + engagement

  • read_inbox, reply_message
  • read_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 viewer role 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.