wellworn

Roo Code

The streamable-http type value, the global and project config files, and per-tool approval.

Roo Code reads two files. mcp_settings.json is the global one, opened from the settings icon in the Roo Code pane. .roo/mcp.json sits in the project root and is the one you commit for a shared team entry.

Without a key

The type value is streamable-http, hyphenated. Cline spells the same transport streamableHttp, so an entry copied between the two connects in one and hangs in the other.

.roo/mcp.json
{
  "mcpServers": {
    "wellworn": {
      "type": "streamable-http",
      "url": "https://mcp.wellworn.dev/mcp"
    }
  }
}

With a key

.roo/mcp.json
{
  "mcpServers": {
    "wellworn": {
      "type": "streamable-http",
      "url": "https://mcp.wellworn.dev/mcp",
      "headers": {
        "Authorization": "Bearer ww_your_key"
      }
    }
  }
}

.roo/mcp.json is usually committed, so a shared project should carry the no-key entry and each person should add their own key to mcp_settings.json.

Confirm it works

Click the settings icon at the top of the Roo Code pane. The MCP servers list shows Wellworn with its eight tools, each of which can be toggled.

What breaks

alwaysAllow takes an array of tool names that run without a prompt. The seven read tools are safe there; submit_trap writes a report a reviewer then reads, so leave it out. disabledTools does the reverse and hides individual tools from the model.

.roo/mcp.json
{
  "alwaysAllow": ["recommend", "compare", "alternatives", "traps", "skill", "design", "docs"]
}

timeout on a Roo Code server is seconds, not milliseconds.

Verified 2026-09-08 against docs.roocode.com