A Model Context Protocol (MCP) server that provides seamless access to SigNoz observability data through AI assistants and LLMs. This server enables natural language queries for metrics, alerts, dashboards, and service performance data.
- 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
- 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
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β MCP Client βββββΆβ MCP Server βββββΆβ SigNoz API β
β (AI Assistant)β β (Go) β β (Observability)β
βββββββββββββββββββ ββββββββββββββββββββ βββββββββββββββββββ
β
βΌ
ββββββββββββββββββββ
β Tool Handlers β
β (HTTP Client) β
ββββββββββββββββββββ
- 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
- Go 1.25 or higher
- SigNoz instance with API access
- Valid SigNoz API key
signoz-mcp-server/
βββ cmd/server/ # Main application entry point
βββ internal/
β βββ client/ # SigNoz API client
β βββ config/ # Configuration management
β βββ handler/tools/ # MCP tool implementations
β βββ logger/ # Logging utilities
β βββ mcp-server/ # MCP server core
βββ go.mod # Go module dependencies
βββ Makefile # Build automation
βββ README.md
# Clone the repository
git clone https://github.com/SigNoz/signoz-mcp-server.git
cd signoz-mcp-server
# Build the binary
make build
# Or build directly with Go
go build -o bin/signoz-mcp-server ./cmd/server/Set the following environment variables:
export SIGNOZ_URL="https://your-signoz-instance.com"
export SIGNOZ_API_KEY="your-api-key-here"# Run the built binary
./bin/signoz-mcp-server- Add New Tools: Implement in
internal/handler/tools/ - Extend Client: Add methods to
internal/client/client.go - Register Tools: Add to appropriate handler registration
- Test: Use MCP client to verify functionality
The MCP server provides the following tools that can be used through natural language:
"Show me all available metrics"
"Search for CPU-related metrics"
"List all active alerts"
"Get details for alert rule ID abc123"
"List all dashboards"
"Show me the Host Metrics dashboard details"
"List all services from the last 24 hours"
"What are the top operations for the paymentservice?"
Lists all available metric keys from SigNoz.
Searches for metrics by text query.
- Parameters:
searchText(required) - Text to search for
Lists all active alerts from SigNoz.
Gets details of a specific alert rule.
- Parameters:
ruleId(required) - Alert rule ID
Lists all dashboards with summaries (name, UUID, description, tags).
- Returns: Simplified dashboard information for better LLM processing
Gets complete dashboard configuration.
- Parameters:
uuid(required) - Dashboard UUID
Lists all services within a time range.
- Parameters:
start(required) - Start time in nanosecondsend(required) - End time in nanoseconds
Gets top operations for a specific service.
- Parameters:
start(required) - Start time in nanosecondsend(required) - End time in nanosecondsservice(required) - Service nametags(optional) - JSON array of tags
All time parameters use nanoseconds since Unix epoch. For example:
- Current time:
1751328000000000000(August 2025) - 24 hours ago:
1751241600000000000
All tools return JSON responses that are optimized for LLM consumption:
- List operations: Return summaries to avoid overwhelming responses
- Detail operations: Return complete data when specific information is requested
- Error handling: Structured error messages for debugging
| Variable | Description | Required |
|---|---|---|
SIGNOZ_URL |
SigNoz instance URL | Yes |
SIGNOZ_API_KEY |
SigNoz API key | Yes |
We welcome contributions!
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests
- Submit a pull request
- Follow Go best practices
- Use meaningful variable names
- Add comments for complex logic
- Ensure proper error handling
Made with β€οΈ for the observability community