Grafana MCP Server هو خادم يعتمد على بروتوكول سياق النموذج (Model Context Protocol, MCP)، مصمم خصيصًا للتكامل مع مثيلات Grafana والنظام البيئي المحيط بها. يوفر هذا المشروع لوكلاء الذكاء الاصطناعي (مثل Claude Desktop) القدرة على الوصول إلى وظائف Grafana المختلفة والتعامل معها.
يوفر هذا المشروع خيارات تكوين أدوات مرنة، يمكنك اختيار تمكين أو تعطيل فئات وظائف معينة:
اسم الأداة | التصنيف | الوصف |
---|---|---|
search_dashboards |
Search | البحث عن لوحات المعلومات |
get_dashboard_by_uid |
Dashboard | الحصول على لوحة معلومات عبر UID |
update_dashboard |
Dashboard | تحديث أو إنشاء لوحة معلومات جديدة |
list_datasources |
Datasources | سرد مصادر البيانات |
query_prometheus |
Prometheus | تنفيذ استعلام Prometheus |
query_loki_logs |
Loki | الاستعلام عن السجلات واسترجاعها |
list_incidents |
Incident | سرد الأحداث |
list_alert_rules |
Alerting | سرد قواعد التنبيه |
list_oncall_schedules |
OnCall | سرد خطط المناوبة OnCall |
find_error_pattern_logs |
Sift | البحث عن أنماط الأخطاء |
يمكنك استخدام العلامة --disable-<category>
لتعطيل فئات أدوات معينة. على سبيل المثال، استخدام --disable-oncall
لتعطيل الأدوات المتعلقة بـ OnCall.
docker pull mcp/grafana
docker run -p 8000:8000 -e GRAFANA_URL=http://localhost:3000 -e GRAFANA_API_KEY=<your_token> mcp/grafana
قم بتنزيل أحدث إصدار من صفحة الإصدارات وضعه في دليل $PATH
.
GOBIN="$HOME/go/bin" go install github.com/grafana/mcp-grafana/cmd/mcp-grafana@latest
باستخدام الملفات الثنائية:
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": [],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
باستخدام Docker:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run", "--rm", "-p", "8000:8000",
"-e", "GRAFANA_URL", "-e", "GRAFANA_API_KEY",
"mcp/grafana"
],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
قم بتمكين وضع التصحيح عن طريق إضافة العلامة -debug
، والتي يمكن أن توفر سجلات مفصلة لطلبات واستجابات HTTP:
{
"mcpServers": {
"grafana": {
"command": "mcp-grafana",
"args": ["-debug"],
"env": {
"GRAFANA_URL": "http://localhost:3000",
"GRAFANA_API_KEY": "<your service account token>"
}
}
}
}
# تشغيل الخادم
make run
# بناء صورة Docker
make build-image
# تشغيل حاوية Docker
docker run -it --rm -p 8000:8000 mcp-grafana:latest
make test-unit
# أو
make test
# يتطلب تشغيل حاوية Docker
make test-integration
# يتطلب مثيل Grafana السحابي وبيانات الاعتماد
make test-cloud
# ابدأ مثيل Grafana المحلي
docker-compose up -d
# تشغيل جميع الاختبارات
make test-all
make lint
يحتوي هذا المشروع على أداة lint مخصصة لفحص الفواصل غير المهربة في علامات بنية jsonschema
:
make lint-jsonschema
يمثل هذا المشروع اتجاهًا جديدًا في تكامل الذكاء الاصطناعي مع أدوات المراقبة التقليدية، مما يوفر للمطورين جسرًا قويًا يربط مساعدي الذكاء الاصطناعي ونظام Grafana البيئي.