Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Grafana Tempo

FreeNot checked

Integrates with Grafana Tempo for distributed tracing analysis, enabling conversational access to trace searches and detailed trace information for debugging mi

GitHubEmbed

About

Integrates with Grafana Tempo for distributed tracing analysis, enabling conversational access to trace searches and detailed trace information for debugging microservices and investigating performance bottlenecks.

README

A simple, working MCP (Model Context Protocol) server for Grafana Tempo with intelligent query format detection and enhanced trace analysis.

🚀 Why This Implementation Works Better

This implementation addresses critical issues found in the official Grafana tempo-mcp-server:

  • 🧠 Intelligent Query Detection: Automatically detects TraceQL, tags, or service name formats
  • ✅ Correct URL Encoding: Proper URL encoding for all query types
  • 📊 Human-Readable Responses: Structured output with emojis and context
  • ⏰ Flexible Time Handling: Unix timestamps, relative times (-1h), RFC3339, "now"

🔧 Features

Two Powerful Tools

  • tempo_query: Search traces with intelligent format detection
  • tempo_trace_detail: Get detailed trace information by trace ID

Query Examples

# TraceQL (auto-detected by {} brackets)
{service.name="payment-service" && duration>1s}

# Service name (auto-detected as simple string)
payment-service

# Tags format (auto-detected by = sign)
service.name=payment-service

🚀 Quick Start

# Build the binary
go build -o tempo-mcp-server ./cmd/server

# Run with your Tempo instance
TEMPO_URL=http://your-tempo:3200 ./tempo-mcp-server

⚙️ MCP Configuration

Claude Desktop Configuration

Add to your Claude Desktop config file:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Linux: ~/.config/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "tempo": {
      "command": "/path/to/tempo-mcp-server",
      "env": {
        "TEMPO_URL": "http://your-tempo:3200"
      }
    }
  }
}

Environment Variables

  • TEMPO_URL: Your Tempo query-frontend endpoint (default: http://localhost:3200)

🎯 Usage Examples

Query Examples

# Find slow traces
{duration>1s}

# Service-specific errors  
{service.name="payment-service" && status=error}

# HTTP errors
{http.status_code>=400}

# Simple service name
payment-service

Time Range Examples

start: "-1h"        # 1 hour ago
start: "-6h"        # 6 hours ago  
start: "1754541396" # Unix timestamp
end: "now"          # Current time

🆚 Why This Works vs Official Grafana Version

Issue This Implementation Official Grafana
Query Format 🧠 Auto-detects TraceQL/tags/service ❌ Manual format specification
URL Encoding ✅ Automatic & correct ⚠️ Encoding issues
Response Format 📊 Human-readable 📄 Raw JSON
Error Handling 🛡️ Detailed context ❓ Generic errors

📄 License

MIT License - see LICENSE file for details.


⭐ Simple, working Tempo MCP server that just works with Claude Desktop!

from github.com/c3ptv3/simple-tempo-mcp-server

Installing Grafana Tempo

This server has no published package — it is built from source. Open the repository and follow its README.

▸ github.com/c3ptv3/simple-tempo-mcp-server

FAQ

Is Grafana Tempo MCP free?

Yes, Grafana Tempo MCP is free — one-click install via Unyly at no cost.

Does Grafana Tempo need an API key?

No, Grafana Tempo runs without API keys or environment variables.

Is Grafana Tempo hosted or self-hosted?

Self-hosted: the server runs locally on your machine via the install command above.

How do I install Grafana Tempo in Claude Desktop, Claude Code or Cursor?

Open Grafana Tempo on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Related MCPs

Compare Grafana Tempo with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All development MCPs