Cursor mcp.json to Claude Code: why a url entry fails

A url entry copied from Cursor's mcp.json fails in Claude Code until it has type http. Here is the claude mcp add-json command for Sume's hosted MCP server.

5 min readSume
All posts

A url entry copied from Cursor's mcp.json fails in Claude Code because Claude Code reads an entry with no type as a stdio server. Add "type": "http" and it works. For Sume, the one-line version is claude mcp add-json sume '{"type":"http","url":"https://mcp.sume.com/mcp"}', followed by claude mcp login sume.

The Claude Code rules come from its MCP documentation, read 2026-09-29. The Sume endpoint and login come from the MCP quickstart.

What has to change when I copy the block?

Claude Code's docs cover configs written for another MCP client, such as Claude Desktop. Pass claude mcp add-json the object inside mcpServers, not the wrapper. Two kinds of entry need repair first.

From the Claude Code MCP page, read 2026-09-29.
Entry in the copied blockRepair
A url with no typeAdd "type": "http", "sse" or "ws" to match the endpoint
A key with characters other than letters, numbers, hyphens and underscoresPick a server name that uses only those characters

Does streamable-http work as the type?

Yes. The type field also accepts streamable-http as an alias for http, so a config copied from a server's own docs works unchanged.

What is the exact Sume command?

Claude Code prints an Added line for each add command, and claude mcp get sume shows the connection status. Sume's quickstart gives the equivalent claude mcp add --transport http sume https://mcp.sume.com/mcp followed by claude mcp login sume.

claude mcp add-json sume '{"type":"http","url":"https://mcp.sume.com/mcp"}'
claude mcp get sume
claude mcp login sume

Do I keep the API key header?

If your Cursor entry used headers with an API key, keep it. Cursor's ${env:NAME} becomes ${NAME} in Claude Code, so "Authorization": "Bearer ${SUME_API_KEY}" goes inside the same JSON. Sume accepts Authorization: Bearer <key> or x-api-key, per MCP OAuth and API keys. Keep the key in an environment variable rather than typing it into the file, so the JSON you paste into version control carries only the placeholder, and export the variable in the shell that launches Claude Code.

What does Claude Code do with an entry that has no type?

It treats the entry as a stdio server, which needs a command. A Cursor-style block that has only url therefore has no command to run, and the add or load fails. The fix is the transport type, which the Claude Code page says to add to match the endpoint.

For a legacy server-sent-events endpoint the type would be sse, and ws is for WebSocket. Sume's hosted endpoint at https://mcp.sume.com/mcp is the HTTP kind, which is why the command above says http.

Can I share the server with my team?

Yes. Claude Code's page says to add --scope project, or to put the entry under mcpServers in .mcp.json at the project root and commit it. Never commit a literal key; use the ${VAR} form.

Sources

Related posts

More in Integrations

All Integrations posts

Written by Sume