Summary
The MCP docs currently imply that headroom proxy can be used as an HTTP MCP endpoint at /mcp, but with the current installed package this endpoint returns 404 while the stdio MCP server works.
Environment
headroom, version 0.21.32
- Linux Manjaro
- Two local proxy instances:
- default proxy:
http://127.0.0.1:8787
- Azure/LiteLLM proxy:
http://127.0.0.1:8788
What works
The proxies are healthy:
curl http://127.0.0.1:8787/health
curl http://127.0.0.1:8788/health
The stdio MCP server works when pointed at either proxy:
{
"mcpServers": {
"headroom": {
"type": "stdio",
"command": "headroom",
"args": ["mcp", "serve", "--proxy-url", "http://127.0.0.1:8787"]
},
"headroom-azure": {
"type": "stdio",
"command": "headroom",
"args": ["mcp", "serve", "--proxy-url", "http://127.0.0.1:8788"]
}
}
}
Both expose:
headroom_compress
headroom_retrieve
headroom_stats
What does not work
The HTTP MCP endpoint is not available on either proxy:
curl -i http://127.0.0.1:8787/mcp
curl -i http://127.0.0.1:8788/mcp
Both return 404 Not Found.
Documentation concern
The docs at https://headroom-docs.vercel.app/docs/mcp and the llms docs mention proxy-backed MCP in a way that makes it easy to configure MCP clients as:
{
"headroom-azure": {
"type": "http",
"url": "http://localhost:8788/mcp"
}
}
That configuration fails for the current CLI behavior.
Suggested fix
Clarify that for headroom 0.21.32, MCP clients should use stdio:
headroom mcp serve --proxy-url http://127.0.0.1:<proxy-port>
and only use HTTP /mcp if/when the installed proxy version explicitly exposes that endpoint.
Summary
The MCP docs currently imply that
headroom proxycan be used as an HTTP MCP endpoint at/mcp, but with the current installed package this endpoint returns404while the stdio MCP server works.Environment
headroom, version 0.21.32http://127.0.0.1:8787http://127.0.0.1:8788What works
The proxies are healthy:
The stdio MCP server works when pointed at either proxy:
{ "mcpServers": { "headroom": { "type": "stdio", "command": "headroom", "args": ["mcp", "serve", "--proxy-url", "http://127.0.0.1:8787"] }, "headroom-azure": { "type": "stdio", "command": "headroom", "args": ["mcp", "serve", "--proxy-url", "http://127.0.0.1:8788"] } } }Both expose:
headroom_compressheadroom_retrieveheadroom_statsWhat does not work
The HTTP MCP endpoint is not available on either proxy:
Both return
404 Not Found.Documentation concern
The docs at https://headroom-docs.vercel.app/docs/mcp and the llms docs mention proxy-backed MCP in a way that makes it easy to configure MCP clients as:
{ "headroom-azure": { "type": "http", "url": "http://localhost:8788/mcp" } }That configuration fails for the current CLI behavior.
Suggested fix
Clarify that for
headroom 0.21.32, MCP clients should use stdio:and only use HTTP
/mcpif/when the installed proxy version explicitly exposes that endpoint.