A MCP Server for Langfuse Prompt Management
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. Tool naming follows verb_noun convention (get-prompts, get-prompt, get_trace). Descriptions exist but are minimal (10-80 chars, below the 194-char baseline). Parameters lack detailed constraints and format guidance. No output schemas documented. Error handling is generic ('Error: ' + error). The get_trace tool uses inlined Zod schema (not explicitly visible in registration), making verification difficult.
Get a prompt that is stored in Langfuse
Get prompts that are stored in Langfuse
Fetches trace data from Langfuse using the provided trace ID.
Output schemas not documented. LLMs cannot predict response structure (e.g., what fields get-prompts returns, what get_trace yields). Agents cannot plan downstream tool calls or extract required data.
Descriptions are too short (10 - 80 chars vs. 194-char baseline). 'Get prompts that are stored in Langfuse' lacks context on when to use this vs. get-prompt, what pagination looks like, or what fields are returned.
Parameter 'arguments' in get-prompt uses z.record(z.string()) but lacks format guidance. Description says 'json object, e.g. {"<name>":"<value>"}', example values in descriptions are anti-pattern; use formal constraints instead.
get_trace tool naming uses snake_case (get_trace) while others use kebab-case (get-prompts, get-prompt). Inconsistent naming confuses LLM tool selection and violates verb_noun convention.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 54 | 2026-07-28+ | v2 |
Error handling is generic: 'Error: ' + error. No recovery guidance. LLM cannot determine if error is retryable, user-fixable, or fatal. Should return actionable messages like 'Prompt not found. Call get-prompts to list available prompts.'