Paste one URL and sign in
Connecting a megamcp connector is one address and one approval click. There is no token to paste, no client ID to register, and nothing to install. Below are the exact steps for Claude, Claude Code, and ChatGPT, plus honest answers for the handful of things that actually go wrong.
Start with your connector URL
Every connector has one address. It is the only thing you paste into any client, and it is the only thing you need before you begin.
https://mcp.megamcp.ai/c/{connectionId}
Example:
https://mcp.megamcp.ai/c/conn_a1b2c3Find yours in the dashboard: open your connector and look for the Connector URL row on the Overview tab, with a copy button beside it. In Team mode that row is the admin connection, and each teammate has a personal URL on the Members tab.
Signing in is the default
Older instructions for this product told you to paste a bearer token. Ignore them. Every supported client now signs in the way a normal app does, and the connector handles registration itself.
You have to be signed in to megamcp in the same browser, with the account that owns the connector. The approval page refuses anyone else without saying whether the connection exists, so a stray second account looks exactly like a broken link. Sign in first if you are connecting from a fresh browser.
There are two different sign-ins, and people miss the second one. The one on this page is your AI client signing in to megamcp. The other is megamcp signing in to your actual software, which you do once from the connector's Settings tab in the dashboard. If your software uses OAuth, the connector deploys with a placeholder and cannot reach a single live record until that second sign-in is done. It will authenticate perfectly and fail every call.
Connect in Claude
Works in the browser, the desktop app, and mobile, because the connector is added to your account rather than to a device. Add it once.
On Free, Pro, or Max
- Open Claude in a browser and go to Settings, then Connectors.
- Click Add custom connector.
- Paste your connector URL into the server URL field.
- Leave Advanced settings alone. The OAuth Client ID and Secret there are optional and megamcp does not need them. Leave the request-header fields empty too.
- Click Add, then Connect. A megamcp page opens asking you to approve access. Approve it and Claude returns to the connector list.
- In any chat, use the + button, choose Connectors, and switch your connector on for that conversation.
On Team or Enterprise
Only an Owner can add a custom connector, and adding it is a separate act from connecting to it. Every member signs in as themselves afterwards, which is what keeps a Team-mode connector honest about who did what.
- An Owner opens Admin settings, then Connectors, and clicks Add custom connector.
- The Owner pastes the connector URL and clicks Add. This does not sign anyone in. It only makes the connector available to the workspace.
- Each member then opens Settings, then Connectors, finds the entry labelled Custom, and clicks Connect to approve access for themselves.
- Members enable it per conversation from the + button, the same as everyone else.
Anthropic moves these labels around. Depending on your account you may find the same screens under Customize rather than Settings, or under Organization settings rather than Admin settings. The shape never changes: find Connectors, add a custom one, paste the URL, connect. Anthropic's own page is the authority on the exact wording.
Connect in Claude Code
Two commands and a sign-in. This is also the one client where a static token is a first-class option, which is what makes it the right place to test CI.
- Run the add command in a terminal with your own URL in place of the example below. Nothing is validated at this point. The command only writes configuration, so a bad URL stays quiet until step three.
- Decide where it lives. With no scope flag the connector is added for the current project only. Add
--scope userto make it available in every project on your machine, or--scope projectto share it with your team through a checked-in.mcp.json. - Start Claude Code and run
/mcp. Pick megamcp from the list to sign in, and your browser opens the megamcp approval page. You can also runclaude mcp login megamcpstraight from the shell. - Confirm it worked with
claude mcp list. A healthy connector readsConnected.Needs authenticationmeans step three is unfinished, andFailed to connectalmost always means the URL is wrong.
# Add it (this project only)
claude mcp add --transport http megamcp https://mcp.megamcp.ai/c/conn_a1b2c3
# Or make it available in every project on this machine
claude mcp add --transport http megamcp --scope user https://mcp.megamcp.ai/c/conn_a1b2c3
# Then, inside Claude Code:
/mcpTwo things that look like faults and are not. The approval page warns you that the token is going to an address on your own computer: that is expected for a command-line app and is exactly what it should say. And the name megamcp is free to use, but workspace, claude-in-chrome, computer-use, Claude Preview, and Claude Browser are reserved names Claude Code will reject. Adding the same name twice at the same scope also fails, so remove it first with claude mcp remove megamcp.
Connect in ChatGPT
ChatGPT needs developer mode switched on before a custom server can be added at all. Once it is on, the URL and the sign-in work the same as everywhere else.
- Turn on developer mode first, or no custom-server option appears at all. OpenAI documents this under Settings, then Security and login. It is a web-only feature on Pro, Plus, Business, Enterprise, and Education accounts. ChatGPT Free cannot add one.
- On Business or Enterprise, an admin may have to allow connected data for the workspace before the toggle does anything. If developer mode will not stay on, that is the reason.
- Create a developer-mode app for a remote MCP server and paste your connector URL as the server address.
- Choose OAuth as the authentication method. Do not choose no authentication. ChatGPT rejects a server quietly when the chosen auth mode does not match what the server actually does, and megamcp always requires authentication.
- Approve access on the megamcp page when ChatGPT sends you there. The connector then appears under the composer's developer-mode tool inside a conversation.
Use developer mode, not the deep-research or company-knowledge connector surfaces. Those expect a server exposing two specific tools named search and fetch. Your connector exposes tools named after your own software's operations instead, which is the entire point of it, so it belongs in developer mode. OpenAI's developer mode guide is the current authority on the settings path, which has moved more than once.
Said plainly: we have run Claude and Claude Code end to end against production, and we have not published a documented ChatGPT run. The steps above follow OpenAI's own documentation and the same open standard both Claude clients use, so we expect them to work. If ChatGPT gives you trouble, tell us rather than assuming you did it wrong, and we will get it working with you.
Tokens are the fallback
A connector ships without a static token, which is the safer default. Issue one only when something has to connect with no human present: a scheduled job, a CI step, a server-side agent.
Create one from the connector's Settings tab. It is shown exactly once, because only an encrypted form is kept, so put it in your secret manager the moment you see it. It travels as an Authorization: Bearer header on the same connector URL, and it can be rotated or removed later without rebuilding anything.
curl -X POST https://mcp.megamcp.ai/c/conn_a1b2c3 \
-H "Authorization: Bearer $MEGAMCP_TOKEN" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'# Claude Code, with a static token instead of signing in
claude mcp add --transport http megamcp https://mcp.megamcp.ai/c/conn_a1b2c3 \
--header "Authorization: Bearer YOUR_TOKEN"A token is a standing credential with no human attached, so treat it like one. Signing in is better wherever a person is present: it expires, it renews itself, it names the app that asked, and revoking it takes one click. Either way, everything runs under the same guardrails, confirmations, and rate ceilings.
If you write your own client
Skip this unless you are building against the connector in code. It is one default in the official client library that will otherwise cost you an afternoon.
The official MCP client library still defaults to the older protocol revision for backward compatibility. Your connector serves that revision happily, so setup, tool listing, reads, and dry runs all look fine. Writes that pause for human approval are the exception: the approval round trip does not exist in the older revision, so those calls are refused outright with a message about upgrading the client. It reads like a broken connector and it is a one-line client setting. Because it is a client-side default, it can only be fixed in your code.
const client = new Client(
{ name: "my-agent", version: "1.0.0" },
{
capabilities: { elicitation: {} },
// Without this, the client speaks the older revision and every
// approval-mode write is refused. Use "auto" to probe and fall back,
// or { pin: "2026-07-28" } to fail loudly instead.
versionNegotiation: { mode: "auto" },
},
);Your client also has to answer the approval request, not just negotiate the right revision: register an elicitation handler and decide how a human says yes. If nothing in your job needs approval-mode writes, the older revision is fine and you can ignore all of this.
When something does not work
These are the failures that actually happen, in roughly the order they happen. Almost all of them are the URL or the second sign-in.
- That connection is not available on this account
- You are signed in to megamcp as the wrong person, or in a browser where you are not signed in at all. The approval page needs the megamcp account that owns the connector, in the same browser. Sign in, then start the connection again from the client rather than reloading the approval page.
- Sign-in never opens, or the client says it needs authentication
- Nearly always the URL. Remove the connector from the client, copy the URL again from the dashboard with the copy button, and add it fresh. Check for a trailing slash and for a stray space at either end.
- It connected, but no tools appear
- Connecting and enabling are two different things. In Claude, switch the connector on for the conversation from the + button. In ChatGPT, enable it in the developer-mode tool. In Claude Code, run /mcp and check the tool count next to the server.
- Reads work and every write fails
- If the failure asks a human to approve something, that is the connector working as designed: writes pause on a preview and wait for a person. If the error says the approval round trip needs a newer protocol revision, your client is speaking an older one. See the section on writing your own client.
- Sign-in worked but every call fails against your software
- There are two sign-ins and only one is done. Open the connector's Settings tab in the dashboard and connect your account for the upstream software. Until that is finished the connector authenticates perfectly and reaches nothing.
- A browser-based tool gets a 403
- The endpoint does not serve browser origins, deliberately. Anything calling it from inside a web page is refused before authentication even runs, which is why an in-browser inspector fails while real clients work. Test with the AI client itself, with Claude Code, or with curl.
- Everything is refused at once
- Check whether the connector, or that one member's connection, is paused or revoked in the dashboard. Both take effect on the very next request, with nothing cached that could serve past them. A lapsed subscription has the same effect.
Before you write in, open the Activity tab. Every tool call is recorded there with what was asked, what happened, and why it failed. Send us a request id from that tab and we can answer in one reply instead of five.
No connector to connect yet?
Name your software, describe the job, and see your Connector Blueprint before you pay anything. Setup is the easy part.
