MISSINdevelopersLog in

MCP

Connect Claude

Connect Claude Code, or any MCP client that sends a Bearer header, to your MISSIN workspace with a secret API key, then manage partners and captures.

MISSIN runs a hosted MCP server at https://api.missin.co.uk/mcp. An AI assistant connects with a secret API key and works inside your workspace, at that key's access level and no higher.

Create a key

  1. Open the Developers panel.

  2. Create a secret key. Pick Write to let the assistant create partners and start captures, or Read to let it look only.

The key is shown once. Copy it now, and keep it out of chats and repositories.

Add the server

The .mcpb extension is one file and needs no config editing.

  1. Download missin.mcpb.
  2. Open the file, or drag it into Claude Desktop.
  3. Paste your secret key when Claude Desktop asks for it. It is stored as a secret.

The extension runs the same tools as the hosted server, on your computer, and calls the MISSIN API with your key. It has one more setting, Toolsets, with core as the default.

Let an agent install it

Paste this prompt into a coding agent (Claude Code, Codex, Cursor) to have it add the server and prove it works. It is the same prompt the merchant guide gives. The agent checks the endpoint without a key, asks for the key without echoing it, adds the server at user scope with the client's own command, and calls whoami.

Install with an AI assistant

Copy this prompt into the AI assistant you're using.

Check what the key can do

Ask the assistant "which workspace are you connected to, and what can you change?". It calls whoami, a tool every key has, which answers with the workspace, the key's name and its access level, and the display name of the person who created it. It also lists the toolsets and actions the key can use at its level. The answer shows two levels: the one the key was created with, and the one it acts with now, which is capped by its creator's current role. Use the second.

Ask for something

Make a partner for @test11 on Instagram and TikTok, pull their posts and add them to my spring campaign.

The assistant works through it with the task tools, and stops to ask when it needs you:

  1. It calls save_partner with both handles, so one partner holds the Instagram and TikTok accounts.
  2. It calls quote_capture and tells you the credits and the price. Nothing is spent yet.
  3. After your yes, it calls start_capture with the price you approved, and save_campaign or assign_posts_to_campaign files the posts under your spring campaign.
  4. Capture runs in the background. It checks with get_capture_status and tells you when posts arrive.

If two campaigns match "spring", or a handle already belongs to more than one partner, the result has kind needs_choice and lists the candidates. That is a question, not an error: the assistant asks you which one you meant, then calls again with that record's id. It never guesses.

Access levels

A tool above the key's level is not listed, and a call to it by name is refused with 403 and insufficient_scope.

LevelWhat the assistant can do
ReadLook up campaigns, partners, posts, forms, orders and more. Get a capture quote.
WriteAlso create and change partners, campaigns, posts, discounts and forms, and start captures.
AdminAlso change connections, integration settings, the brand and workspace settings.

A key acts as the member who created it, and its level is capped by that member's role. whoami reports both levels.

Load more tools

The core toolset loads by default: the task tools plus listing and reading the main records. Add toolsets to the URL, for example https://api.missin.co.uk/mcp?toolsets=forms,waitlists, or toolsets=all for everything. The assistant can call list_toolsets to see what exists. Every tool is on the tool registry, and every operation behind them is in the API reference.

Limits

  • Rate. Each key may make 600 requests a minute unless MISSIN set another limit; over it the server answers 429 with rate_limited. Requests the server refuses are also counted per IP address, at 200 a minute; past that the server answers 429 with RATE_LIMITED.
  • Size and time. A request body is capped at 256 KB, and a request that runs longer than 30 seconds is answered with 504.
  • Check before you retry. A timeout does not cancel work already running, so a write may still complete after the 504. List or get the record before you repeat a create.

Troubleshooting

  • 401: the key is missing, revoked or expired, or you sent a login token instead of a key.
  • 403 with secret_key_required: you used a publishable key. Use a secret key.
  • 403 with insufficient_scope: the tool needs a higher access level. The WWW-Authenticate header carries the full sentence, for example save_partner needs a Write key; this key is Read. Create a key at the level the job needs, or ask whoami what this one allows.
  • 400 naming a toolset: the toolsets value is not one of the toolset names. Call list_toolsets.
  • Posts you already had did not move: posts the workspace already held keep their campaign. Ask the assistant to file them with assign_posts_to_campaign.
  • 403 with no code, and your client sends an Origin header: the server refuses any request that carries an Origin header unless that origin is on the server's own allowlist. Agents and servers send none. Connect from a local MCP client or a server, not from a web page.
  • Claude.ai or Claude Desktop connector does not authenticate: check that the header name is authorization and the value starts with Bearer , and that the key is a secret key. If your plan has no Request headers field, use the extension or mcp-remote.

Sources

Anthropic's own docs for adding an unlisted custom connector, connector authentication and Claude Code MCP servers, and the mcp-remote README.

For AI agents: a markdown index of this site is at /llms.txt, and every page is available as markdown by adding .md to its URL.