Skip to main content

MCP server that fetches Langfuse traces and provides them as context to VS Code coding agents.

Project description

Langfuse Trace Fetcher — MCP Server for VS Code

Version 0.1.0 · Fetch Langfuse observability traces directly into your coding agent's context.

What It Does

This is a Model Context Protocol (MCP) server that connects your VS Code coding agent (Gemini Code Assist) to a Langfuse instance. It exposes three tools:

Tool Description
fetch_langfuse_traces Fetch a filtered, paginated list of traces
get_langfuse_trace_detail Fetch full detail for a single trace (including observations, scores)
list_langfuse_trace_filters Show available filter fields and usage examples

Installation

From PyPI (Recommended)

pip install langfuse-traces-mcp

From Source

# Clone the repository
git clone https://github.com/yourusername/langfuse-traces-mcp.git
cd langfuse-traces-mcp

# Install in development mode (includes test dependencies)
pip install -e ".[dev]"

Prerequisites

  • Python 3.10+
  • VS Code with Gemini Code Assist extension (Agent Mode enabled)
  • Langfuse instance — cloud (cloud.langfuse.com) or self-hosted

VS Code Setup

  1. Install the package: pip install langfuse-traces-mcp

  2. Add the MCP server configuration to your VS Code settings. Open VS Code settings (Ctrl/Cmd + ,) and search for "Gemini Code Assist". In the settings JSON, add:

{
  "mcpServers": {
    "langfuse-traces": {
      "command": "langfuse-traces-mcp"
    }
  }
}
  1. Reload VS Code after configuration.
  2. Open Gemini Code Assist chat and toggle Agent Mode ON.
  3. The langfuse-traces tools should now be available.

Usage

Once configured, you can ask your coding agent questions like:

  • "Show me traces from production in the last hour"
  • "Get details for trace ID abc-123-xyz"
  • "List traces with errors tagged as 'critical'"
  • "Show me traces from user 'john.doe' in the staging environment"

The agent will fetch and display formatted trace data directly in the conversation.

Available Filters

Parameter Type Default Description
name string Filter by trace name
user_id string Filter by user ID
session_id string Filter by session ID
tags list Filter by tags
version string Filter by app version
release string Filter by release
environment string Filter by environment
from_timestamp string ISO 8601 start time
to_timestamp string ISO 8601 end time
limit int 20 Max traces (1–100)
page int 1 Page number

Example Chat Usage

In VS Code Gemini Code Assist chat (with Agent Mode on):

Fetch the last 5 production traces from my Langfuse instance:
- Public key: pk-lf-abc123
- Secret key: sk-lf-xyz789
- Host: https://cloud.langfuse.com
- Environment: production
- Limit: 5

The agent will call fetch_langfuse_traces with those parameters and return formatted trace data.

Running Tests

# Install dev dependencies (if not already)
pip install -e ".[dev]"

# Run all tests
pytest tests/ -v

# Run a specific test file
pytest tests/test_models.py -v
pytest tests/test_client.py -v
pytest tests/test_server.py -v

Project Structure

├── pyproject.toml                  # Project metadata & dependencies (v0.1.0)
├── README.md                       # This file
├── .gemini/
│   └── settings.json               # MCP server registration for VS Code
├── src/
│   └── langfuse_traces_mcp/
│       ├── __init__.py              # Version export
│       ├── server.py                # FastMCP server + 3 tool definitions
│       ├── client.py                # Async HTTP client for Langfuse API
│       └── models.py                # Pydantic models (filters, credentials)
└── tests/
    ├── conftest.py                  # Shared test fixtures & mock data
    ├── test_models.py               # Filter & credential validation tests
    ├── test_client.py               # REST client tests (mocked HTTP)
    └── test_server.py               # MCP tool integration tests

Versioning

This project follows Semantic Versioning 2.0:

  • PATCH (0.1.x) — Bug fixes
  • MINOR (0.x.0) — New filters, tools, or features
  • MAJOR (x.0.0) — Breaking changes

License

MIT

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

langfuse_traces_mcp-0.1.0.tar.gz (15.3 kB view details)

Uploaded Source

Built Distribution

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

langfuse_traces_mcp-0.1.0-py3-none-any.whl (10.8 kB view details)

Uploaded Python 3

File details

Details for the file langfuse_traces_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: langfuse_traces_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 15.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for langfuse_traces_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ae125f1b70a571d503395290c017139ed60d4b284ae19227ac9e0770abf1fe96
MD5 1e38866868e052d89f079812fb0e243b
BLAKE2b-256 43c6399bb4601a59ffc66ee4523b22d7339ec2b937c826c75a852b130621389c

See more details on using hashes here.

File details

Details for the file langfuse_traces_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for langfuse_traces_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 aa7b15dc4ea087c2d88d12d49f4ef1f534d8026af3db386578ab318f739ac32a
MD5 e684e2cc074ed8ebb892ced933f8ca04
BLAKE2b-256 078d591de50ee00ab1aefa787a63abc12cd60a80a120c03752665dfb3dac7258

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