Skip to main content

A platform-agnostic MCP server for LLM observability

Project description

TraceNexus

WORK IN PROGRESS

This project is under active development and should be considered experimental.

TraceNexus is an MCP (Model Context Protocol) server for LLM observability traces. It currently supports LangSmith and Langfuse and runs both MCP transports:

  • streamable-http for clients like Cursor
  • sse

Quick Start

1. Prerequisites

  • Python 3.11+

2. Install

pip install --upgrade tracenexus

3. Configure

Create a .env file where you run tracenexus.

If you are running from a cloned repo, start with:

cp .env.example .env

Example .env:

# LangSmith configuration (comma-separated)
LANGSMITH_API_KEYS="prod-api-key,dev-api-key"
LANGSMITH_NAMES="prod,dev"

# Langfuse configuration (comma-separated)
LANGFUSE_NAMES="dev,prod,staging,nightly,services"
LANGFUSE_PUBLIC_KEYS="pk_dev,pk_prod,pk_staging,pk_nightly,pk_services"
LANGFUSE_SECRET_KEYS="sk_dev,sk_prod,sk_staging,sk_nightly,sk_services"
LANGFUSE_HOSTS="https://langfuse.services.attackiq.net,https://langfuse.services.attackiq.net,https://langfuse.services.attackiq.net,https://langfuse.services.attackiq.net,https://langfuse.services.attackiq.net"

Rules:

  • Values are positional. Item N in each list must describe the same project.
  • If multiple projects share one host, repeat that host value.
  • Restart tracenexus after .env changes.

4. Run

tracenexus

Default endpoints:

  • HTTP: http://localhost:52734/mcp
  • SSE: http://localhost:52735/sse

5. Connect Your MCP Client

For Claude Code:

claude mcp add tracenexus --transport streamable-http --url http://localhost:52734/mcp

For Cursor:

{
  "mcpServers": {
    "tracenexus": {
      "transport": "streamable-http",
      "url": "http://localhost:52734/mcp"
    }
  }
}

Tool Naming

TraceNexus exposes tools in this format:

  • langsmith_<name>_get_trace
  • langfuse_<name>_get_trace

If a configured name contains dashes, they become underscores in tool names.

Verify Trace Access

If you are running from source, you can verify known Langfuse traces with:

make validate-traces

This checks the mappings in validation/langfuse_trace_ids.json against your configured keys.

Troubleshooting

  • 404 ... not found within authorized project: Key is valid, but mapped to the wrong project for that trace ID.
  • 401 ... invalid credentials: Key and host do not belong together.
  • Tool names not updated after changing .env: Restart tracenexus.

Contributing

Contributor/developer workflow is documented in CONTRIBUTING.md.

License

This project is licensed under MIT. See LICENSE.md.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tracenexus-0.1.10.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tracenexus-0.1.10-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

Details for the file tracenexus-0.1.10.tar.gz.

File metadata

  • Download URL: tracenexus-0.1.10.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.8 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for tracenexus-0.1.10.tar.gz
Algorithm Hash digest
SHA256 f18b1d5d0a9f7ee66e4c4bbdafcfe3969f02c8af63421419e1a6721a74ba152e
MD5 d4d619c74a229ed0fb490455d6c23e61
BLAKE2b-256 f67ee92b7eea86a140f213e7268f29e1d3dc459b43e130bd2191f1c863d42b37

See more details on using hashes here.

File details

Details for the file tracenexus-0.1.10-py3-none-any.whl.

File metadata

  • Download URL: tracenexus-0.1.10-py3-none-any.whl
  • Upload date:
  • Size: 10.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.11.8 Linux/6.6.87.2-microsoft-standard-WSL2

File hashes

Hashes for tracenexus-0.1.10-py3-none-any.whl
Algorithm Hash digest
SHA256 a0c8b4385103be53c500dc3fd88b773943d199499cdca87e2865eb2fa51c281c
MD5 4ecd51d95c5861d018bde317294c2008
BLAKE2b-256 389c1e3d9002b2bb6a3ee84cdcfeb13b1528ba0159afe629fc13d9bb8daea1a7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page