User-owned prompt bank with templates, descriptions, variables, and version history. Provides MCP tools for prompt discovery and retrieval via Streamable HTTP.
Promptify exposes 2 tools with basic verb-noun naming (list_prompts, get_prompt) and READ_ONLY risk annotations. Both tools have descriptions (194 and 156 chars respectively), exceeding the 10-char minimum but falling short of the 50-200 char LLM-optimized range. list_prompts has an empty input schema ({}), which is correct for a discovery tool. get_prompt accepts a single required string parameter 'id' with a 95-char description that explains the parameter's purpose and source. However, neither tool documents output schemas, critical for LLM planning and chaining. The server instructions in the MCP initialization are detailed and guide LLM behavior well, but tool-level output documentation is absent. Error handling is not visible in the provided code. No parameter validation constraints (enums, ranges, patterns) are declared. The tools are read-only and low-risk, but lack the structured output documentation and parameter rigor expected of production-grade tools.
Fetch one prompt by id: full active template, description, variable names, and full version history. Use when you need the template text or history.
JSON array of prompts: id (internal), name, description, version, variables. When you show this to a user, reformat—do not dump JSON. Use server instructions.
Output schemas not documented. LLMs cannot plan downstream calls or extract required fields (e.g., variable names, version history) without knowing the response structure.
No input validation constraints. get_prompt accepts 'id' as a free-form string with no enum, pattern, or length limits. Invalid IDs will fail at runtime with no guidance for LLM recovery.
Error handling and recovery guidance absent. No documented error responses, retryability classification, or actionable error messages to guide LLM behavior on failure.
Tool descriptions lack WHEN-to-use context. Descriptions state WHAT the tools do but not when to prefer one over the other or what prerequisites exist (e.g., 'Call list_prompts first for discovery').
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 58 | 2026-07-28+ | v2 |
No pagination or result-limiting parameters. list_prompts returns a JSON array with no documented limit, offset, or cursor. Large prompt banks could exhaust context windows.