# io.github.mcpsmiths/tracehub-mcp (pypi · tracehub-mcp)

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

- Trust score: 40/100 (low)
- Change this week: −15
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-20

## Components

- pypi · `tracehub-mcp`: 40/100 (this document), [markdown](https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp.md), [page](https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp)

## Channel facts

- Registry: `pypi`
- Package: `tracehub-mcp`
- Version: `0.12.2`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-20.

- **Supply Chain Security**: 100/100
  - No malware found by supply-chain analysis.
  - No known CVEs affecting this package version or its production dependencies.
  - Runs hatchling.build at install time, a recognised native-build step with no shell scripting around it.
  - 4 of 59 dependencies flagged as unhealthy.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 0 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 0/100
  - Schema quality not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Stability & Change Management**: 0/100
  - Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet.
- **Tool Coverage**: 0/100
  - Tool coverage not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Tool Safety**: 0/100
  - Tool safety not yet verified: we do not have a sandbox capture of the tool definitions this version of the package serves yet.
- **Capabilities**: 0/100
  - Protocol version not yet verified: we do not have a sandbox capture of the MCP handshake this version of the package performs yet.

**Unverified: 5 categories.** Categories scored 0 because our sandbox run of this package has not given us the schema these checks need to read. That is a gap on our side rather than a finding about the package, and we only credit what we can confirm, so the score stands at 0 until the capture succeeds. We are working through the fleet, so this normally clears without any action from you.

## Install

### How do I install the io.github.mcpsmiths/tracehub-mcp server?

io.github.mcpsmiths/tracehub-mcp runs locally as a PyPI package, launched with uvx tracehub-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add mcpsmiths-tracehub-mcp -- uvx tracehub-mcp
```

### Cursor

```json
{
  "mcpServers": {
    "mcpsmiths-tracehub-mcp": {
      "command": "uvx",
      "args": [
        "tracehub-mcp"
      ]
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "mcpsmiths-tracehub-mcp": {
      "command": "uvx",
      "args": [
        "tracehub-mcp"
      ]
    }
  }
}
```

### Codex

```bash
codex mcp add mcpsmiths-tracehub-mcp -- uvx tracehub-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "mcpsmiths-tracehub-mcp": {
      "type": "local",
      "command": [
        "uvx",
        "tracehub-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add mcpsmiths-tracehub-mcp --command uvx --arg tracehub-mcp
```

### Hermes

```yaml
mcp_servers:
  mcpsmiths-tracehub-mcp:
    command: "uvx"
    args: ["tracehub-mcp"]
```

### Netclaw

```json
{
  "McpServers": {
    "mcpsmiths-tracehub-mcp": {
      "Transport": "stdio",
      "Command": "uvx",
      "Arguments": [
        "tracehub-mcp"
      ]
    }
  }
}
```

### Vellum

```bash
assistant mcp add mcpsmiths-tracehub-mcp -t stdio -c uvx -a tracehub-mcp
```

### Other

```json
{
  "mcpServers": {
    "mcpsmiths-tracehub-mcp": {
      "command": "uvx",
      "args": [
        "tracehub-mcp"
      ]
    }
  }
}
```

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-20 (score 40, −32)

- [security regression] Stability: 0.20 → unverified
- [security regression] Tool safety: pass → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Schema quality: 3125 → 3578
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.11.0 → 0.12.2
- [functional] Package version: 0.11.0 → 0.12.1
- [functional] Package version: 0.11.0 → 0.12.0

### 2026-09-19 (score 72, +15)

- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.17 → unverified
- [security improvement] Malware scan: unverified → pass
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] MCP protocol: Implements a current MCP spec version (2026-07-28).
- [functional] Package version: 0.10.0 → 0.11.0

### 2026-09-18 (score 57, −14)

- [security regression] Malware scan: pass → unverified
- [functional] Package version: 0.9.0 → 0.10.0

### 2026-09-17 (score 71, 0)

- [security regression] Tool safety: pass → unverified
- [security regression] Stability: 0.10 → unverified
- [security regression] Malware scan: pass → unverified
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.8.1 → 0.9.0
- [functional] Package version: 0.8.1 → 0.8.2

### 2026-09-16 (score 71, +15)

- [security regression] Stability: 0.07 → unverified
- [security regression] Tool safety: pass → unverified
- [security improvement] Malware scan: unverified → pass
- [functional regression] Schema quality: 2468 → 3050
- [functional regression] Capabilities: pass → unverified
- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified
- [functional] Package version: 0.6.0 → 0.8.1
- [functional] Package version: 0.6.0 → 0.8.0
- [functional] Package version: 0.6.0 → 0.7.0

### 2026-09-15 (score 56, +1)

- [functional improvement] Security disclosure: fail → pass
- [functional] Package version: 0.5.0 → 0.6.0

### 2026-09-14 (score 55, 0)

- [functional regression] Schema quality: 1765 → 2468
- [functional improvement] Stability: unverified → 0.03
- [functional] Package version: 0.4.0 → 0.5.0

### 2026-09-13 (score 55)

First indexed and scored.

## MCP tools (19)

### `search_traces` (~365 tokens)

Search Traces

Search for OpenTelemetry traces with filters.

Supports both simple parameters and advanced generic filter system.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `filters`: Generic filter conditions (advanced) - list of filter objects with: - field: Field name in dotted notation (e.g., "gen_ai.usage.prompt_tokens") - operator: Comparison operator (equals, not_equals, gt…
- `gen_ai_request_model`: Filter by requested model name (e.g., gpt-4)
- `gen_ai_response_model`: Filter by actual model used (e.g., gpt-4-0613)
- `gen_ai_system`: Filter by LLM provider (e.g., openai, anthropic)
- `has_error`: Filter traces with errors
- `limit` (integer): Maximum number of traces to return (1-1000, default: 100)
- `max_duration_ms`: Maximum trace duration in milliseconds
- `min_duration_ms`: Minimum trace duration in milliseconds
- `operation_name`: Filter by operation/span name
- `service_name`: Filter by service name (use filters for advanced queries)
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)
- `tags`: Additional tag filters as key-value pairs

Output parameters:

- `count` (integer)
- `traces` (array)

### `get_trace` (~119 tokens)

Get Trace

Get complete trace details by trace ID.

Returns all spans with attributes, including parsed Opentelemetry data for LLM operations.

Input parameters:

- `detail_level` (string): "full" (default) returns every attribute/event value in full, unchanged from this tool's original behavior. "summary" elides known-large gen_ai.* fields (input/output messages, system instructions, r…
- `trace_id` (string, required): Trace identifier

Output parameters:

- `detail_level` (string)
- `duration_ms` (number)
- `has_errors` (boolean)
- `llm_summary`
- `root_operation` (string)
- `service_name` (string)
- `span_count` (integer)
- `spans` (array)
- `start_time` (string)
- `status` (string)
- `trace_id` (string)

### `triage_trace` (~273 tokens)

Triage Trace

Synthesize a likely-root-cause diagnosis for a trace, instead of
returning raw trace data for the caller to re-derive one from every time.

Computes a critical path (the "Last Finishing Child" chain actually
responsible for the trace's total latency), ranks spans by self-time
(latency contribution net of children, top 10), and - when the trace
contains an error anywhere under any root span - identifies the deepest
error span in the trace's error chain as the likely root cause. Falls
back to the highest self-time span as a pure-latency diagnosis when no
error is present. Deterministic (no LLM call); works against any
configured backend.

Input parameters:

- `detail_level` (string): "summary" (default) returns a compact diagnosis only - this differs from get_trace's own "full"-by-default, since a triage result is already a small synthesized diagnosis rather than a raw data dump,…
- `trace_id` (string, required): Trace identifier

Output parameters:

- `critical_path` (array)
- `error_chain`
- `top_latency_contributors` (array): Top spans by self-time (latency contribution net of children) across the whole trace, capped at 10 entries.
- `trace_id` (string)
- `verdict` (object): The synthesized root-cause diagnosis triage_trace produces. likely_root_cause is None only when the trace has no spans at all (a backend returned an empty TraceData) - every non-empty trace always f…

### `correlate_trace` (~180 tokens)

Correlate Trace

Try to find the corresponding trace in a second, independently-
configured backend (e.g. a Datadog trace and its downstream Sentry
error, joined) - given a trace_id known to the primary backend.

Tries a direct trace_id match in the secondary backend first
(confidence "high"); if that fails, falls back to a time-window +
service-name-overlap heuristic search (confidence "low"). This is a
best-effort correlation, not a guaranteed join - see the always-present
\`limitations` in the result for why. Requires a secondary backend to be
configured via SECONDARY_BACKEND_TYPE/SECONDARY_BACKEND_URL (and any
backend-specific fields) environment variables; raises a clear error
otherwise.

Input parameters:

- `trace_id` (string, required): Trace identifier, as known to the primary (already configured) backend.

Output parameters:

- `limitations` (array)
- `matches` (array)
- `primary_trace_id` (string)

### `get_llm_usage` (~126 tokens)

Get LLM Usage

Get aggregated LLM usage metrics (token counts) for a time period.

Provides breakdowns by model and service.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_request_model`: Filter by requested model name
- `gen_ai_response_model`: Filter by actual model used
- `gen_ai_system`: Filter by LLM provider
- `limit` (integer): Maximum traces to analyze (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format

Output parameters:

- `result` (string)

### `list_services` (~28 tokens)

List Services

List all available services in the OpenTelemetry backend.

Returns:
    JSON string with list of services

Output parameters:

- `result` (string)

### `find_errors` (~83 tokens)

Find Errors

Find traces with errors.

Including detailed error messages, stack traces, and LLM-specific error information.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `limit` (integer): Maximum error traces to return (default: 100)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format

Output parameters:

- `result` (string)

### `list_llm_models` (~133 tokens)

List LLM Models

List all LLM models being used with usage statistics.

Discovers what models are deployed and tracks their usage patterns.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_system`: Filter by LLM provider (e.g., openai, anthropic, cohere)
- `limit` (integer): Maximum traces to analyze for model discovery (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `get_llm_model_stats` (~147 tokens)

Get LLM Model Stats

Get detailed performance statistics for a specific LLM model.

Analyzes request count, latency percentiles (p50, p95, p99), token usage statistics,
error rates, and finish reason distributions.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `model_name` (string, required): Model name to analyze (e.g., "gpt-4", "claude-3-opus", "gpt-3.5-turbo")
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `list_sessions` (~165 tokens)

List Sessions

List conversations/sessions grouped by gen_ai.conversation.id.

Groups spans that carry the gen_ai.conversation.id attribute (a real,
cross-industry OTel semantic convention for session/conversation grouping)
to surface per-conversation span counts, token usage, and time bounds -
useful for understanding multi-turn conversation activity.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_system`: Filter by LLM provider (openai, anthropic, etc.)
- `limit` (integer): Maximum spans to analyze (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `count` (integer)
- `message`
- `sessions` (array)

### `get_session_stats` (~147 tokens)

Get Session Stats

Get detailed statistics for a single conversation/session.

Analyzes span count, distinct services, time bounds, LLM request/success/
error counts, latency percentiles, and token usage for every span sharing
the given gen_ai.conversation.id.

Input parameters:

- `conversation_id` (string, required): The gen_ai.conversation.id to analyze
- `end_time`: End time in ISO 8601 format
- `limit` (integer): Maximum spans to analyze (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `compare_time_windows` (~221 tokens)

Compare Time Windows

Compare aggregated LLM usage metrics between two time windows.

Runs the same usage aggregation for both ranges and returns the delta -
useful for "this week vs last week" or "before/after a deploy" style
comparisons of request/token counts.

Input parameters:

- `gen_ai_request_model`: Filter by requested model name (applied to both ranges)
- `gen_ai_response_model`: Filter by actual model used (applied to both ranges)
- `gen_ai_system`: Filter by LLM provider (applied to both ranges)
- `limit` (integer): Maximum number of traces to analyze per range (default: 1000)
- `range_a_end`: Range A end time in ISO 8601 format
- `range_a_start`: Range A start time in ISO 8601 format
- `range_b_end`: Range B end time in ISO 8601 format
- `range_b_start`: Range B start time in ISO 8601 format
- `service_name`: Filter by service name (applied to both ranges)

Output parameters:

- `result` (string)

### `investigate_cost_spike` (~297 tokens)

Investigate Cost Spike

Investigate an LLM cost spike: compare a recent window against a
baseline and rank which models/services contributed most to the change.

On-request/pull-based analysis, not a push alert - mirrors SigNoz's own
"investigate telemetry cost" skill. Call this when you suspect (or want
to check for) a cost increase, rather than polling get_llm_usage by hand.

Input parameters:

- `baseline_end`: Baseline window end (ISO 8601)
- `baseline_start`: Baseline window start (ISO 8601). If omitted along with baseline_end, auto-computed as the same duration immediately preceding recent_start.
- `gen_ai_request_model`: Filter by requested model name (applied to both windows)
- `gen_ai_response_model`: Filter by actual model used (applied to both windows)
- `gen_ai_system`: Filter by LLM provider (applied to both windows)
- `limit` (integer): Maximum number of traces to analyze per window (default: 1000)
- `recent_end` (string, required): Recent window end time in ISO 8601 format
- `recent_start` (string, required): Recent window start time in ISO 8601 format
- `service_name`: Filter by service name (applied to both windows)
- `top_n` (integer): Maximum ranked contributors to return per breakdown (default: 5, max: 50)

Output parameters:

- `result` (string)

### `investigate_error_spike` (~285 tokens)

Investigate Error Spike

Investigate an error-rate spike: compare a recent window against a
baseline and rank which services/models/error types contributed most.

is_spike requires both an absolute error-count floor and a relative
rate-multiplier to hold, so a tiny sample (e.g. 1 error becoming 2)
doesn't read as a spike.

Input parameters:

- `baseline_end`: Baseline window end (ISO 8601)
- `baseline_start`: Baseline window start (ISO 8601). If omitted along with baseline_end, auto-computed as the same duration immediately preceding recent_start.
- `limit` (integer): Maximum number of traces to analyze per window (default: 1000)
- `min_error_count_increase` (integer): Minimum absolute error-count increase to count as a spike (default: 3)
- `rate_multiplier_threshold` (number): Minimum error-rate multiplier (recent / baseline) to count as a spike (default: 2.0)
- `recent_end` (string, required): Recent window end time in ISO 8601 format
- `recent_start` (string, required): Recent window start time in ISO 8601 format
- `service_name`: Filter by service name (applied to both windows)
- `top_n` (integer): Maximum ranked contributors to return per breakdown (default: 5, max: 50)

Output parameters:

- `result` (string)

### `get_prompt_version_stats` (~170 tokens)

Get Prompt Version Stats

Get aggregated performance stats grouped by prompt name and version.

Groups spans by gen_ai.prompt.name + gen_ai.prompt.version, mirroring
Langfuse's shipped per-prompt Metrics tab. Real-world adoption of these
two attributes is still thin, so this tool may often return an empty
list until more instrumentations populate them.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_system`: Filter by LLM provider (openai, anthropic, etc.)
- `limit` (integer): Maximum spans to analyze (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `get_llm_expensive_traces` (~168 tokens)

Get LLM Expensive Traces

Find traces with highest LLM token usage.

Useful for cost optimization and identifying inefficient prompts.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_request_model`: Filter by requested model name (e.g., "gpt-4")
- `gen_ai_response_model`: Filter by actual model used (e.g., "gpt-4-0613")
- `limit` (integer): Maximum number of traces to return (default: 10)
- `min_tokens`: Minimum token count threshold (only return traces above this)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `get_llm_slow_traces` (~172 tokens)

Get LLM Slow Traces

Find slowest LLM traces by duration.

Useful for performance optimization and identifying latency bottlenecks.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_request_model`: Filter by requested model name (e.g., "gpt-4")
- `gen_ai_response_model`: Filter by actual model used (e.g., "gpt-4-0613")
- `limit` (integer): Maximum number of traces to return (default: 10)
- `min_duration_ms`: Minimum duration threshold in milliseconds (only return traces above this)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

### `search_spans_tool` (~358 tokens)

Search Spans

Search for individual OpenTelemetry spans with optional filters.

Unlike search_traces, this returns individual spans rather than grouped traces,
which is useful for analyzing specific operations or finding spans with certain
characteristics (e.g., LLM tool calls with traceloop.span.kind == tool).

Input parameters:

- `end_time`: End time in ISO 8601 format
- `filters`: Generic filter conditions - list of filter objects with: - field: Field name in dotted notation (e.g., "traceloop.span.kind") - operator: Comparison operator - value: Single value for most operators…
- `gen_ai_request_model`: Filter by requested model name (e.g., "gpt-4")
- `gen_ai_response_model`: Filter by actual model used (e.g., "gpt-4-0613")
- `gen_ai_system`: Filter by LLM provider (e.g., openai, anthropic)
- `has_error`: Filter spans with errors
- `limit` (integer): Maximum number of spans to return (1-1000, default: 100)
- `max_duration_ms`: Maximum span duration in milliseconds
- `min_duration_ms`: Minimum span duration in milliseconds
- `operation_name`: Filter by operation/span name
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)
- `tags`: Additional tag filters as key-value pairs

Output parameters:

- `count` (integer)
- `spans` (array)

### `list_llm_tools_tool` (~141 tokens)

List LLM Tools

List all LLM tools being used by identifying traceloop.span.kind == tool.

Discovers which tools/functions LLM applications are calling, grouped by tool name
with usage statistics.

Input parameters:

- `end_time`: End time in ISO 8601 format
- `gen_ai_system`: Filter by LLM provider (openai, anthropic, etc.)
- `limit` (integer): Maximum spans to analyze (default: 1000)
- `service_name`: Filter by service name
- `start_time`: Start time in ISO 8601 format (e.g., 2024-01-01T00:00:00Z)

Output parameters:

- `result` (string)

## Diagnostics

Captured diagnostic sections: Provenance, Install scripts, Dependencies. The full working is on the page: https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp#diagnostics

## Score history

- 2026-09-20: 40
- 2026-09-19: 72
- 2026-09-18: 57
- 2026-09-17: 71
- 2026-09-16: 71
- 2026-09-15: 56
- 2026-09-14: 55
- 2026-09-13: 55

## Common questions

### What is the io.github.mcpsmiths/tracehub-mcp server?

io.github.mcpsmiths/tracehub-mcp is listed in the public MCP registry as io.github.mcpsmiths/tracehub-mcp. Query OTel traces across Jaeger, Tempo, Traceloop, Datadog, Sentry, X-Ray, New Relic, Honeycomb. This page covers its PyPI package (tracehub-mcp).

### Is the io.github.mcpsmiths/tracehub-mcp server safe to use?

io.github.mcpsmiths/tracehub-mcp scores 40 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the io.github.mcpsmiths/tracehub-mcp server expose?

io.github.mcpsmiths/tracehub-mcp exposes 19 tools: search_traces, get_trace, triage_trace, correlate_trace, get_llm_usage, and 14 more. Their descriptions and schemas cost roughly 3,578 tokens of context every time the server is loaded.

### Is the io.github.mcpsmiths/tracehub-mcp server still maintained?

io.github.mcpsmiths/tracehub-mcp is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

### What licence is the io.github.mcpsmiths/tracehub-mcp server under?

io.github.mcpsmiths/tracehub-mcp declares the Apache-2.0 licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.

## Links

- PyPI project: https://pypi.org/project/tracehub-mcp/
- Socket report: https://socket.dev/pypi/package/tracehub-mcp
- Repository: https://github.com/mcpsmiths/tracehub-mcp
- Changelog RSS feed: https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp.json
- HTML version of this page: https://verifymcp.io/servers/mcpsmiths-tracehub-mcp/tracehub-mcp
