Skip to content
VS Code

tracehub mcp for VS Code

io.github.mcpsmiths/tracehub-mcp

Query OTel traces across Jaeger, Tempo, Traceloop, Datadog, Sentry, X-Ray, New Relic, Honeycomb.

client:VS Code transport:stdio runtime:pypi

Install tracehub mcp in VS Code

.vscode/mcp.json

{
  "inputs": [
    {
      "type": "promptString",
      "id": "backend-type",
      "description": "BACKEND_TYPE",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-url",
      "description": "BACKEND_URL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-api-key",
      "description": "BACKEND_API_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-aws-region",
      "description": "BACKEND_AWS_REGION",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-newrelic-account-id",
      "description": "BACKEND_NEWRELIC_ACCOUNT_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-honeycomb-dataset",
      "description": "BACKEND_HONEYCOMB_DATASET",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-app-key",
      "description": "BACKEND_APP_KEY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-tempo-instance-id",
      "description": "BACKEND_TEMPO_INSTANCE_ID",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-sentry-org",
      "description": "BACKEND_SENTRY_ORG",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-sentry-project",
      "description": "BACKEND_SENTRY_PROJECT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-environments",
      "description": "BACKEND_ENVIRONMENTS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "backend-timeout",
      "description": "BACKEND_TIMEOUT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "log-level",
      "description": "LOG_LEVEL",
      "password": true
    },
    {
      "type": "promptString",
      "id": "max-traces-per-query",
      "description": "MAX_TRACES_PER_QUERY",
      "password": true
    },
    {
      "type": "promptString",
      "id": "slow-request-threshold-ms",
      "description": "SLOW_REQUEST_THRESHOLD_MS",
      "password": true
    },
    {
      "type": "promptString",
      "id": "otel-exporter-otlp-endpoint",
      "description": "OTEL_EXPORTER_OTLP_ENDPOINT",
      "password": true
    },
    {
      "type": "promptString",
      "id": "otel-service-name",
      "description": "OTEL_SERVICE_NAME",
      "password": true
    },
    {
      "type": "promptString",
      "id": "mcp-include-args-in-spans",
      "description": "MCP_INCLUDE_ARGS_IN_SPANS",
      "password": true
    }
  ],
  "servers": {
    "tracehub-mcp": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "tracehub-mcp"
      ],
      "env": {
        "BACKEND_TYPE": "${input:backend-type}",
        "BACKEND_URL": "${input:backend-url}",
        "BACKEND_API_KEY": "${input:backend-api-key}",
        "BACKEND_AWS_REGION": "${input:backend-aws-region}",
        "BACKEND_NEWRELIC_ACCOUNT_ID": "${input:backend-newrelic-account-id}",
        "BACKEND_HONEYCOMB_DATASET": "${input:backend-honeycomb-dataset}",
        "BACKEND_APP_KEY": "${input:backend-app-key}",
        "BACKEND_TEMPO_INSTANCE_ID": "${input:backend-tempo-instance-id}",
        "BACKEND_SENTRY_ORG": "${input:backend-sentry-org}",
        "BACKEND_SENTRY_PROJECT": "${input:backend-sentry-project}",
        "BACKEND_ENVIRONMENTS": "${input:backend-environments}",
        "BACKEND_TIMEOUT": "${input:backend-timeout}",
        "LOG_LEVEL": "${input:log-level}",
        "MAX_TRACES_PER_QUERY": "${input:max-traces-per-query}",
        "SLOW_REQUEST_THRESHOLD_MS": "${input:slow-request-threshold-ms}",
        "OTEL_EXPORTER_OTLP_ENDPOINT": "${input:otel-exporter-otlp-endpoint}",
        "OTEL_SERVICE_NAME": "${input:otel-service-name}",
        "MCP_INCLUDE_ARGS_IN_SPANS": "${input:mcp-include-args-in-spans}"
      }
    }
  }
}

VS Code prompts for each input the first time the server starts, so no secret is written to the file. VS Code docs

tracehub mcp in other clients