MCP server for managing Layer prompts with version control, template management, and Layer API integration
Server has 10 tools with basic schemas and descriptions, but significant quality gaps. All tools have descriptions (10-50 chars, mostly generic), and input schemas are present with type definitions. However, descriptions are too brief to guide LLM selection effectively (baseline 194 chars; these average ~30 chars). Parameter descriptions exist but lack context on constraints, formats, or when to use each tool. No output schemas documented. Error handling is minimal, HTTPException with generic messages. No tool annotations (readOnlyHint/destructiveHint). Naming is verb-forward but lacks clarity on distinctions (e.g., 'save_prompt_version' vs 'save_prompt_as_template' are confusingly similar). No pagination, no idempotency guidance, no recovery hints in errors.
Create a new prompt in Layer API
Edit an existing prompt in Layer API
Edit an existing prompt template
Fetch a specific prompt template by ID
Fetch all versions of a prompt
Get all prompts from Layer API
Get all tools from Layer API
Descriptions too brief (avg 30 chars vs baseline 194 chars). LLMs cannot determine when to select 'save_prompt_version' vs 'save_prompt_as_template', both sound like save operations. Descriptions lack WHAT, WHEN, and prerequisites.
No output schemas documented. Callers cannot predict response structure. E.g., 'list_prompt_templates' returns [{id, name, type}] but this is inferred from code, not declared in tool metadata.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). LLMs cannot distinguish safe reads from destructive writes. 'save_prompt_version' and 'edit_prompt_template' modify state but lack destructiveHint.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 53 | 2026-07-28+ | v2 |
List all saved prompt templates
Save a prompt as a reusable template
Save a version of a prompt with a change note
Error handling is generic. HTTPException(404, 'Template not found') gives no recovery guidance. Should suggest 'Call list_prompt_templates() to see available templates' per pattern:recovery-guide.
Confusing naming: 'save_prompt_version' (creates a version record) vs 'save_prompt_as_template' (saves as reusable template) are semantically different but names do not clarify. Should be 'create_prompt_version' and 'save_prompt_as_template' or similar.