Guide

Connect your REST API to Claude

MCP is Claude's native protocol for reaching outside a conversation and calling something real. Publish your REST API as an MCP server once, and it's connectable from claude.ai, Claude Desktop, or Claude Code — no separate integration per surface. Here's the full loop, plus each of the three ways to wire it up.

The example API

To keep this concrete, this walkthrough uses the small public Demo Store API also used in the companion deep-dive — a store with products and orders, live at https://mcpplatform.dev/demo/store/v1, no API key required.

Base URL: https://mcpplatform.dev/demo/store/v1 GET /products list the catalog GET /products/{productId} one product POST /orders { "productId": "...", "quantity": N } → creates an order GET /orders/{orderId} order status DELETE /orders/{orderId} cancel an order

1–4. Spec in, tools out, publish

  1. Sign up — you land in the console with a tenant and a default environment already provisioned.
  2. API Contracts → Upload OpenAPI — paste the spec (grab it at /demo-store-openapi.json) or point at a URL.
  3. Generate tools — each operation becomes a tool named from its operationId, risk-classified by HTTP method. For this spec: list_products/get_product/get_order at low risk, create_order at medium, cancel_order at high.
  4. Create an MCP server (boundary public for this demo), attach the tools, and publish. You get back a live endpoint:
https://mcpplatform.dev/mcp/srv_XXXXXXXXXX

That's a standard MCP Streamable-HTTP JSON-RPC 2.0 endpoint — initialize, tools/list, tools/call — the shape every Claude surface below expects.

5. Connect it — pick your surface

claude.ai (web or desktop app UI):

  1. Go to Settings → Connectors → Add custom connector.
  2. Paste the install URL from the previous step and save.
  3. Claude runs initialize then tools/list — you'll see all five tools appear in the connector's list, no further configuration.

Claude Code (CLI): if you're working from the terminal, add it as a remote HTTP MCP server directly:

claude mcp add --transport http demo-store https://mcpplatform.dev/mcp/srv_XXXXXXXXXX

The tools are then available to Claude Code the same as any other MCP server you've configured — no browser step needed.

Claude Desktop: Desktop's remote-MCP support follows the same connector flow as claude.ai above — the install URL is identical, since it's the same MCP endpoint regardless of which Claude surface is asking.

6. Use it — real HTTP calls, no simulation

Once connected, ask:

"Using the Demo Store connector, list the products available, then place an order for 2 of the Insulated Water Bottle."

Claude calls list_products, matches "Insulated Water Bottle" to prod_002, then calls create_order with {"productId": "prod_002", "quantity": 2} — and gets back a confirmed order with an id, total price, and status: "confirmed". That's a real round trip to the Store API's /orders endpoint.

Ask it to cancel that order next. Claude calls cancel_order — the tool flagged high risk back in step 3, because it maps to a DELETE. This public demo lets it through so you can see the round trip; in a real deployment, a high-risk tool is exactly where you'd want an approval step in the loop before the call goes out.

Why this only takes one build

Nothing in steps 1–4 mentioned Claude specifically. The contract-to-tools-to-published-server pipeline, the risk classification, and the audit trail all live on the MCP server, not in a per-client integration — so the same install URL that works in claude.ai also works in Claude Code, ChatGPT (see connecting to ChatGPT), or any other MCP-speaking client that shows up later.