关于 Signoz Mcp Server
Signoz MCP Server 将 SigNoz 的可观测性数据提供给开发工具和 AI 助手,面向使用 SigNoz 实例的开发者。它可查询日志、追踪、仪表板和 APM 指标,并支持自定义 ClickHouse SQL 与 Builder 查询。
主要功能
- 01列出仪表板并获取详情
- 02查询仪表板面板数据
- 03获取服务与 APM 指标
- 04查询追踪和日志
- 05执行 ClickHouse SQL 与 Builder 查询
适用场景
- 01检查服务请求率、错误率和延迟
- 02按时间范围查看日志或追踪
- 03获取仪表板面板数据
- 04运行自定义指标查询
MCP 相关
该 MCP 服务向兼容客户端暴露 SigNoz 仪表板、服务、APM 指标、日志和追踪查询工具,也支持 ClickHouse SQL 与 Builder 查询。可通过 STDIO 或 HTTP/SSE 连接。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Signoz MCP 服务
观看 Cursor 上的运行演示 📽️ https://youtube.com/shorts/jxjmGyXXz7A
可用工具
以下工具可通过 MCP 服务使用:
- test_connection:验证与 Signoz 实例的连接以及配置。
- fetch_dashboards:列出 Signoz 中所有可用的仪表板。
- fetch_dashboard_details:根据仪表板 ID 获取特定仪表板的详细信息。此信息包含仪表板的元数据,不包含实时面板数据。
- fetch_dashboard_data:根据仪表板名称和时间范围获取该仪表板的所有面板数据。
- fetch_apm_metrics:根据服务和时间范围获取标准 APM 指标(请求率、错误率、延迟、Apdex 等)。
- fetch_services:获取 Signoz 中所有经过检测的服务,可选按时间范围筛选。
- execute_clickhouse_query:通过 Signoz API 执行自定义 Clickhouse SQL 查询,并支持时间范围。
- execute_builder_query:执行 Signoz 构建器查询,以获取自定义指标和聚合结果,并支持时间范围。
- fetch_traces_or_logs:使用 ClickHouse SQL 从 SigNoz 获取追踪或日志。指定
data_type('traces' 或 'logs')、时间范围、服务名称和限制数量。返回追踪或日志的表格结果。
🚀 使用方法与要求
1. 获取 Signoz API 端点和(可选)API 密钥
- 确保你有一个正在运行的 Signoz 实例(可自托管或使用云服务)。
- (可选)如果你的 Signoz 实例的健康检查端点需要 API 密钥,请从 Signoz UI 生成或获取该密钥。
2. 安装与运行选项
2A. 使用 uv 安装和运行(推荐用于本地开发)
2A.1. 使用 uv 安装依赖项
uv venv .venv
source .venv/bin/activate
uv sync
2A.2. 使用 uv 运行服务
uv run -m src.signoz_mcp_server.mcp_server
- 你也可以根据需要使用
uv运行其他入口脚本。 - 确保
config.yaml与mcp_server.py位于同一目录中,或设置所需的环境变量(参见“配置”部分)。
2B. 使用 Docker Compose 运行(推荐用于生产环境/容器化环境)
- 编辑
src/signoz_mcp_server/config.yaml,填写你的 Signoz 详细信息(主机地址,以及需要时的 API 密钥)。 - 启动服务:
docker-compose up -d- 服务默认以 HTTP(SSE)模式运行在端口 8000 上。
- 你可以使用环境变量覆盖配置(见下文)。
3. 配置
服务按以下优先级顺序加载配置:
- 环境变量(推荐用于 Docker/CI):
SIGNOZ_HOST:Signoz 实例 URL(例如https://your-signoz-instance.com)SIGNOZ_API_KEY:Signoz API 密钥(可选)SIGNOZ_SSL_VERIFY:true或false(默认值:true)MCP_SERVER_PORT:服务运行的端口(默认值:8000)MCP_SERVER_DEBUG:true或false(默认值:true)
- YAML 文件回退配置(
config.yaml):signoz: host: "https://your-signoz-instance.com" api_key: "your-signoz-api-key-here" # Optional ssl_verify: "true" server: port: 8000 debug: true
4. 与 AI 助手集成(例如 Claude Desktop、Cursor)
你可以将此 MCP 服务与任何支持 MCP 协议的工具集成。主要选项如下:
4A. 使用 Docker Compose 或 Docker(通过环境变量,mcp-grafana 风格)
{
"mcpServers": {
"signoz": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"SIGNOZ_HOST",
"-e",
"SIGNOZ_API_KEY",
"-e",
"SIGNOZ_SSL_VERIFY",
"drdroidlab/signoz-mcp-server",
"-t",
"stdio"
],
"env": {
"SIGNOZ_HOST": "https://your-signoz-instance.com",
"SIGNOZ_API_KEY": "your-signoz-api-key-here",
"SIGNOZ_SSL_VERIFY": "true"
}
}
}
}
-t stdio参数受支持,可与 Docker MCP 客户端兼容(强制使用 stdio 握手模式)。- 根据你的部署需要调整卷路径或环境变量。
4C. 连接到已运行的 MCP 服务(HTTP/SSE)
如果你已有正在运行的 MCP 服务(例如,运行在远程主机、云 VM 或 Kubernetes 上),可以将 AI 助手或工具直接连接到其 HTTP 端点。
示例:Claude Desktop 或类似工具
{
"mcpServers": {
"signoz": {
"url": "http://your-server-host:8000/mcp"
}
}
}
- 将
your-server-host替换为 MCP 服务实际运行所在的主机。 - 本地设置时,将
localhost用作服务主机(即http://localhost:8000/mcp)。 - 本地或未加密部署使用
http,生产环境或安全部署使用https。 - 确保客户端机器可以访问该服务(检查防火墙、安全组等)。
示例:MCP 配置 YAML
mcp:
endpoint: "http://your-server-host:8000/mcp"
protocolVersion: "2025-06-18"
- 将
your-server-host替换为 MCP 服务实际运行所在的主机。 - 本地设置时,将
localhost用作服务主机(即http://localhost:8000/mcp)。 - 根据 MCP 服务的部署方式,在 URL schema 中使用
http或https。 - 无需指定
command或args——只需指向 HTTP 端点。 - 任何支持通过 HTTP 使用 MCP 的工具或助手都可以使用此配置。
- 服务必须以 HTTP(SSE)模式运行(这是此实现的默认模式)。
健康检查
curl http://localhost:8000/health
服务默认运行在 8000 端口。
5. 其他:
- 需要帮助?加入我们的 Discord 社区,并在 #mcp 频道提问。
- 想在不进行设置的情况下试用?请参阅此文档,快速开始使用 DrDroid 云平台。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。