/ الدليل / الملعب / Grafana MCP
● رسمي grafana 🔑 يتطلب مفتاحك

Grafana MCP

بواسطة grafana · grafana/mcp-grafana

خادم MCP الرسمي من Grafana — استعلم Prometheus/Loki/Tempo وأدرج Dashboards وجلب التنبيهات وشغِّل جداول زمنية للحوادث، كل ذلك خلف خادم stdio واحد.

يربط خادم MCP الأول من Grafana مكدَّسك (OSS أو Cloud أو Enterprise) ويعرض مصادر البيانات + واجهة API للإدارة كأدوات MCP. تحصل على استعلامات Prometheus/Loki/Tempo واكتشاف Dashboards وحالة التنبيهات وOnCall وتحقيقات Sift — أي شيء يستطيع Grafana فعله يمكن لـ Claude سؤاله.

لماذا تستخدمه

الميزات الأساسية

عرض مباشر

كيف يبدو في الممارسة

mcp-grafana.replay ▶ جاهز
0/0

التثبيت

اختر العميل

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "mcp-grafana": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_API_KEY",
        "mcp/grafana",
        "-t",
        "stdio"
      ],
      "env": {
        "GRAFANA_URL": "https://your-grafana.example.com",
        "GRAFANA_API_KEY": "${GRAFANA_API_KEY}"
      }
    }
  }
}

افتح Claude Desktop → Settings → Developer → Edit Config. أعد التشغيل بعد الحفظ.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "mcp-grafana": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_API_KEY",
        "mcp/grafana",
        "-t",
        "stdio"
      ],
      "env": {
        "GRAFANA_URL": "https://your-grafana.example.com",
        "GRAFANA_API_KEY": "${GRAFANA_API_KEY}"
      }
    }
  }
}

يستخدم Cursor نفس مخطط mcpServers مثل Claude Desktop. إعدادات المشروع أولى من الإعدادات العامة.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "mcp-grafana": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_API_KEY",
        "mcp/grafana",
        "-t",
        "stdio"
      ],
      "env": {
        "GRAFANA_URL": "https://your-grafana.example.com",
        "GRAFANA_API_KEY": "${GRAFANA_API_KEY}"
      }
    }
  }
}

انقر على أيقونة MCP Servers في شريط Cline الجانبي، ثم "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "mcp-grafana": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_API_KEY",
        "mcp/grafana",
        "-t",
        "stdio"
      ],
      "env": {
        "GRAFANA_URL": "https://your-grafana.example.com",
        "GRAFANA_API_KEY": "${GRAFANA_API_KEY}"
      }
    }
  }
}

نفس الصيغة مثل Claude Desktop. أعد تشغيل Windsurf لتطبيق التغييرات.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "mcp-grafana",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "GRAFANA_URL",
        "-e",
        "GRAFANA_API_KEY",
        "mcp/grafana",
        "-t",
        "stdio"
      ]
    }
  ]
}

يستخدم Continue مصفوفة من كائنات الخادم بدلاً من خريطة.

~/.config/zed/settings.json
{
  "context_servers": {
    "mcp-grafana": {
      "command": {
        "path": "docker",
        "args": [
          "run",
          "-i",
          "--rm",
          "-e",
          "GRAFANA_URL",
          "-e",
          "GRAFANA_API_KEY",
          "mcp/grafana",
          "-t",
          "stdio"
        ]
      }
    }
  }
}

أضف إلى context_servers. يعيد Zed التحميل تلقائيًا عند الحفظ.

claude mcp add mcp-grafana -- docker run -i --rm -e GRAFANA_URL -e GRAFANA_API_KEY mcp/grafana -t stdio

أمر من سطر واحد. تحقق باستخدام claude mcp list. احذف باستخدام claude mcp remove.

حالات الاستخدام

استخدامات عملية: Grafana MCP

بناء جدول زمني للحادثة من بيانات Grafana

👤 مهندسو SRE / المناوبون ⏱ ~10 min intermediate

متى تستخدمه: أطلق المنبِّه للتو؛ تريد جدولاً زمنياً متماسكاً قبل الانضمام إلى المكالمة.

المتطلبات الأساسية
  • token حساب خدمة Grafana — Grafana → Administration → Service accounts؛ دور Editor يكفي للاستعلامات
الخطوات
  1. ما الذي يُطلق
    Grafana: list firing alerts in the last 30 minutes for service=checkout.✓ تم النسخ
    → يُعيد list_alerts تنبيهاً واحداً أو أكثر مع timestamps
  2. سحب المقياس
    For each alert, run a Prometheus range query for the underlying metric over the last 1h. Note the breach time.✓ تم النسخ
    → يُعيد query_prometheus_range سلسلة زمنية
  3. سحب السجلات عند وقت الاختراق
    Loki: logs for service=checkout, level=error, [breach_time-2m, breach_time+2m]. Top patterns.✓ تم النسخ
    → سطور السجل مُجمَّعة بالتوقيع
  4. تأليف الجدول الزمني
    Build a concise timeline: alert fired → metric breach → top 3 error log patterns. Markdown for Slack.✓ تم النسخ
    → جدول زمني جاهز للصق

النتيجة: جدول زمني متماسك للحادثة مُجمَّع قبل الانضمام إلى المكالمة.

المزالق
  • استعلام Loki واسع جداً → يُفجِّر ميزانية token — أضف دائماً تسمية service=؛ قيِّد الإطار الزمني بقوة
  • خطوة استعلام Prometheus دقيقة جداً — استخدم step=15s أو 30s لنوافذ ساعة واحدة
اجمعها مع: sentry

شرح ما يعرضه Dashboard في Grafana فعلاً

👤 العضو الجديد في الفريق الذي يتأهَّل ⏱ ~15 min beginner

متى تستخدمه: ورثت dashboard وتريد فهمه دون النقر على كل panel.

الخطوات
  1. إيجاده
    Grafana: search dashboards titled 'Checkout SLO'.✓ تم النسخ
    → معرِّف UID للـ Dashboard مُعاد
  2. فحص الـ panels
    Get the dashboard. For each panel, summarize: title, datasource, what query it runs, what threshold (if any).✓ تم النسخ
    → شرح لكل panel؛ نصوص الاستعلامات مُدرَجة

النتيجة: فهم موثَّق للـ dashboard جاهز لـ wiki التأهيل.

المزالق
  • المتغيرات تُعاد بشكل غريب — أشِر إلى أن استبدال $service/$env يحدث وقت Dashboard لا وقت MCP

مراجعة قواعد التنبيه للضوضاء

👤 قادة SRE ⏱ ~30 min intermediate

متى تستخدمه: النظافة الفصلية — ابحث عن قواعد تُطلَق باستمرار أو لا تُطلَق أبداً.

الخطوات
  1. سحب القواعد
    Grafana: list all alert rules in folder Production.✓ تم النسخ
    → قائمة القواعد مع UID + تعبير
  2. الحصول على تاريخ الإطلاق
    For each, count alert instances in last 30 days. Flag rules with >100 (noisy) or 0 (dormant).✓ تم النسخ
    → أعداد لكل قاعدة + المجموعة المُعلَّمة
  3. التوصية
    For each flagged rule, propose a fix: tighten threshold, add for: 5m, or delete dormant.✓ تم النسخ
    → تغييرات YAML محددة لكل قاعدة

النتيجة: خطة تنظيف محددة مع YAML جاهز لـ PR.

المزالق
  • عد النسخ ≠ عد التنبيهات الفريدة — جمِّع حسب التسميات؛ عِدَّ فترات الإطلاق المتمايزة
اجمعها مع: github

التركيبات

اجمعها مع خوادم MCP أخرى لتحقيق نتائج x10

mcp-grafana + sentry

ربط أخطاء Sentry مع اختراقات المقاييس/السجلات

Sentry: get the spike in errors for OrderService. Grafana: pull Prometheus + Loki around the same window.✓ تم النسخ
mcp-grafana + github

فتح PR بتنظيفات قواعد التنبيه

Grafana: audit alert rules. GitHub: open a PR replacing the noisy rules with tightened thresholds.✓ تم النسخ
mcp-grafana + filesystem

حفظ الجدول الزمني للحادثة في ملف post-mortem Markdown

Build a timeline from Grafana, save to /pm/2026-05-incident.md.✓ تم النسخ

الأدوات

ما يوفره هذا الـ MCP

الأداةالمدخلاتمتى تستدعيهاالتكلفة
list_datasources (none) الاستدعاء الأول، اعرف ما المتاح 1 API call
query_prometheus datasource_uid, query, time? قيمة مقياس فورية 1 call
query_prometheus_range datasource_uid, query, start, end, step تحقيق في السلاسل الزمنية 1 call
query_loki_logs datasource_uid, expr, start, end, limit? سحب السجلات 1 call
search_dashboards query: str إيجاد dashboard 1 call
get_dashboard uid: str فحص الـ panels 1 call
list_alert_rules folder? مراجعة / اكتشاف 1 call
list_alert_instances state? ما الذي يُطلَق الآن 1 call
list_oncall_schedules (none) من في المناوبة 1 call

التكلفة والحدود

تكلفة التشغيل

حصة API
مقيَّد بحدود مثيل Grafana؛ Cloud له حدود QPS على مستوى المؤسسة
الرموز لكل استدعاء
300–8000 (range queries قد تكون كبيرة)
التكلفة المالية
مجاني مفتوح المصدر؛ Grafana Cloud يُفوتر بشكل طبيعي
نصيحة
مرِّر step= دائماً على range queries؛ استخدم Loki limit=100 إلا إذا كنت تعرف الحجم

الأمان

الصلاحيات والأسرار ونطاق الأثر

الحد الأدنى من الصلاحيات: service-account with Viewer or Editor
تخزين بيانات الاعتماد: token حساب الخدمة في متغير بيئة
نقل البيانات الخارجي: URL Grafana الخاص بك فقط
لا تمنح أبدًا: Admin role unless you need rule mutation

استكشاف الأخطاء

الأخطاء الشائعة وحلولها

401 Unauthorized

token خاطئ أو حساب الخدمة معطَّل

تحقق: curl -H 'Authorization: Bearer $TOKEN' $URL/api/health
Prometheus query timeout

قلِّل النطاق الزمني أو الخطوة

Loki 'parse error'

يتطلب LogQL فلتر تسمية يساراً في pipeline؛ مثلاً {service="x"} |= "err"

Dashboard not found

تغيَّر UID بعد الاستيراد؛ ابحث بالعنوان أولاً

البدائل

Grafana MCP مقابل البدائل

البديلمتى تستخدمهاالمقايضة
Direct Prometheus MCPPrometheus فقط، بلا Grafanaلا dashboards، لا تكامل واجهة تنبيهات
Datadog MCPأنت على Datadogمكدَّس مراقبة مختلف
Loki MCP standaloneسجلات فقطسطح أصغر

المزيد

الموارد

📖 اقرأ ملف README الرسمي على GitHub

🐙 تصفح القضايا المفتوحة

🔍 تصفح أكثر من 400 خادم MCP و Skills