通过MCP服务器可以使用以下工具:
glsa_开头)uv venv .venv
source .venv/bin/activate
uv sync
uv run -m src.grafana_mcp_server.mcp_server
uv来运行其他入口脚本。config.yaml与mcp_server.py在同一目录下,或者设置所需的环境变量(参见配置部分)。grafana-mcp-server/src/grafana_mcp_server/config.yaml,填写您的Grafana详细信息(主机、API密钥)。docker compose up -d
服务器按以下优先级加载配置:
GRAFANA_HOST: Grafana实例URL(例如https://your-grafana-instance.com)GRAFANA_API_KEY: Grafana服务账户令牌(必需)GRAFANA_SSL_VERIFY: true 或 false(默认:true)MCP_SERVER_PORT: 运行服务器的端口(默认:8000)MCP_SERVER_DEBUG: true 或 false(默认:true)config.yaml):
grafana:
host: "https://your-grafana-instance.com"
api_key: "your-grafana-api-key-here"
ssl_verify: "true"
server:
port: 8000
debug: true
您可以将此MCP服务器与支持MCP协议的任何工具集成。以下是主要选项:
{
"mcpServers": {
"grafana": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"GRAFANA_HOST",
"-e",
"GRAFANA_API_KEY",
"-e",
"GRAFANA_SSL_VERIFY",
"drdroidlab/grafana-mcp-server",
"-t",
"stdio"
],
"env": {
"GRAFANA_HOST": "https://your-grafana-instance.com",
"GRAFANA_API_KEY": "your-grafana-api-key-here",
"GRAFANA_SSL_VERIFY": "true"
}
}
}
}
-t stdio参数是为了兼容Docker MCP客户端(强制使用stdio握手模式)。如果您已经有一个运行中的MCP服务器(例如在远程主机、云VM或Kubernetes上),可以直接连接您的AI助手或工具到其HTTP端点。
{
"mcpServers": {
"grafana": {
"url": "http://your-server-host:8000/mcp"
}
}
}
your-server-host替换为您实际运行MCP服务器的主机。localhost作为服务器主机(即http://localhost:8000/mcp)。http进行本地或非安全部署,使用https进行生产或安全部署。curl http://localhost:8000/health
服务器默认运行在8000端口。
grafana-mcp-server/
│ └── src/
│ └── grafana_mcp_server/
│ ├── __init__.py
│ ├── config.yaml # 配置文件
│ ├── mcp_server.py # 主MCP服务器实现
│ ├── stdio_server.py # MCP的STDIO服务器
│ └── processor/
│ ├── __init__.py
│ ├── grafana_processor.py # Grafana API处理器
│ └── processor.py # 基础处理器接口
├── tests/
├── Dockerfile
├── docker-compose.yml
├── pyproject.toml
└── README.md
连接失败:
身份验证错误:
查询失败:
启用调试模式以获得更详细的日志:
export MCP_SERVER_DEBUG=true
git checkout -b feature/amazing-feature)git commit -m '添加一些很棒的功能')git push origin feature/amazing-feature)该项目采用MIT许可证 - 查看LICENSE文件了解详情。