MCP in Claude: connectors, Claude Desktop and Claude Code
The short version: in claude.ai and Claude Desktop a remote MCP server is added as a custom connector — paste a URL, sign in, done. In Claude Code it is a single claude mcp add --transport http, or an entry in .mcp.json. Both paths are below, step by step, with live server URLs you can connect right now.
If you have not yet worked out what MCP is and how a remote server differs from a local one, start with the overview of MCP servers — five minutes of reading.
Where MCP is connected in Claude
| Where | Which servers | How to add | Sign-in |
|---|---|---|---|
| claude.ai, Claude Desktop, the mobile apps | Remote (by URL) | Settings → Connectors → Add custom connector | OAuth |
| Claude Code (terminal, VS Code, JetBrains) | Remote and local | claude mcp add, or a .mcp.json file | OAuth via /mcp, or a key in a header |
Path 1. A connector in claude.ai and Claude Desktop
A connector is set up once in your Claude account and then works everywhere you are signed in: in the browser, in Desktop and on your phone.
- Open Settings → Connectors.
- Click Add custom connector, give it a name and paste the server URL — for example
https://twelver.app/api/mcp/v1/web-search. - Click Connect: a sign-in window opens. Sign in to your Twelver account and grant access.
- In a new chat, open the tools menu and check the connector is on. Ask it something like "search the web for what Claude shipped this week" — Claude will call
web-search.
How many connectors your plan allows
On the free Claude plan you can add one custom connector; Pro and Max allow more. On Team and Enterprise the organisation owner adds connectors and members then connect to them themselves.
At Twelver each set of tools is a separate server, so on free Claude pick the one you need most: search, images or video.
One detail explains almost every "it won't connect" complaint: the connection to the server is made by Anthropic's servers, not by your computer. So a connector can only reach servers that are reachable from the internet — a server on localhost cannot be added this way, and for that you want Claude Code or Claude Desktop with a local configuration.
Path 2. Claude Code: claude mcp add
In Claude Code a remote server is one command. The --transport http flag is required — without it the command waits for a local process.
claude mcp add --transport http twelver-web-search https://twelver.app/api/mcp/v1/web-search
claude mcp add --transport http twelver-image https://twelver.app/api/mcp/v1/image-generationThen run claude and type /mcp: new servers are marked as needing sign-in. Pick the server, sign in through the browser, and the tools appear in the session. That same /mcp list shows which servers are connected and how many tools each one has.
Where the setting is stored: three scopes
| Flag | Where it applies | When to use it |
|---|---|---|
--scope local | Just you, just this project (the default) | Trying a server out |
--scope user | You, in every project | Search and generation, which you want everywhere |
--scope project | Everyone who clones the repo: written to .mcp.json | The team's shared toolset |
Signing in with a key instead of OAuth
OAuth is convenient, but it needs a browser and a registered account, and the token lives 7 days — after that you sign in again. For a headless server, for CI, or simply for "set it and forget it", a key in the Authorization header is easier. The button below issues one, no registration required:
A key for MCP
Get an sk-… key right here on the page
Pick any model series — MCP servers do not need it; all you need from the result is the API key. It is substituted into every config below.
Press it and get your base_url and API key.
No sign-up, no card.
Free. Your key appears right here.
terminalThe highlighted parts are stand-ins. The button above issues them in seconds, no sign-up.claude mcp add --transport http --scope user twelver-web-search https://twelver.app/api/mcp/v1/web-search \
--header "Authorization: Bearer sk-<your-key>"For a project-level .mcp.json, keep the key out of the file — it will end up in git. Claude Code expands environment variables inside that file, so the key can live in TWELVER_API_KEY:
{
"mcpServers": {
"twelver-web-search": {
"type": "http",
"url": "https://twelver.app/api/mcp/v1/web-search",
"headers": {
"Authorization": "Bearer ${TWELVER_API_KEY}"
}
}
}
}Slow tools: video generation and timeouts
Search answers in seconds; video generation takes minutes — the server holds the call open until the clip is ready. If Claude Code cuts the call short, raise the timeout for that server with the timeout field (in milliseconds), or for all of them with the MCP_TOOL_TIMEOUT variable:
{
"mcpServers": {
"twelver-video": {
"type": "http",
"url": "https://twelver.app/api/mcp/v1/seedance-video-generation",
"timeout": 600000
}
}
}What actually comes back from a generation call, and how to work with it, is covered in image and video generation in Claude.
Build your own set
Tick the tools you want — one connector URL per set appears below. The same URLs can be passed to claude mcp add for Claude Code.
No keys: paste the URL into your client and sign in — Claude, Cursor and any other OAuth client.
Open Claude → Settings → Connectors
Add custom connector → paste the URL
Sign in via OAuth — done
Build your server
Check the tools — URLs and config update themselves.
Connector URLs
Image Generation (Nano Banana)
https://twelver.ru/api/mcp/v1/image-generationVideo Generation (Seedance)
https://twelver.ru/api/mcp/v1/seedance-video-generationWeb Search
https://twelver.ru/api/mcp/v1/web-searchIf it does not work
| Symptom | Cause | What to do |
|---|---|---|
| The connector will not save in claude.ai | Your plan's connector limit | The free plan allows one; delete an old one or choose the set that matters most |
| /mcp marks the server as needing sign-in | OAuth has not been completed, or the token expired | Select the server in /mcp and sign in again |
| 401 when connecting with a key | The key was not substituted, or the header is missing the word Bearer | Check the format — Authorization: Bearer sk-… — and that the environment variable is set in the same shell |
| Video generation is cut off | The client's timeout is shorter than the generation | Raise timeout in .mcp.json, or MCP_TOOL_TIMEOUT |
| A warning about a large tool response | A page from web-crawl is longer than the output limit | Raise MAX_MCP_OUTPUT_TOKENS, or ask for one specific section to be read |
Not only working in Claude? The same scheme for Cursor, Codex and OpenCode.
Frequently asked questions
How do I connect MCP to Claude?
claude mcp add --transport http name url, then the /mcp command to sign in. Local servers (the kind launched by a command) can only be connected in Claude Code and Claude Desktop, through a config file.What are connectors in Claude?
How many connectors can I add on free Claude?
How do I add an MCP server to Claude Code?
claude mcp add --transport http name https://server-url. The --scope user flag makes the server available in every project; --scope project writes it into .mcp.json for the whole team. To sign in with a key, add --header "Authorization: Bearer your-key".Why does Claude Code cut off a long tool call?
timeout field in milliseconds on that server in .mcp.json, or the MCP_TOOL_TIMEOUT environment variable.Can I swap the model in Claude Code for another one through MCP?
Try it yourself
Everything in this guide runs inside Twelver
One chat for text, images, video, music and voice — no separate services or subscriptions.
Open Twelver chat