Grafana Cloud MCP 用 mcp.grafana.com/mcp,login 失败先补 Accept 头
托管地址是 https://mcp.grafana.com/mcp,OAuth。Codex 官方页没有这一条。login 若被 302 到文档,在 http_headers 写 Accept 和 X-Grafana-URL。这不是本机 mcp-grafana。
Grafana Cloud 托管的是远程 Streamable HTTP,只要 Grafana Cloud,不要自托管。权限跟你登录的 Grafana 用户走,还要有 Assistant Cloud MCP User(或 grafana-assistant-app.cloud-mcp:access)。官方客户端列表没有 Codex 专页,按「其它 MCP 客户端」写 TOML:
codex mcp add grafana_cloud --url https://mcp.grafana.com/mcp
codex mcp login grafana_cloud
名字用下划线。已经占用了 grafana 给本机 stdio 时,不要覆盖那张表。
X-Grafana-URL 是栈地址,不是密钥,能跳过授权页上的 URL 输入。codex mcp login 的探测请求默认不带 MCP 的 Accept 头时,Grafana 会 302 到文档站,Codex 会拒绝跨源跳转(开放问题 openai/codex#37830)。login 报 OAuth discovery redirect 时,把这两颗头写进 http_headers:
[mcp_servers.grafana_cloud]
url = "https://mcp.grafana.com/mcp"
http_headers = { "X-Grafana-URL" = "https://myinstance.grafana.net", "Accept" = "application/json, text/event-stream" }
enabled = true
然后再 codex mcp login grafana_cloud。不要把服务账号 token 写进这张 HTTP 表。
授权页可以只勾 Read。Query 仍会跑原始 SQL;Write 会改 dashboard / incident。这台会计入 Grafana Assistant 用量。
不要做这些:
- 不要抄 Claude 的
--transport http,也不要抄 Cursor JSON。 - 不要抄
/sse,也不要套mcp-remote。 - 不要给自托管 Grafana 配这个 URL。自托管走
uvx mcp-grafana。 - 不要给它
required = true挂全局。 - 不要把
X-Grafana-URL写成带尖括号的占位符。
网页 Cloud 不读 ~/.codex/config.toml。改完新开会话。用 codex mcp get grafana_cloud 看传输是 streamable_http。