プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Grafana MCP

作者:itzhouqバージョン 0.1.3i★ –iパソコンで動く
レジストリ名io.github.itzhouq/grafana-mcp

インストール

概要

作者による説明(英語の原文)

Read-only project-level Grafana MCP: Loki logs, metrics, traces, alerts, test/prod switching

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール
  • 入力が必要なもの:GRAFANA_TEST_PASSWORD, GRAFANA_PROD_PASSWORD

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: GRAFANA_TEST_URL, GRAFANA_TEST_USER, GRAFANA_TEST_PASSWORD, GRAFANA_PROD_URL, GRAFANA_PROD_USER, GRAFANA_PROD_PASSWORD, GRAFANA_ENV, GRAFANA_APP

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "grafana": {
      "command": "npx",
      "args": [
        "-y",
        "grafana-mcp"
      ],
      "env": {
        "GRAFANA_TEST_URL": "your-value",
        "GRAFANA_TEST_USER": "your-value",
        "GRAFANA_TEST_PASSWORD": "your-value",
        "GRAFANA_PROD_URL": "your-value",
        "GRAFANA_PROD_USER": "your-value",
        "GRAFANA_PROD_PASSWORD": "your-value",
        "GRAFANA_ENV": "your-value",
        "GRAFANA_APP": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add grafana --env GRAFANA_TEST_URL=your-value --env GRAFANA_TEST_USER=your-value --env GRAFANA_TEST_PASSWORD=your-value --env GRAFANA_PROD_URL=your-value --env GRAFANA_PROD_USER=your-value --env GRAFANA_PROD_PASSWORD=your-value --env GRAFANA_ENV=your-value --env GRAFANA_APP=your-value -- npx -y grafana-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "grafana": {
      "command": "npx",
      "args": [
        "-y",
        "grafana-mcp"
      ],
      "env": {
        "GRAFANA_TEST_URL": "your-value",
        "GRAFANA_TEST_USER": "your-value",
        "GRAFANA_TEST_PASSWORD": "your-value",
        "GRAFANA_PROD_URL": "your-value",
        "GRAFANA_PROD_USER": "your-value",
        "GRAFANA_PROD_PASSWORD": "your-value",
        "GRAFANA_ENV": "your-value",
        "GRAFANA_APP": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "grafana": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "grafana-mcp"
      ],
      "env": {
        "GRAFANA_TEST_URL": "your-value",
        "GRAFANA_TEST_USER": "your-value",
        "GRAFANA_TEST_PASSWORD": "your-value",
        "GRAFANA_PROD_URL": "your-value",
        "GRAFANA_PROD_USER": "your-value",
        "GRAFANA_PROD_PASSWORD": "your-value",
        "GRAFANA_ENV": "your-value",
        "GRAFANA_APP": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • GRAFANA_TEST_URL env
    Grafana base URL of the test environment, e.g. https://grafana.example.com
  • GRAFANA_TEST_USER env
    Grafana username for the test environment (prefer a dedicated Viewer-role account)
  • GRAFANA_TEST_PASSWORD 秘密 env
    Grafana password for the test environment
  • GRAFANA_PROD_URL env
    Grafana base URL of the production environment
  • GRAFANA_PROD_USER env
    Grafana username for the production environment
  • GRAFANA_PROD_PASSWORD 秘密 env
    Grafana password for the production environment
  • GRAFANA_ENV env
    Default environment for this project (test by default)
  • GRAFANA_APP env
    App label value used to scope Loki queries for this project

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント itzhouq で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの5541件のうち0%よりスターが多い
  • このカテゴリのほかの5541件のうち50%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの5541件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Grafana MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:GRAFANA_TEST_PASSWORD, GRAFANA_PROD_PASSWORD

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(0.1.3)がレジストリに届いたのは32 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

作者:github広く使われている★ 3.4万5 日前更新

パソコンでもクラウドでも

Desktop Commander

MCP server for terminal commands, file operations, and process management

作者:wonderwhy-er広く使われている↓ 71万/週★ 1万17 日前更新

パソコンで動く

Cloudflare MCP

Cloudflare MCP servers

作者:cloudflare広く使われている★ 444614 か月前更新

クラウドで動く✓ mcp.cloudflare.com

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

grafana-mcp

Project-level Grafana MCP server — give your AI coding agent read-only access to Loki logs, Prometheus metrics, Tempo traces and alerts, with per-project context and test/prod environment switching. 零依赖单文件 TypeScript,bun 直接运行。

AI 编码 Agent(Claude Code / Cursor / …)

│ MCP (stdio) ▼ grafana-mcp ──读──▶ .mcp.json env / .grafana.json / ~/.zshrc(凭据与项目上下文) │ HTTP(只读查询 API) ▼ Grafana ──▶ Loki(日志)/ Prometheus(指标)/ Tempo(链路)/ Alerts(告警)

它解决什么问题

日常迭代业务系统时,测试阶段要快速定位 QA 反馈的问题,线上要快速排查功能 bug 与性能瓶颈——这些证据都在 Grafana 体系里(Loki 日志、Prometheus 指标、Tempo 链路)。让 agent 在写代码、修 bug 的同时能直接查到这些上下文,问题定位的效率和准确性会明显提升。但直接用通用 MCP 封装 Grafana API 会遇到三个实际障碍:

痛点本实现的解法
每个项目会话都要口头告诉 agent "我们的应用在 Grafana 里叫什么",容易跑偏项目根放一个 .grafana.json 或在 .mcp.json env 中配置(app、namespace、默认环境),agent 调 project_context 一次对齐方向
test / prod 双环境凭据区分,而 MCP server 由客户端 spawn,是非交互 shell,不会 source `.zshrc`,环境变量读不到三选一:① .mcp.json env 直接传 GRAFANA_{ENV}_*(零全局依赖)② server 启动时解析 ~/.zshrc / ~/.zshenv 文件文本 ③ 全局配置文件
多数据源实例上"按类型取第一个"容易选错优先使用显式配置的数据源 UID,支持按环境指定

声明

  1. 非官方项目:本仓库与 Grafana Labs 无隶属关系;Grafana、Loki、Prometheus、Tempo 是各自所有方的商标。
  2. 免责:软件按"现状"提供。使用者需自行确保对目标 Grafana 实例的访问已获授权,并遵守所在组织的数据安全与审计规定;日志与指标输出可能包含业务敏感信息,分享查询结果前请自行判断合规边界。作者不对违规使用及其后果负责。
  3. 只读边界:全部 10 个工具均为查询类,不含任何写操作。建议为 agent 配置 Viewer 角色的专用账号(最小权限),不要复用管理员凭据。

快速开始

前提:本机已安装 bun(curl -fsSL https://bun.sh/install | bash)。项目零 npm 依赖,无需 npm install。

方式一:完全项目级配置(推荐 — 零全局依赖)

所有信息(test/prod 双环境地址、凭据、数据源 UID、项目 app 名称)全部写在项目 .mcp.json 中,不依赖 ~/.zshrc,换台机器只需复制 .mcp.json:

{

"mcpServers": { "grafana": { "command": "bunx", "args": ["grafana-mcp"], "env": { "GRAFANA_ENV": "test", "GRAFANA_APP": "my-app", "GRAFANA_NAMESPACE": "my-namespace",

"GRAFANA_TEST_URL": "https://grafana.test.example.com", "GRAFANA_TEST_USER": "viewer", "GRAFANA_TEST_PASSWORD": "********", "GRAFANA_TEST_LOKI_DATASOURCE": "loki-uid-here", "GRAFANA_TEST_PROMETHEUS_DATASOURCE": "prom-uid-here",

"GRAFANA_PROD_URL": "https://grafana.prod.example.com", "GRAFANA_PROD_USER": "viewer", "GRAFANA_PROD_PASSWORD": "********", "GRAFANA_PROD_LOKI_DATASOURCE": "loki-uid-prod", "GRAFANA_PROD_PROMETHEUS_DATASOURCE": "prom-uid-prod" } } } }

配置好后:

  • project_context 会自动显示当前环境、可用环境列表、项目 app 等信息
  • switch_environment 可在 test/prod 之间切换(仅影响当前会话)
  • loki_query 会自动注入 app="my-app" 标签(传 injectApp=false 关闭)

⚠️ .mcp.json 含明文凭据,务必加入 .gitignore。

方式二:zshrc 全局凭据 + 项目级上下文

适合多项目共享同一套 Grafana 凭据的场景。凭据配在 ~/.zshrc 中(一次性),每个项目只配项目上下文:

项目 `.mcp.json`(只配项目上下文,不含凭据):

{

"mcpServers": { "grafana": { "command": "bunx", "args": ["grafana-mcp"], "env": { "GRAFANA_ENV": "test", "GRAFANA_APP": "my-app" } } } }

或项目 `.grafana.json`(承载更多信息,对 agent 可见可解释):

{

"defaultEnv": "test", "app": "my-app", "appLabel": "app", "namespace": "my-namespace", "notes": "本项目日志标签 app=my-app;查指标时 pod 前缀为 my-app-" }

字段说明
defaultEnv默认环境(test / prod / 自定义)
app应用在 Loki 中的 app 标签值,loki_query 会自动注入到查询 selector
appLabelapp 标签名,默认 app
namespace默认 namespace,供 agent 参考
notes自由文本备注,project_context 会原样带给 agent
environments.{env}.url该环境的 Grafana 地址(覆盖 zshrc 中的同名变量)
environments.{env}.user该环境的用户名
environments.{env}.password该环境的密码
environments.{env}.app该环境的 app 标签值(同一项目 test/prod 命名不同时用,优先于顶层 app)
environments.{env}.appLabel该环境的 app 标签名,默认 app
environments.{env}.datasources按环境指定数据源 UID(loki/prometheus/tempo)

⚠️ .grafana.json 的 notes 和 environments 可能包含敏感信息——建议加入 .gitignore。

凭据从哪来(三种来源,按优先级合并)
进程环境变量(.mcp.json env:GRAFANA_{ENV}_URL 等按环境,或 GRAFANA_URL 直连)

→ 项目 .grafana.json 的 environments.{env} 字段 → 全局配置 ~/.config/grafana-mcp/config.json(可选,适合无 .zshrc 的机器) → ~/.zshrc + ~/.zshenv 文本解析(适合全机统一配置)

不依赖 shell 环境:MCP server 由客户端 spawn,是非交互、非登录 shell,不会 source rc 文件。本实现直接解析 rc 文件文本或从进程环境变量读取,这是特性而非 workaround。

克隆使用

偏好克隆使用的话:

git clone https://github.com/itzhouq/grafana-mcp.git && cd grafana-mcp

bun run index.ts # stdio JSON-RPC,接入任意 MCP 客户端

.mcp.json 中对应写 "command": "bun", "args": ["run", "/path/to/grafana-mcp/index.ts"]。

工具列表

工具说明
project_context调查前必调:激活环境、可用环境、项目 App/namespace、数据源 UID、配置来源(密码脱敏输出)
switch_environment切换 test/prod(仅影响当前会话),返回新环境上下文
loki_queryLogQL 日志查询;项目配置了 app 时自动注入 selector(injectApp=false 可关)
loki_labels列 Loki 标签名,或查某标签全部取值(如确认 app 名称在当前环境是否存在)
prom_queryPromQL 区间查询
prom_instantPromQL 即时查询
tempo_searchTraceQL 链路搜索
tempo_trace按 traceID 查看完整链路
alerts当前正在告警的规则
datasources列出全部数据源

时间参数(loki/prom/tempo 通用):range(默认 1h,如 30m/6h/24h)、start/end(ISO 8601 绝对时间)、limit。

与官方 mcp-grafana 的差异

Grafana 官方也提供 MCP server(Go 实现,面向全局单实例的完整工具集)。两者定位不同,可并存:

grafana-mcp(本仓库)官方 mcp-grafana
使用粒度项目级:项目根 .grafana.json 声明上下文,project_context 一次对齐全局实例,项目信息需每次口头提供
多环境test/prod 双环境一等公民,switch_environment 一键切换面向单一实例配置
凭据来源.mcp.json env(零全局依赖)/ ~/.zshrc 文本解析 / 全局配置文件(三选一,可混用)环境变量
形态零依赖单文件 TypeScript,bun 直接运行Go 二进制 / Docker

选型建议:要全量 Grafana 管理能力用官方;要"每个业务项目开箱即用的日志/指标排查上下文 + 双环境",用本仓库。

安全提示

  • Grafana 账号建议使用 Viewer 角色的专用账号,不要复用管理员凭据。
  • 凭据明文存于 ~/.zshrc(或进程环境),MCP server 仅在本机内存中使用,不落盘、不回显(project_context 输出对密码脱敏)。
  • 如需集中管理,可把连接信息放到 ~/.config/grafana-mcp/config.json 并 chmod 600,~/.zshrc 中的同名变量会被其覆盖。
  • 支持 1Password 回退(可选):设置 GRAFANA_OP_VAULT / GRAFANA_OP_ITEM 后,无账密时通过 op CLI 取凭据。

FAQ

为什么 agent 读不到 `.zshrc` 里的环境变量? MCP server 由客户端 spawn,是非交互、非登录 shell,不会 source rc 文件。本实现提供三种解法:① 在 .mcp.json env 中直接配 GRAFANA_{ENV}_*(推荐)② server 解析 rc 文件文本 ③ 用全局配置文件。

不想装 bun? 当前运行时依赖 bun(单文件 TS 直跑是刻意的设计取舍)。Node 兼容的编译产物在 Roadmap 中,欢迎 issue 催更。

查询结果太长被截断? 超过 6 万字符自动截断并提示缩小范围;命中 limit 上限时也会明确提示可能还有更多。建议总是带 range 与 limit。

数据源选错了? 在 GRAFANA_{ENV}_LOKI_DATASOURCE 等变量或 .grafana.json 的 environments.{env}.datasources 中显式指定 UID。

本地开发

bun run smoke    # MCP 协议握手 + 工具清单 + project_context;本机配好凭据后自动追加真实查询

bun run test # 冒烟 + 集成测试(项目上下文发现、app 注入、prod 切换;需要真实凭据,CI 跳过)

CI 只运行无凭据的协议级冒烟测试与敏感信息扫描;集成测试需要真实 Grafana 环境,请在本机运行。

Roadmap

  • Node 兼容编译产物(降低 bun 前提)
  • 仪表盘面板数据读取
  • 更多环境变量发现来源(direnv 等)

关于作者

itzhouq — 个人网站 itzhouq.cn,在那里持续 build in public。其他开源工具:

  • archery-mcp — 让 AI 只读接入 Archery SQL 审计平台的 MCP server(生产表结构查询 + 上线 SQL 预检)

欢迎 issue / PR;安全漏洞请走 SECURITY.md 的私密渠道,不要开 public issue。


mcp-name: io.github.itzhouq/grafana-mcp

PopNxに聞く