Connect Claude.ai (web)

One-click connect via OAuth — no copy-pasting bearer tokens. Works the same way for Cursor and any other MCP client that speaks the standard OAuth 2.0 connector flow.

Quickest path

  1. Provision an endpoint at /upload (or pick an existing one at /endpoints).
  2. Copy your endpoint URL — looks like https://mcp.shipmcp.io/<your-slug>/mcp.
  3. In Claude.ai, open Settings → Connectors → Add custom connector.
  4. Paste the endpoint URL. Name it whatever you like.
  5. Claude opens a tab to shipmcp.io/oauth/authorize. If you're not signed in, sign in first; you'll bounce straight back to the consent screen.
  6. Click Allow access. Done.

If you want agent writes

Read-only is the default. If you've enabled the "Allow agent writes" toggle on the endpoint (see Agent writes & ingest), the consent screen will show a separate red "Also grant write access" checkbox. Tick it before clicking Allow.

The issued token then carries scope: "mcp:write" — Claude can call insert_, update_..._by_id, delete_..._by_id, plus the four ingest tools (ingest_url, ingest_file, etc.).

Already connected without write scope?

Common scenario: you connected first, then later toggled writes on the endpoint. Your existing connection's token is still mcp (read-only). To upgrade:

  1. In Claude → Settings → Connectors → ShipMCP → Disconnect.
  2. Click Connect again on the same connector entry.
  3. On the shipmcp.io consent screen, tick the write-access checkbox.
  4. Click Allow. The new token replaces the old one.

What Claude can see

Once connected, Claude can call:

  • list_<table>, get_<table>_by_id, search_<table>, filter_<table>, count_<table>_by_<column> on every table.
  • Cross-table joins via get_<children>_for_<parent> when there are foreign keys.
  • Original-file resources via resources/list + resources/read, plus get_documents_file for the small set of clients that don't speak resources/* yet.
  • If mcp:write was granted: the seven write/ingest tools too.

Disconnecting

Two layers:

  • In Claude.ai → Settings → Connectors → ShipMCP → Disconnect. The connector goes away on Claude's side.
  • On /endpoints/<id>, scroll to API tokens. Find the token labelled OAuth: Claude (or OAuth: Claude (write)) and click Revoke. The token stops authenticating immediately, even if Claude's connector is somehow still trying.

Revoking on shipmcp.io is the authoritative cut-off — disconnecting only on the Claude side leaves a working token in our database that nothing's using.

Troubleshooting

"Authorization with the MCP server failed"

Usually means the slug in your endpoint URL doesn't exist or isn't active. Provision an endpoint first, then re-paste the correct URL into Claude. (We return a clear MCP-protocol error — Claude sometimes surfaces it as "auth failed.")

"This token has read-only scope (mcp)"

Disconnect + reconnect, tick the write-access checkbox on the consent screen.

Tools list is missing newer tools (ingest_url, etc.)

Your endpoint's tool_manifest predates the new tools. Click the Rebuild button on the Tools list card on the endpoint page, or toggle "Allow agent writes" off and on — both regenerate the manifest.