Signoz MCP服务器
在Cursor上观看工作演示📽️ https://youtube.com/shorts/jxjmGyXXz7A
可用工具
以下工具可通过MCP服务器获得:
- test_连接:验证与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(“跟踪”或“日志”)、时间范围、服务名称和限制。返回跟踪或日志的表格结果。
🚀 使用和要求
1.获取Signoz API端点和(可选)API密钥
- 确保您有一个正在运行的Signoz实例(自托管或云)。
- (可选)如果您的Signoz实例需要健康终结点的API密钥,请从Signoz UI生成或获取该密钥。
______________________________________________________________________
2.安装和运行选项
2A。安装并运行uv(建议用于本地开发)
2A.1。使用uv安装依赖项
uv venv .venv
source .venv/bin/activate
uv sync2A.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- 默认情况下,服务器将在端口8000上以HTTP(SSE)模式运行。 - 您可以使用环境变量覆盖配置(见下文)。
______________________________________________________________________
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.与人工智能助手(如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). - 使用
http或https根据您部署MCP服务器的方式,在URL模式中。 - 无需指定
command或args--只需指向HTTP端点。 - 这适用于支持HTTP MCP的任何工具或助手。
- 服务器必须在HTTP(SSE)模式下运行(此实现的默认模式)。
______________________________________________________________________
健康检查
curl http://localhost:8000/health默认情况下,服务器在端口8000上运行。
______________________________________________________________________
