简单Tempo MCP服务器
Grafana Tempo的一个简单、可工作的MCP(模型上下文协议)服务器,具有智能查询格式检测和增强的跟踪分析功能。
🚀 为什么这种实现效果更好
该实施解决了 官方Grafana节奏mcp服务器:
- 🧠 智能查询检测:自动检测TraceQL、标记或服务名称格式
- ✅ 正确的URL编码:所有查询类型的正确URL编码
- 📊 人类可读响应:带有表情符号和上下文的结构化输出
- ⏰ 灵活的时间处理:Unix时间戳,相对时间(-1h),RFC3339,“现在”
🔧 特性
两个强大的工具
tempo_query:使用智能格式检测搜索痕迹tempo_trace_detail:通过跟踪ID获取详细的跟踪信息
查询示例
# 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🚀 快速开始
# 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配置
Claude桌面配置
添加到您的Claude Desktop配置文件中:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json\ 视窗: %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"
}
}
}
}环境变量
TEMPO_URL:Tempo查询前端端点(默认值:http://localhost:3200)
🎯 使用示例
查询示例
# 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时间范围示例
start: "-1h" # 1 hour ago
start: "-6h" # 6 hours ago
start: "1754541396" # Unix timestamp
end: "now" # Current time🆚 为什么这对官方Grafana版本有效
| 问题 | 此实施 | Grafana官方 |
|---|---|---|
| 查询格式 | 🧠 自动检测TraceQL/标签/服务 | ❌ 手动格式规范 |
| URL译码 | ✅ 自动更正 | ⚠️ 编码问题 |
| 响应格式 | 📊 人类可读 | 📄 原始JSON |
| 错误处理 | 🛡️ 详细背景 | ❓ 一般性错误 |
📄 许可证
MIT许可证-请参阅 许可证 文件以获取详细信息。
______________________________________________________________________
⭐ 简单易用的Tempo MCP服务器,仅适用于Claude Desktop!
