OTEL MCP Server
Query and analyze distributed traces from Jaeger, supporting service discovery, trace inspection, performance analysis, and error finding.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@OTEL MCP Servershow me the slowest traces from the payment service"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
OTEL MCP Server
Agentic: An MCP-native observability surface that lets agents query their own execution history.
Human Centric: Query and analyze distributed traces with AI assistance for debugging and performance optimization.
Features
Service Discovery: List services and operations in your Jaeger instance
Trace Inspection: Search, filter, and inspect traces with full span details
Performance Analysis: Find slow traces, get latency percentiles, error rates
REST API: FastAPI endpoints with OpenAPI documentation at
/docsSelf-Telemetry: The server traces itself to Jaeger for debugging
Related MCP server: poly-observability-mcp
Installation
Using uvx (Recommended)
Run directly without installing:
# Run MCP server
uvx otel-mcp
# Run REST API
uvx --from otel-mcp otel-mcp-apiUsing pip
pip install otel-mcp
# Then run
otel-mcp # MCP server
otel-mcp-api # REST APIFrom Source
git clone https://github.com/ryanm101/otel-mcp.git
cd otel-mcp
uv sync
uv run otel-mcpQuick Start
1. Start Jaeger
docker-compose up -d
# Jaeger UI at http://localhost:166862. Run the MCP Server
uvx otel-mcp
# Or with environment variables:
JAEGER_URL=http://jaeger:16686 uvx otel-mcp3. Or Run the REST API
uvx --from otel-mcp otel-mcp-api
# OpenAPI docs at http://localhost:8000/docsMCP Client Configuration
Add to your MCP client config (e.g., Claude Desktop claude_desktop_config.json):
{
"mcpServers": {
"otel-mcp": {
"command": "uvx",
"args": ["otel-mcp"],
"env": {
"JAEGER_URL": "http://localhost:16686"
}
}
}
}Configuration
Create a .env file (see .env.example):
JAEGER_URL=http://localhost:16686
JAEGER_TIMEOUT=30
LOG_LEVEL=INFO
# Self-telemetry (optional)
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
OTEL_SERVICE_NAME=otel-mcp
# OTEL_SDK_DISABLED=true # Disable self-telemetryMCP Tools
Service Discovery
Tool | Description |
| List all services in Jaeger |
| List operations for a service |
Trace Inspection
Tool | Description |
| Search traces with filters (service, operation, duration, errors) |
| Get complete trace by ID with all spans |
| Find traces containing errors |
Performance Analysis
Tool | Description |
| Find slowest traces |
| Get latency percentiles (p50/p95/p99) and error rates |
REST API Endpoints
Endpoint | Method | Description |
| GET | Health check |
| GET | List services |
| GET | List operations |
| GET | Search traces |
| GET | Get trace by ID |
| GET | Find error traces |
| GET | Find slow traces |
Development
Run Tests
uv run pytest tests/ -vRun with Coverage
uv run pytest tests/ --cov=otel_mcp --cov-report=term-missingLint and Type Check
uv run ruff check src/
uv run mypy src/Adding a New Backend
Create
backends/tempo.pyimplementingBaseBackendAdd backend type to
config.pyUpdate
_create_backend()inserver.pyandapi.py
License
Apache-2.0
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/krackenservices/otel-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server