jaeger-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| JAEGER_URL | No | Jaeger query service URL, e.g. https://jaeger.example.com | |
| JAEGER_TOKEN | No | Bearer token (takes precedence over Basic auth) | |
| JAEGER_PASSWORD | No | HTTP Basic auth password | |
| JAEGER_USERNAME | No | HTTP Basic auth username | |
| JAEGER_SSL_VERIFY | No | Set false for self-signed certificates | true |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| jaeger_list_servicesA | List all services that Jaeger has observed traces for. Wraps Use this first to discover valid service names before calling
Examples:
- Use when: "What services does Jaeger know about?"
→ call with no parameters; read the Returns:
dict with keys |
| jaeger_list_operationsA | List all operation names Jaeger has seen for a given service. Wraps Examples:
- Use when: "What HTTP endpoints does Returns:
dict with |
| jaeger_search_tracesA | Search Jaeger traces with rich filters. Wraps The Examples:
- Use when: "Show me recent 500 errors in Returns:
dict with |
| jaeger_get_traceA | Retrieve full trace detail with all spans, service breakdown, and execution tree. Wraps Error spans are identified by Examples:
- Use when: "Why is trace Returns:
dict with |
| jaeger_get_dependenciesA | Retrieve the service-to-service call graph from Jaeger. Wraps Use this to understand service topology, find high fan-out services, or verify that a new service is connected as expected. Examples:
- Use when: "What services does Returns:
dict with |
| jaeger_compare_tracesA | Compare two traces structurally — find added, removed, and changed spans. Fetches both traces from Jaeger and performs a structural diff by matching
spans on Examples:
- Use when: "What changed between a fast and slow request?"
→ pass the trace IDs of both requests; inspect Returns:
dict with |
| jaeger_span_statisticsA | Compute per-operation latency percentiles and error rates across recent traces. Fetches up to Duration values are in microseconds (integer). Error rate is
Examples:
- Use when: "What are the p95 latencies for each endpoint in Returns:
dict with |
| jaeger_critical_pathA | Identify the critical path and top bottlenecks in a trace. Finds the longest-duration span chain (critical path) from root to leaf, and ranks spans by self-time to find actual performance bottlenecks. Examples: - Use when: "Why is this trace so slow?" → call with the slow trace ID; examine the critical_path_duration_us and critical_path_percentage to see how much of the total time is spent on the longest path. - Use when: "Which operations are consuming the most CPU/self-time?" → check the bottlenecks list sorted by self_time_us descending. - Use when: Debugging performance regressions — compare critical path percentages before/after changes. - Don't use when: You want aggregate statistics across many traces (use jaeger_span_statistics for that). - Don't use when: You need to compare two traces structurally (use jaeger_compare_traces for that). Returns: dict with trace metadata, critical path spans, and bottleneck ranking. |
| jaeger_compare_windowsA | Compare aggregate trace behavior between two time periods for a service. Fetches traces from both time windows, aggregates span statistics per operation, then compares the aggregate behavior to detect performance changes. Examples: - Use when: "Did our latest deployment affect performance?" → compare pre-deploy and post-deploy time windows for the service. - Use when: "Which operations got slower after the database upgrade?" → check the comparison_p95_us and p95_delta_pct columns for increases. - Use when: "Are we seeing new error patterns?" → look for operations with increased error_rate_delta. - Use when: "Did we add or remove any API endpoints?" → check added_count and removed_count in the summary. - Don't use when: You want to compare two specific traces (use jaeger_compare_traces instead). - Don't use when: You want full span detail for a single trace (use jaeger_get_trace instead). Returns: WindowComparisonOutput with per-operation diffs and summary statistics. |
| jaeger_detect_anomaliesA | Detect latency and error-rate anomalies for a service by comparing recent behavior to historical baseline. Fetches traces from a historical baseline window and a recent observation window, computes per-operation statistics for both, then identifies statistically significant deviations that may indicate performance issues or reliability problems. Examples:
- Use when: "Are there any new performance issues in Returns: AnomalyDetectionOutput with flagged operations and severity scores. |
| jaeger_predict_degradationA | Predict potential performance degradation events for a service. Analyzes historical trace data patterns, critical path trends, and anomaly detection results to forecast likely performance issues 2-24 hours in advance. Args: service: Service name to analyze for potential degradation hours_back: Number of hours of historical data to analyze (default: 168 hours/1 week) Returns: PredictionResult with degradation forecast, confidence level, and recommendations |
| jaeger_forecast_capacityA | Forecast future throughput demands and resource requirements for a service. Provides predictions for the next 7-30 days with confidence intervals to enable infrastructure scaling decisions. Args: service: Service name to forecast capacity for days_ahead: Number of days to forecast ahead (default: 30 days) Returns: ForecastResult with throughput predictions and resource requirements |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- 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/mshegolev/jaeger-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server