REA
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Query OTel traces across Jaeger, Tempo, Traceloop, Datadog, Sentry, X-Ray, New Relic, Honeycomb.
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
2/2 Prüfungen bestanden · Läuft auf deinem Computer
Zuerst: Welche KI nutzt du?
Wähle deine App, dann erscheinen die Schritte unten.
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
SettingsDeveloperEdit Config
{
"mcpServers": {
"tracehub": {
"command": "uvx",
"args": [
"tracehub-mcp"
],
"env": {
"BACKEND_TYPE": "your-value",
"BACKEND_URL": "your-value",
"BACKEND_API_KEY": "your-value",
"BACKEND_AWS_REGION": "your-value",
"BACKEND_NEWRELIC_ACCOUNT_ID": "your-value",
"BACKEND_HONEYCOMB_DATASET": "your-value",
"BACKEND_APP_KEY": "your-value",
"BACKEND_TEMPO_INSTANCE_ID": "your-value",
"BACKEND_SENTRY_ORG": "your-value",
"BACKEND_SENTRY_PROJECT": "your-value",
"BACKEND_ENVIRONMENTS": "your-value",
"BACKEND_TIMEOUT": "your-value",
"BACKEND_MAX_RESPONSE_BYTES": "your-value",
"LOG_LEVEL": "your-value",
"MAX_TRACES_PER_QUERY": "your-value",
"SLOW_REQUEST_THRESHOLD_MS": "your-value",
"QUERY_CACHE_TTL_SECONDS": "your-value",
"QUERY_CACHE_MAX_ENTRIES": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"MCP_INCLUDE_ARGS_IN_SPANS": "your-value"
}
}
}
}Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Tracehub MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude sagt, dass es Tracehub MCP nutzt, oder ein Werkzeug von Tracehub MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
ChatGPT kann Tracehub MCP noch nicht verbinden
Tracehub MCP läuft auf deinem Computer, aber ChatGPT verbindet nur Server, die im Web laufen
A · Eine App nutzen, die Tracehub MCP verbinden kann
B · Andere in Entwicklertools, die mit ChatGPT funktionieren
Aus den meistgenutzten derselben Kategorie, nur solche, die per Adresse ohne Schlüssel verbinden
Klappt mit Claude Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Tracehub MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
Mac: Command+Leertaste drücken und Terminal tippen · Windows: PowerShell öffnen
claude mcp add --scope user tracehub --env BACKEND_TYPE=your-value --env BACKEND_URL=your-value --env BACKEND_API_KEY=your-value --env BACKEND_AWS_REGION=your-value --env BACKEND_NEWRELIC_ACCOUNT_ID=your-value --env BACKEND_HONEYCOMB_DATASET=your-value --env BACKEND_APP_KEY=your-value --env BACKEND_TEMPO_INSTANCE_ID=your-value --env BACKEND_SENTRY_ORG=your-value --env BACKEND_SENTRY_PROJECT=your-value --env BACKEND_ENVIRONMENTS=your-value --env BACKEND_TIMEOUT=your-value --env BACKEND_MAX_RESPONSE_BYTES=your-value --env LOG_LEVEL=your-value --env MAX_TRACES_PER_QUERY=your-value --env SLOW_REQUEST_THRESHOLD_MS=your-value --env QUERY_CACHE_TTL_SECONDS=your-value --env QUERY_CACHE_MAX_ENTRIES=your-value --env OTEL_EXPORTER_OTLP_ENDPOINT=your-value --env OTEL_SERVICE_NAME=your-value --env MCP_INCLUDE_ARGS_IN_SPANS=your-value -- uvx tracehub-mcpErsetze „your-value“ vor dem Enter durch deinen Schlüssel
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Tracehub MCP sollte in der Liste als verbunden erscheinen
Nutze Tracehub MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Claude Code sagt, dass es Tracehub MCP nutzt, oder ein Werkzeug von Tracehub MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Anthropic abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit Cursor, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Tracehub MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
In den Einstellungen von Tracehub MCP ist BACKEND_TYPE, BACKEND_URL, BACKEND_API_KEY, BACKEND_AWS_REGION, BACKEND_NEWRELIC_ACCOUNT_ID, BACKEND_HONEYCOMB_DATASET, BACKEND_APP_KEY, BACKEND_TEMPO_INSTANCE_ID, BACKEND_SENTRY_ORG, BACKEND_SENTRY_PROJECT, BACKEND_ENVIRONMENTS, BACKEND_TIMEOUT, BACKEND_MAX_RESPONSE_BYTES, LOG_LEVEL, MAX_TRACES_PER_QUERY, SLOW_REQUEST_THRESHOLD_MS, QUERY_CACHE_TTL_SECONDS, QUERY_CACHE_MAX_ENTRIES, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, MCP_INCLUDE_ARGS_IN_SPANS leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Tracehub MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn Cursor sagt, dass es Tracehub MCP nutzt, oder ein Werkzeug von Tracehub MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von Cursor abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Klappt mit VS Code, aber erst etwas vorbereiten
Du brauchst einen Schlüssel von Tracehub MCP (auf der Seite des Anbieters erstellen) · Installiere zuerst Python (uv) auf deinem Computer (nur einmal)
Nur einmal; gilt für alle Server, die Python (uv) brauchen
Öffne die Seite des Anbieters, registriere dich und erstelle einen API-Schlüssel für den nächsten Schritt. Preise und Gratis-Tarife siehst du auf seiner Seite.
Wie du einen Schlüssel bekommst, steht unten im README des Anbieters
VS Code fragt nach einer Bestätigung; klicke Install
In den Einstellungen von Tracehub MCP ist BACKEND_TYPE, BACKEND_URL, BACKEND_API_KEY, BACKEND_AWS_REGION, BACKEND_NEWRELIC_ACCOUNT_ID, BACKEND_HONEYCOMB_DATASET, BACKEND_APP_KEY, BACKEND_TEMPO_INSTANCE_ID, BACKEND_SENTRY_ORG, BACKEND_SENTRY_PROJECT, BACKEND_ENVIRONMENTS, BACKEND_TIMEOUT, BACKEND_MAX_RESPONSE_BYTES, LOG_LEVEL, MAX_TRACES_PER_QUERY, SLOW_REQUEST_THRESHOLD_MS, QUERY_CACHE_TTL_SECONDS, QUERY_CACHE_MAX_ENTRIES, OTEL_EXPORTER_OTLP_ENDPOINT, OTEL_SERVICE_NAME, MCP_INCLUDE_ARGS_IN_SPANS leer; trag deinen Schlüssel ein und speichere
Füge den Schlüssel nur in das Feld der App ein, nie in einen Chat und schick ihn niemandem
Nutze Tracehub MCP und sag mir, was du für mich tun kannst; zeig mir dann eine Sache✓ Wenn VS Code sagt, dass es Tracehub MCP nutzt, oder ein Werkzeug von Tracehub MCP in der Antwort zeigt, bist du verbunden
Menünamen am 11. Nov. 2026 mit der Hilfe von VS Code abgeglichen · dein Bildschirm kann je nach App-Version leicht abweichen
Andere Apps mit MCP, etwa Windsurf, Zed oder Gemini CLI, fügen Server unterschiedlich hinzu. Sieh in der App-Liste nach
JSON-Einstellungen stehen unten unter „Für Entwickler“
Claude Code
claude mcp add --scope user tracehub --env BACKEND_TYPE=your-value --env BACKEND_URL=your-value --env BACKEND_API_KEY=your-value --env BACKEND_AWS_REGION=your-value --env BACKEND_NEWRELIC_ACCOUNT_ID=your-value --env BACKEND_HONEYCOMB_DATASET=your-value --env BACKEND_APP_KEY=your-value --env BACKEND_TEMPO_INSTANCE_ID=your-value --env BACKEND_SENTRY_ORG=your-value --env BACKEND_SENTRY_PROJECT=your-value --env BACKEND_ENVIRONMENTS=your-value --env BACKEND_TIMEOUT=your-value --env BACKEND_MAX_RESPONSE_BYTES=your-value --env LOG_LEVEL=your-value --env MAX_TRACES_PER_QUERY=your-value --env SLOW_REQUEST_THRESHOLD_MS=your-value --env QUERY_CACHE_TTL_SECONDS=your-value --env QUERY_CACHE_MAX_ENTRIES=your-value --env OTEL_EXPORTER_OTLP_ENDPOINT=your-value --env OTEL_SERVICE_NAME=your-value --env MCP_INCLUDE_ARGS_IN_SPANS=your-value -- uvx tracehub-mcpClaude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"tracehub": {
"command": "uvx",
"args": [
"tracehub-mcp"
],
"env": {
"BACKEND_TYPE": "your-value",
"BACKEND_URL": "your-value",
"BACKEND_API_KEY": "your-value",
"BACKEND_AWS_REGION": "your-value",
"BACKEND_NEWRELIC_ACCOUNT_ID": "your-value",
"BACKEND_HONEYCOMB_DATASET": "your-value",
"BACKEND_APP_KEY": "your-value",
"BACKEND_TEMPO_INSTANCE_ID": "your-value",
"BACKEND_SENTRY_ORG": "your-value",
"BACKEND_SENTRY_PROJECT": "your-value",
"BACKEND_ENVIRONMENTS": "your-value",
"BACKEND_TIMEOUT": "your-value",
"BACKEND_MAX_RESPONSE_BYTES": "your-value",
"LOG_LEVEL": "your-value",
"MAX_TRACES_PER_QUERY": "your-value",
"SLOW_REQUEST_THRESHOLD_MS": "your-value",
"QUERY_CACHE_TTL_SECONDS": "your-value",
"QUERY_CACHE_MAX_ENTRIES": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"MCP_INCLUDE_ARGS_IN_SPANS": "your-value"
}
}
}
}Cursor (~/.cursor/mcp.json)
{
"mcpServers": {
"tracehub": {
"command": "uvx",
"args": [
"tracehub-mcp"
],
"env": {
"BACKEND_TYPE": "your-value",
"BACKEND_URL": "your-value",
"BACKEND_API_KEY": "your-value",
"BACKEND_AWS_REGION": "your-value",
"BACKEND_NEWRELIC_ACCOUNT_ID": "your-value",
"BACKEND_HONEYCOMB_DATASET": "your-value",
"BACKEND_APP_KEY": "your-value",
"BACKEND_TEMPO_INSTANCE_ID": "your-value",
"BACKEND_SENTRY_ORG": "your-value",
"BACKEND_SENTRY_PROJECT": "your-value",
"BACKEND_ENVIRONMENTS": "your-value",
"BACKEND_TIMEOUT": "your-value",
"BACKEND_MAX_RESPONSE_BYTES": "your-value",
"LOG_LEVEL": "your-value",
"MAX_TRACES_PER_QUERY": "your-value",
"SLOW_REQUEST_THRESHOLD_MS": "your-value",
"QUERY_CACHE_TTL_SECONDS": "your-value",
"QUERY_CACHE_MAX_ENTRIES": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"MCP_INCLUDE_ARGS_IN_SPANS": "your-value"
}
}
}
}VS Code (mcp.json)
{
"servers": {
"tracehub": {
"type": "stdio",
"command": "uvx",
"args": [
"tracehub-mcp"
],
"env": {
"BACKEND_TYPE": "your-value",
"BACKEND_URL": "your-value",
"BACKEND_API_KEY": "your-value",
"BACKEND_AWS_REGION": "your-value",
"BACKEND_NEWRELIC_ACCOUNT_ID": "your-value",
"BACKEND_HONEYCOMB_DATASET": "your-value",
"BACKEND_APP_KEY": "your-value",
"BACKEND_TEMPO_INSTANCE_ID": "your-value",
"BACKEND_SENTRY_ORG": "your-value",
"BACKEND_SENTRY_PROJECT": "your-value",
"BACKEND_ENVIRONMENTS": "your-value",
"BACKEND_TIMEOUT": "your-value",
"BACKEND_MAX_RESPONSE_BYTES": "your-value",
"LOG_LEVEL": "your-value",
"MAX_TRACES_PER_QUERY": "your-value",
"SLOW_REQUEST_THRESHOLD_MS": "your-value",
"QUERY_CACHE_TTL_SECONDS": "your-value",
"QUERY_CACHE_MAX_ENTRIES": "your-value",
"OTEL_EXPORTER_OTLP_ENDPOINT": "your-value",
"OTEL_SERVICE_NAME": "your-value",
"MCP_INCLUDE_ARGS_IN_SPANS": "your-value"
}
}
}
}BACKEND_TYPE erforderlich envBACKEND_URL erforderlich envBACKEND_API_KEY geheim envBACKEND_AWS_REGION envBACKEND_NEWRELIC_ACCOUNT_ID envBACKEND_HONEYCOMB_DATASET envBACKEND_APP_KEY geheim envBACKEND_TEMPO_INSTANCE_ID envBACKEND_SENTRY_ORG envBACKEND_SENTRY_PROJECT envBACKEND_ENVIRONMENTS envBACKEND_TIMEOUT envBACKEND_MAX_RESPONSE_BYTES envLOG_LEVEL envMAX_TRACES_PER_QUERY envSLOW_REQUEST_THRESHOLD_MS envQUERY_CACHE_TTL_SECONDS envQUERY_CACHE_MAX_ENTRIES envOTEL_EXPORTER_OTLP_ENDPOINT envOTEL_SERVICE_NAME envMCP_INCLUDE_ARGS_IN_SPANS envDiese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Basierend darauf, wie sich dieser Server verbindet, und auf der eigenen Doku jeder App, geprüft am 10. Nov. 2026.
Laufen auf deinem Computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 12. Nov. 2026
Der Registry-Name wurde mit dem GitHub-Konto mcpsmiths bestätigt, dem das Repo gehört
Code zuletzt geändert: vorgestern
Dieses Repo haben wir noch nicht von GitHub gelesen
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Fragen, Tipps teilen oder melden, dass etwas nicht geht. Sortiert nach „hilfreich“.
Noch keine Beiträge. Stell die erste Frage oder teile einen Tipp.
Beiträge hier stammen von Nutzern, nicht vom PopNx-Team.
Noch keine Bewertungen
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Er hat 2 von 2 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Das musst du eintragen: BACKEND_TYPE, BACKEND_URL, BACKEND_API_KEY, BACKEND_APP_KEY
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Das GitHub-Repo wurde zuletzt vorgestern geändert, und die neueste Version (0.13.1) kam vor 12 Tagen in die Registry.
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Python (uv) auf deinem Computer.
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Reverse engineer anything from your terminal or agent with one CLI and MCP server.
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
A powerful toolkit for coding, providing semantic retrieval and editing capabilities.
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
Also listed on the official MCP registry as io.github.mcpsmiths/tracehub-mcp (the registry's own ?search= endpoint can surface an outdated version first; this exact-name endpoint always reflects the current isLatest release), and on mcprush.
Give your AI assistant a direct line into your observability backend. tracehub-mcp is an MCP (Model Context Protocol) server that lets Claude, Cursor, Windsurf, Gemini CLI, or any MCP client query OpenTelemetry traces from your LLM/GenAI application and reason about them — find expensive calls, debug errors, compare model performance, track token usage — without you copy-pasting trace JSON into a chat window.
It speaks OpenTelemetry's gen_ai.* semantic conventions natively, so it understands prompts, completions, token usage, and finish reasons as first-class concepts, not just generic span attributes.
tracehub-mcp started as a fork of traceloop/opentelemetry-mcp-server (Apache 2.0) — full attribution and fork history are in NOTICE. It's grown into an 8-backend, security-hardened server maintained independently under mcpsmiths; see What's Different From Upstream below for the parts that are new here.
tracehub-mcp is on PyPI. No install step needed — uvx fetches and runs it in one shot:
// claude_desktop_config.json
{ "mcpServers": { "tracehub-mcp": { "command": "uvx", "args": ["tracehub-mcp"], "env": { "BACKEND_TYPE": "jaeger", "BACKEND_URL": "http://localhost:16686" } } } }
Or from Claude Code directly:
claude mcp add tracehub-mcp -e BACKEND_TYPE=jaeger -e BACKEND_URL=http://localhost:16686 -- uvx tracehub-mcp
That's it. Ask your assistant: _"Show me traces with errors from the last hour."_
See MCP Client Setup for Cursor, Windsurf, VS Code, and Gemini CLI, and Installation for pip/pipx/from-source alternatives.
BACKEND_API_KEY; credentials embedded in BACKEND_URL are rejected).boto3, requires an AWS region and standard AWS credentials (not an API key). Because OTel span attributes land in unindexed X-Ray segment *metadata* by default (only *annotations* are queryable), native server-side filtering is narrower here than for the other backends — see the Backend Support Matrix.All eight implement the same BaseBackend interface, so every MCP tool works identically regardless of which one you point the server at. See Configuration for per-backend setup.
Upstream opentelemetry-mcp-server shipped Jaeger, Tempo, and Traceloop. tracehub-mcp adds Datadog and Sentry as full backends — not thin wrappers, but complete implementations of every tool (search, span search, trace hydration, service discovery, health checks). Along the way, all five backends — including the three inherited from upstream — were hardened to a consistent bar:
http:// URL, because their auth is a bearer token / API+App key pair that has no business going out over plaintext.filters parameter) are validated against an allowlist pattern before being spliced into the query string, closing off structural injection through a crafted field name.limit or when the backend stops returning a continuation cursor, whichever comes first, so a single tool call can't degrade into an unbounded crawl.now() for a missing timestamp or a literal "unknown" for a missing service_name/operation_name — since a fabricated value would silently corrupt trace ordering, duration aggregation, and any tool that groups by service or operation. (The three backends inherited from upstream — Jaeger, Tempo, Traceloop — predate this discipline and haven't been retrofitted; that's deliberate scope discipline, not an oversight, mirroring this project's own precedent of not reaching into shared/inherited code without full regression coverage for it.)All of this is backed by 458 passing tests (2 skipped, zero regressions), a clean ruff check and mypy --strict run, and two rounds of adversarial CodeRabbit review on the new backends.
tracehub-mcp is on PyPI. Pick whichever of these your workflow already uses — they're equivalent.
uvx (no install step)uvx tracehub-mcp --backend jaeger --url http://localhost:16686
This is what the Quick Start config above uses — uv fetches the package and runs the tracehub-mcp entry point in one shot, nothing left behind on disk between runs.
pip / pipxpipx install tracehub-mcp
tracehub-mcp --backend jaeger --url http://localhost:16686
git clone https://github.com/mcpsmiths/tracehub-mcp.git
cd tracehub-mcp uv sync
uv run tracehub-mcp --backend jaeger --url http://localhost:16686
Use this if you're developing locally, want to pin to a specific commit, or want the dev tooling installed (uv sync --group dev).
# The image's CMD binds 0.0.0.0 inside the container, so a caller token is
Authorization: Bearer $MCP_HTTP_BEARER_TOKEN.export MCP_HTTP_BEARER_TOKEN=$(openssl rand -hex 32) docker run --rm -p 8000:8000 \ -e BACKEND_TYPE=jaeger -e BACKEND_URL=http://host.docker.internal:16686 \ -e MCP_HTTP_BEARER_TOKEN \ -e MCP_ALLOWED_HOSTS=localhost \ ghcr.io/mcpsmiths/tracehub-mcp:latest
Backend responses are capped at BACKEND_MAX_RESPONSE_BYTES (64 MiB decoded by default) before they are buffered, but a container that serves many sessions still benefits from Docker's own guard rails: add --memory 1g --restart unless-stopped (or the Compose equivalents) so a process that does exhaust memory is contained and comes back without an operator.
Runs HTTP transport by default (the image's CMD) and refuses to start without MCP_HTTP_BEARER_TOKEN - or the explicit -e MCP_ALLOW_UNAUTHENTICATED_HTTP=true opt-out, which hands every peer that can reach the published port your backend's full read scope. Clients connect to http://localhost:8000/mcp with Authorization: Bearer ; /health and /ready (the image's HEALTHCHECK) never need the token. Because the CMD binds 0.0.0.0, the container validates the Host header only when MCP_ALLOWED_HOSTS is set - always set it to the hostnames clients use (localhost in the example above, the public name in a real deployment); * turns Host validation off and may not be mixed with names (the server refuses to start). This is also the form to use for MCP clients whose config takes a command/args pair pointing at docker directly (Cursor, Windsurf) instead of a local binary - pass the same -e MCP_HTTP_BEARER_TOKEN=... in args.
Prerequisites: Python 3.11+, plus uv for Options 1 and 3; Docker for Option 4.
Configuration comes from environment variables, CLI flags, or both. Precedence: CLI arguments > environment variables > defaults.
# .env (see .env.example)
BACKEND_TYPE=jaeger BACKEND_URL=http://localhost:16686
# Equivalent via CLI flags
tracehub-mcp --backend jaeger --url http://localhost:16686
| Variable | Type | Default | Description