wellworn

Cursor

The .cursor/mcp.json entry, why a remote server needs no type field, and env var expansion for the key.

Cursor reads .cursor/mcp.json from the project root and ~/.cursor/mcp.json from your home directory. The project file applies to that project, the home file to all of them. Both use the same mcpServers object.

Without a key

A remote server is a url. There is no transport field to set: "type": "stdio" appears only on local command-line servers, and adding a type to a remote entry is not part of the documented shape.

.cursor/mcp.json
{
  "mcpServers": {
    "wellworn": {
      "url": "https://mcp.wellworn.dev/mcp"
    }
  }
}

With a key

Authentication goes in headers. Cursor expands ${env:NAME} inside the value, so the key stays in your shell environment and the file stays committable.

.cursor/mcp.json
{
  "mcpServers": {
    "wellworn": {
      "url": "https://mcp.wellworn.dev/mcp",
      "headers": {
        "Authorization": "Bearer ${env:WELLWORN_KEY}"
      }
    }
  }
}

Cursor also expands ${userHome} and ${workspaceFolder} in these files, which matters only if you point at a local bridge.

Confirm it works

Open Customize in the sidebar. Each server is listed there with its available tools and a toggle. Wellworn should show eight tools: recommend, compare, alternatives, traps, skill, design, docs, submit_trap.

What breaks

MCP tools reach the Agent, not inline edit, so a working server still does nothing if you are asking from the wrong surface.

Cursor's remote entry also accepts an auth object with CLIENT_ID, CLIENT_SECRET and scopes for OAuth servers. Wellworn is not one: it takes a bearer key in a header or nothing at all, so leave auth out.

Verified 2026-09-08 against cursor.com