Model Context Protocol (MCP) Server for MLflow Prompt Registry
Two tools with basic descriptions and partial schemas. list-prompts and get-prompt both have action verbs and descriptions (10-20 chars each), but descriptions are minimal and lack context on when/why to use them. Input schemas present with type info but parameter descriptions are generic. No output schema documented. Error handling exists but lacks recovery guidance. Tool composition is reasonable (list then get pattern), but parameter naming could be clearer (e.g., 'filter' vs 'searchFilter').
Get a prompt that is stored in MLflow
List prompts that are stored in MLflow
Descriptions are too brief (10-20 chars) and lack context. 'List prompts that are stored in MLflow' does not explain when to call this vs get-prompt, what structure is returned, or pagination behavior.
Output schema not documented. LLMs cannot infer that list-prompts returns {prompts: [{name, arguments}], nextCursor} or that get-prompt returns {messages: [{role, content}]}. Undocumented outputs force LLMs to guess field names.
Parameter descriptions are generic and lack format/constraint details. 'Filter to search for prompts' does not explain syntax (ILIKE pattern?), case sensitivity, or examples. 'Arguments with prompt variables' lacks detail on variable syntax ({{name}} format not mentioned in param description).
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
Error messages are generic ('Failed to fetch prompts', 'Failed to get prompt') and do not guide recovery. No distinction between retryable errors (network timeout) vs user-fixable (prompt not found). LLMs cannot self-correct.
Parameter 'arguments' in get-prompt is typed as 'object' with no schema constraints. LLMs cannot validate which keys are valid or required. Should document expected keys from prompt template variables.