gigapipe-traces-mcp
Tempo MCP Server
Documentation
Tempo MCP Server
A Go-based server implementation for the Model Context Protocol (MCP) with Grafana Tempo integration.
Overview
This MCP server allows AI assistants to query and analyze distributed tracing data from Grafana Tempo. It follows the Model Context Protocol to provide tool definitions that can be used by compatible AI clients such as Claude Desktop.
Getting Started
Prerequisites
- Go 1.21 or higher
- Docker and Docker Compose (for local testing)
Building and Running
Build and run the server:
# Build the server
go build -o tempo-mcp-server ./cmd/server
# Run the server
./tempo-mcp-serverOr run directly with Go:
go run ./cmd/serverThe server now supports two modes of communication:
1. Standard input/output (stdin/stdout) following the Model Context Protocol (MCP)
2. HTTP Server with Server-Sent Events (SSE) endpoint for integration with tools like n8n
The default port for the HTTP server is 8080, but can be configured using the `SSE_PORT` environment variable.
Server Endpoints
When running in HTTP mode, the server exposes the following endpoints:
- SSE Endpoint: `http://localhost:8080/sse` - For real-time event streaming
- MCP Endpoint: `http://localhost:8080/mcp` - For MCP protocol messaging
Docker Support
You can build and run the MCP server using Docker:
# Build the Docker image
docker build -t tempo-mcp-server .
# Run the server
docker run -p 8080:8080 --rm -i tempo-mcp-serverAlternatively, you can use Docker Compose for a complete test environment:
# Build and run with Docker Compose
docker-compose up --buildProject Structure
.
├── cmd/
│ ├── server/ # MCP server implementation
│ └── client/ # Client for testing the MCP server
├── internal/
│ └── handlers/ # Tool handlers
├── pkg/
│ └── utils/ # Utility functions and shared code
└── go.mod # Go module definitionMCP Server
The Tempo MCP Server implements the Model Context Protocol (MCP) and provides the following tools:
Tempo Query Tool
The `tempo_query` tool allows you to query Grafana Tempo trace data:
- Required parameters:
- `query`: Tempo query string (e.g., `{service.name="frontend"}`, `{duration>1s}`)
- Optional parameters:
- `url`: The Tempo server URL (default: from TEMPO_URL environment variable or http://localhost:3200)
- `start`: Start time for the query (default: 1h ago)
- `end`: End time for the query (default: now)
- `limit`: Maximum number of traces to return (default: 20)
- `username`: Username for basic authentication (optional)
- `password`: Password for basic authentication (optional)
- `token`: Bearer token for authentication (optional)
Environment Variables
The Tempo query tool supports the following environment variables:
- `TEMPO_URL`: Default Tempo server URL to use if not specified in the request
- `SSE_PORT`: Port for the HTTP/SSE server (default: 8080)
Testing
./run-client.sh tempo_query "{resource.service.name=\\\"example-service\\\"}"Using with Claude Desktop
You can use this MCP server with Claude Desktop to add Tempo query tools. Follow these steps:
1. Build the server or Docker image
2. Configure Claude Desktop to use the server by adding it to your Claude Desktop configuration file
Example Claude Desktop configuration:
{
"mcpServers": {
"temposerver": {
"command": "path/to/tempo-mcp-server",
"args": [],
"env": {
"TEMPO_URL": "http://localhost:3200"
},
"disabled": false,
"autoApprove": ["tempo_query"]
}
}
}For Docker:
{
"mcpServers": {
"temposerver": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "TEMPO_URL=http://host.docker.internal:3200", "tempo-mcp-server"],
"disabled": false,
"autoApprove": ["tempo_query"]
}
}
}The Claude Desktop configuration file is located at:
- On macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- On Windows: `%APPDATA%\Claude\claude_desktop_config.json`
- On Linux: `~/.config/Claude/claude_desktop_config.json`
Using with Cursor
You can also integrate the Tempo MCP server with the Cursor editor. To do this, add the following configuration to your Cursor settings:
{
"mcpServers": {
"tempo-mcp-server": {
"command": "docker",
"args": ["run", "--rm", "-i", "-e", "TEMPO_URL=http://host.docker.internal:3200", "tempo-mcp-server:latest"]
}
}
}Using with n8n
To use the Tempo MCP server with n8n, you can connect to it using the MCP Client Tool node:
1. Add an MCP Client Tool node to your n8n workflow
2. Configure the node with these parameters:
3. Connect the MCP Client Tool node to an AI Agent node that will use the Tempo querying capabilities
Example workflow:
Trigger → MCP Client Tool (Tempo server) → AI Agent (Claude)
Example Usage
Once configured, you can use the tools in Claude with queries like:
- "Query Tempo for traces with the query `{duration>1s}`"
- "Find traces from the frontend service in Tempo using query `{service.name=\"frontend\"}`"
- "Show me the most recent 50 traces from Tempo with `{http.status_code=500}`"
License
This project is licensed under the MIT License.
Frequently asked questions
What is gigapipe-traces-mcp?
gigapipe-traces-mcp is Tempo MCP Server
How do I install gigapipe-traces-mcp?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is gigapipe-traces-mcp open source?
Yes — it is hosted on GitHub at https://github.com/gigapipehq/gigapipe-traces-mcp.
Related MCP tools
eBPF-powered network observability for Kubernetes. Indexes L4/L7 traffic with full K8s context, decrypts TLS without keys. Queryable by AI agents via MCP and humans via dashboard.
GOWA - WhatsApp REST API with support for UI, Multi Account, Webhooks, and MCP, and Chatwoot. Built with Golang for efficient memory use.
The missing open-source Kubernetes UI with a built-in MCP server for AI agents. See what's broken, why, and what changed. Issues, Topology, event timeline, Helm, GitOps, live service traffic, and cluster audits - all in one Go binary.
mcp-language-server gives MCP enabled clients access semantic tools like get definition, references, rename, and diagnostics.
The Terraform MCP Server provides seamless integration with Terraform ecosystem, enabling advanced automation and interaction capabilities for Infrastructure as Code (IaC) development.
Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP