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.
{
"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.
{
"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