MCP (Model Context Protocol) is an open-source standard for connecting AI applications to external systems.
Signoz MCP Server lets AI assistance and LLMs connect to Signoz observability data. Integration of signoz-mcp-server with LLMs and AI assistance like Cursor or Claude enables you to query in natural language and get more precise and structured information.
Working
┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐
│ MCP Client │───▶│ MCP Server │───▶│ SigNoz API │
│ (AI Assistant) │ │ (Go) │ │ (Observability)│
└─────────────────┘ └──────────────────┘ └─────────────────┘
│
▼
┌──────────────────┐
│ Tool Handlers │
│ (HTTP Client) │
└──────────────────┘
📌 Note: Signoz MCP Server is ready for use but under heavy development and its expected to see changes. Early feedback is appreciated.
Current state of signoz-mcp-server provides tools as mentioned below.
- List Metric Keys: Retrieve all available metric keys from SigNoz
- Search Metric Keys: Find specific metrics
- List Alerts: Get all active alerts with detailed status
- Get Alert Details: Retrieve comprehensive information about specific alert rules
- Logs: Gets log related to services, alerts, etc.
- List Dashboards: Get dashboard summaries (name, UUID, description, tags)
- Get Dashboard: Retrieve complete dashboard configurations with panels and queries
- List Services: Discover all services within specified time ranges
- Service Top Operations: Analyze performance metrics for specific services
- Query Builder: Generates query to get complex response
Core Components
- MCP Server: Handles MCP protocol communication
- Tool Handlers: Register and manage available tools
- SigNoz Client: HTTP client for SigNoz API interactions
- Configuration: Environment-based configuration management
- Logging: Structured logging with Zap
Integrations
In current state signoz-mcp-server can be integrated with Stdio or http mode, tested with Cursor and Claude.
Claude Desktop
Stdio based
- Build or locate the binary path for
signoz-mcp-server
(for example:.../signoz-mcp-server/bin/signoz-mcp-server
). - Go to Claude -> Settings -> Developer -> Local MCP Server click on
edit config
- Edit
claude_desktop_config.json
Add shown config with your signoz url, api key and path to signoz-mcp-server binary.
{
"mcpServers": {
"signoz": {
"command": "/absolute/path/to/signoz-mcp-server/bin/signoz-mcp-server",
"args": [],
"env": {
"SIGNOZ_URL": "https://your-signoz-instance.com",
"SIGNOZ_API_KEY": "your-api-key-here",
"LOG_LEVEL": "info"
}
}
}
}
- Restart Claude Desktop. You should see the
signoz
server load in the developer console and its tools become available.
📌 Note: Replace the
command
path with your actual binary location.
HTTP based
- Build and run signoz-mcp-server with envs
SIGNOZ_URL=signoz_url SIGNOZ_API_KEY=signoz_apikey TRANSPORT_MODE=http MCP_SERVER_PORT=8000 LOG_LEVEL=log_level ./signoz-mcp-server
- or use docker-compose
- Go to Claude -> Settings -> Developer -> Local MCP Server click on
edit config
- Edit
claude_desktop_config.json
Add shown config with your signoz url, api key and path to signoz-mcp-server binary.
{
"mcpServers": {
"signoz": {
"url": <hosted-mcp-server-url/mcp> "http://localhost:8000/mcp",
}
}
}
- Restart Claude Desktop. You should see the
signoz
server load in the developer console and its tools become available.
Cursor
Stdio based
Option A — GUI:
- Open Cursor → Settings → Cursor Settings → Tool & Integrations →
+
New MCP Server
Option B — Project config file: Create .cursor/mcp.json
in your project root:
For Both options use same json struct
{
"mcpServers": {
"signoz": {
"command": "/absolute/path/to/signoz-mcp-server/bin/signoz-mcp-server",
"args": [],
"env": {
"SIGNOZ_URL": "https://your-signoz-instance.com",
"SIGNOZ_API_KEY": "your-api-key-here",
"LOG_LEVEL": "info"
}
}
}
}
Once added, restart Cursor to use the SigNoz tools.
HTTP based
Build and run signoz-mcp-server with envs
SIGNOZ_URL=signoz_url SIGNOZ_API_KEY=signoz_apikey TRANSPORT_MODE=http MCP_SERVER_PORT=8000 LOG_LEVEL=log_level ./signoz-mcp-server
- or use docker-compose
Option A — GUI:
- Open Cursor → Settings → Cursor Settings → Tool & Integrations →
+
New MCP Server
Option B — Project config file: Create .cursor/mcp.json
in your project root:
For Both options use same json struct
{
"mcpServers": {
"signoz": {
"url": <hosted-mcp-server-url/mcp> "http://localhost:8000/mcp",
}
}
}
📌 Note: By default, the server logs at
info
level. If you need detailed debugging information, setLOG_LEVEL=debug
in your environment. For production use, consider usingLOG_LEVEL=warn
to reduce log verbosity.