langfuse-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| LANGFUSE_HOST | Yes | The host URL of the Langfuse instance | |
| LANGFUSE_PUBLIC_KEY | Yes | Public key for API authentication | |
| LANGFUSE_SECRET_KEY | Yes | Secret key for API authentication | |
| LANGFUSE_DATABASE_URL | Yes | PostgreSQL database URL needed for admin tools like create_project and create_api_key |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_projectsA | List all Langfuse projects accessible with the current API key. |
| list_organizationsC | List all organizations. |
| get_or_create_projectA | Find a project by name or create it if it doesn't exist. Args: name: Project name to find or create. org_id: Organization ID to create in if not found (get from list_organizations). |
| map_projectA | Record that a local repo/path uses a specific Langfuse project. Args: path: Absolute path to the local project/repo. project_id: Langfuse project ID to associate with this path. project_name: Optional human-readable project name for reference. |
| lookup_projectA | Look up which Langfuse project a local repo/path is mapped to. Walks up the directory tree to find the nearest match. Args: path: Absolute path to look up (usually the current working directory). |
| list_project_mappingsA | List all local repo → Langfuse project mappings. |
| create_projectA | Create a new project inside an organization. Args: name: Display name for the project. org_id: The organization ID to create the project in (get from list_organizations). |
| create_api_keyA | Create a new API key pair (pk/sk) for a project. Returns the secret key — store it immediately, it is not shown again. Args: project_id: The project ID to create the key for. note: Optional label for the key. |
| list_api_keysB | List API keys for a project. Args: project_id: The project ID. |
| delete_api_keyA | Delete an API key by its ID. Args: key_id: The API key ID to delete (get from list_api_keys). |
| list_tracesA | List traces with optional filters. Args: limit: Number of results (max 100). page: Page number (1-based). user_id: Filter by user ID. session_id: Filter by session ID. name: Filter by trace name. tags: Filter by tags. |
| get_traceC | Get full details of a trace including observations. Args: trace_id: The trace ID. |
| list_sessionsB | List sessions. Args: limit: Number of results (max 100). page: Page number (1-based). |
| list_scoresB | List scores with optional filters. Args: limit: Number of results (max 100). page: Page number (1-based). trace_id: Filter by trace ID. user_id: Filter by user ID. name: Filter by score name. |
| create_scoreA | Create a score on a trace or observation. Args: trace_id: The trace to score. name: Score name (e.g. "quality", "faithfulness"). value: Numeric value (or 0/1 for BOOLEAN, category index for CATEGORICAL). observation_id: Optionally attach score to a specific observation. comment: Optional comment. data_type: NUMERIC | BOOLEAN | CATEGORICAL. |
| list_observationsA | List observations (spans, generations, events). Args: trace_id: Filter by trace ID. limit: Number of results (max 100). page: Page number (1-based). obs_type: Filter by type: SPAN | GENERATION | EVENT. |
| list_datasetsC | List datasets. Args: limit: Number of results. page: Page number. |
| get_datasetC | Get a dataset and its items. Args: dataset_name: The dataset name. |
| list_promptsB | List prompts in the prompt library. Args: limit: Number of results. page: Page number. name: Filter by name. |
| get_promptA | Get a prompt by name, optionally pinned to a version or label. Args: prompt_name: The prompt name. version: Specific version number. label: Label (e.g. "production", "latest"). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 20 tools
Each tool targets a distinct resource and action (e.g., create_api_key vs. delete_api_key, list_traces vs. list_sessions). No overlap in purpose; descriptions are clear.
All tool names follow a consistent verb_noun pattern (create_*, delete_*, get_*, list_*, lookup_*, map_*) using snake_case with no mixing of conventions.
20 tools is slightly above the typical 3-15 range but well-justified by the diverse resources (projects, keys, prompts, traces, etc.). No tool is redundant.
Several resource types lack CRUD coverage: no create/update for prompts, traces, observations, datasets, sessions; only list/get operations. API keys missing update. Major gaps for agent workflows.