﻿---
title: "Grafana OSS MCP 用 uvx mcp-grafana，token 走 env_vars 不要写进 env"
summary: "CLI：codex mcp add grafana -- uvx mcp-grafana。GRAFANA_URL 可以写进 env 表；GRAFANA_SERVICE_ACCOUNT_TOKEN 用 env_vars 转发。厂商 Codex 页的 startup_timeout_ms 和把 token 写进 env 不要抄。"
category: mcp
level: starter
surfaces: [cli, app, ide]
tags: ["MCP", "Grafana", "stdio", "env_vars"]
canonical: /tips/mcp-grafana-stdio/
---

# Grafana OSS MCP 用 uvx mcp-grafana，token 走 env_vars 不要写进 env

CLI：codex mcp add grafana -- uvx mcp-grafana。GRAFANA_URL 可以写进 env 表；GRAFANA_SERVICE_ACCOUNT_TOKEN 用 env_vars 转发。厂商 Codex 页的 startup_timeout_ms 和把 token 写进 env 不要抄。

开源 `mcp-grafana` 是 **stdio**，本机跑、连你的 Grafana（自托管或 Grafana Cloud 实例 URL 都行）。官方 Codex 页假设二进制已在 PATH；没有的话用 `uvx`：

```bash
codex mcp add grafana -- uvx mcp-grafana
```

```toml
[mcp_servers.grafana]
command = "uvx"
args = ["mcp-grafana"]
env_vars = ["GRAFANA_SERVICE_ACCOUNT_TOKEN"]
startup_timeout_sec = 60
enabled = true

[mcp_servers.grafana.env]
GRAFANA_URL = "http://localhost:3000"
```

连 Grafana Cloud 实例时，把 `GRAFANA_URL` 换成 `https://myinstance.grafana.net`。这仍是本机 stdio + 服务账号，**不是**托管的 `mcp.grafana.com`。

`env` 表是字面量。厂商 Codex 页把 `GRAFANA_SERVICE_ACCOUNT_TOKEN` 写进 `env`，等于把密钥提交进 config。`codex mcp add --env GRAFANA_SERVICE_ACCOUNT_TOKEN=...` 同样会落成字面量。密钥用 `env_vars` 从启动 Codex 的进程转发。过期的 `GRAFANA_API_KEY` 不要再用。

只读会话加 `--disable-write`（会拿掉写入工具，也默认拿掉会改数据的原始 SQL 查询工具）：

```toml
[mcp_servers.grafana]
command = "uvx"
args = ["mcp-grafana", "--disable-write"]
env_vars = ["GRAFANA_SERVICE_ACCOUNT_TOKEN"]
enabled = true

[mcp_servers.grafana.env]
GRAFANA_URL = "http://localhost:3000"
```

不要做这些：

- 不要抄 `startup_timeout_ms` / `tool_timeout_ms`。现行键是 `startup_timeout_sec` 和 `tool_timeout_sec`。
- 不要把 token 写进 `args`，也不要抄 `mcpServers` JSON。
- 不要给它 `required = true` 挂全局。冷 `uvx` 超时会让 Codex 起不来。
- 不要把用户名密码当成推荐路径。服务账号 token 才是现行鉴权。
- 不要和托管 Cloud MCP 写成同一张表：有 `command` 就不能再写 `url`。

网页 Cloud 不读这份 `config.toml`。改完新开会话。用 `codex mcp get grafana` 核对 command 是 `uvx`。

## 来源

- [Grafana · Codex CLI](https://grafana.com/docs/grafana/latest/developer-resources/mcp/clients/codex/)
- [grafana/mcp-grafana](https://github.com/grafana/mcp-grafana)
- [OpenAI · Model Context Protocol](https://learn.chatgpt.com/docs/extend/mcp)
