Connect with one URL.
One endpoint, one consent screen, and no key to paste for Claude or ChatGPT. Pick your client.
- Customize, Connectors, plus, Add custom connector. Team and Enterprise owners do this under Organization settings instead.
- Paste https://app.mobileb.net/mcp. Leave Client ID and Client Secret empty; MobileB registers Claude by itself.
- Connect, sign in to MobileB, answer the four consent questions.
https://app.mobileb.net/mcpIf Claude reports a failed connection, the usual cause is something typed into the advanced OAuth fields. Clear them and retry.
- Run the command in any project.
- Then run /mcp, pick MobileB and finish sign-in in the browser.
claude mcp add --transport http mobileb https://app.mobileb.net/mcpScopes, numbers and expiry are chosen on the consent screen, not on the command line.
- Mint a personal token under Settings, AI agents. It is shown once.
- Send the request with the mcp-client-2025-11-20 beta: the anthropic-beta header on raw HTTP, or betas on client.beta.messages in the SDKs.
- mcp_servers on its own is rejected. Pair it with an mcp_toolset entry naming the same server.
{
"model": "<MCP-capable model>",
"max_tokens": 1024,
"messages": [{ "role": "user", "content": "<request>" }],
"mcp_servers": [
{ "type": "url", "url": "https://app.mobileb.net/mcp", "name": "mobileb", "authorization_token": "mba_..." }
],
"tools": [{ "type": "mcp_toolset", "mcp_server_name": "mobileb" }],
"betas": ["mcp-client-2025-11-20"]
}A personal token carries the scope you chose when you minted it: which numbers, which categories or an explicit set of conversations, read or send, and an expiry of 24 hours, 7 days, 30 days or never.
- Settings, Connectors, and turn on developer mode first. The Create button appears once it is on.
- Create, URL https://app.mobileb.net/mcp, authentication OAuth.
- Approve, sign in to MobileB, answer the consent questions. Deep research works out of the box.
https://app.mobileb.net/mcpDeep research uses the search and fetch pair over conversations and the messages inside them.
- Mint a personal token under Settings, AI agents.
- Add an mcp tool to the request.
{
"type": "mcp",
"server_label": "mobileb",
"server_url": "https://app.mobileb.net/mcp",
"authorization": "mba_...",
"require_approval": { "never": { "tool_names": ["search", "fetch", "list_chats", "read_messages"] } }
}Without require_approval the Responses API stops for a human on every tool call. Name the read-only tools you trust and leave the sending tools out, so those still stop.
- Streamable HTTP: stateless JSON-RPC 2.0, one object per POST. A top-level array is not treated as a batch and is rejected.
- Send a bearer mba_ token, or start from the 401 and follow WWW-Authenticate to the protected-resource metadata for full OAuth discovery.
- Protocol versions: modern 2026-07-28, plus 2025-11-25, 2025-06-18 and 2025-03-26. On 2026-07-28 do not call initialize: use server/discover or call a tool, put the version in params._meta, and send matching MCP-Protocol-Version and Mcp-Method headers, plus Mcp-Name on tools/call.
- No sessions: MobileB never mints an Mcp-Session-Id, GET and DELETE answer 405, and any request may be the first.
curl -s https://app.mobileb.net/mcp -X POST -H "content-type: application/json" \
-H "authorization: Bearer mba_..." \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'Discovery: /.well-known/oauth-protected-resource on app.mobileb.net. PKCE S256 is mandatory, and dynamic client registration is open but capped at 10 new clients per address per hour; re-registering identical metadata is free. The implementer reference is at /docs/connectors.
After you connect
What you will be asked
Which numbers. Which conversations: everything, the categories you tag (business is the default), or an explicit set of conversations, which is the tightest grant MobileB offers. Read only, or read and send. For how long. The app sees none of your answers.
Revoking
Settings, AI agents lists every connected app and token with its last use. Revoke there; the next call is refused. Connector access tokens live one hour and refresh quietly, but a connector unused for 30 days, or any connector after 60 days, has to be connected again. The expiry you chose on the consent screen is the outer bound.
Written for the agent itself: the agent manual, which you can hand to any client as context, and the tool reference. Building a client rather than connecting one: the implementer reference.