Prombank MCP has 8 tools with complete schemas and descriptions present in the source code. Naming follows verb-noun conventions (search_prompts, get_prompt, create_prompt, etc.), which is good. However, several tools lack parameter descriptions or have incomplete schema details. Output schemas are not documented in the tool definitions. Error handling guidance is absent. The tool set is well-structured for CRUD operations on prompts but lacks composition guidance for multi-step workflows. Descriptions are adequate (100-150 chars typical) but could better explain WHEN to use each tool vs alternatives.
Tools (8)
bulk_importwriteauthsource verified73/100
Bulk import prompts from Fabric patterns or markdown files
create_promptwriteauthsource verified80/100
Create a new prompt with title, content, and metadata
Output schemas not documented. Tool descriptions state WHAT each tool does but not what fields are returned. LLMs cannot plan multi-step workflows or extract data for downstream tools without knowing response structure.
Missing error handling guidance. No tool provides recovery hints (e.g., 'prompt_id not found, try search_prompts() first'). Error responses will be raw exceptions, giving agents no actionable direction.
delete_prompt lacks confirmation/dry-run support. Destructive operations should require explicit user confirmation or support a confirmation step to prevent accidental data loss.
delete_prompt
Recommendations
Document output schema for each tool. Add a 'returns' or 'Response' section to each tool description listing key fields: 'Returns an array of {id (int), title (string), content (string), created_at (ISO-8601 datetime)}.' This lets LLMs know what data to extract.
Add error handling and recovery guidance to tool descriptions. Example: 'Throws 404 if prompt_id not found, call search_prompts() first if you only have a title or tag. Returns descriptive error message with available prompt IDs.'
Implement confirmation step for delete_prompt. Either: (1) require a confirmation parameter (dangerous, adds cognitive load), or (2) support a dry-run mode that previews deletion, or (3) implement a soft-delete + restore pattern.
Document pagination explicitly in search_prompts and list_templates. Describe the relationship between 'limit' and 'offset' or 'cursor'. State: 'Results are limited to 20 per page; use offset to fetch subsequent pages. Returns total_count so agents can iterate through all results.'
Clarify get_user_info parameters and response. If it returns the current authenticated user, say so. If it accepts an optional user_id parameter, document it. List response fields explicitly: 'Returns {user_id, username, email, prompt_count, created_at, ...}'.
Add composition guidance in tool descriptions. Example for search_prompts: 'Use this to discover prompts by keyword. If you need full prompt details (variables, metadata), call get_prompt(prompt_id) on the result.' This helps agents plan multi-step workflows.
search_prompts and list_templates lack pagination/limit parameters in their documented schemas. Returning unlimited results risks blowing the context window. search_prompts has 'limit' but list_templates does not; neither mention 'offset/cursor' for pagination.
get_user_info has empty parameter schema (no params documented). Description is vague ('Get user information and statistics'), unclear what constitutes 'statistics' or what the LLM receives back. Does it return current user or accept a user_id? Ambiguous.
bulk_import source_type enum includes 'fabric' and 'markdown', but no guidance on what happens when both content (single file) and pattern (glob) are provided, or how the agent should choose between them. Undocumented parameter dependencies.
Tool descriptions lack composition hints. No guidance on multi-step workflows: 'Call search_prompts first, then get_prompt for full details' or 'create_prompt returns a prompt_id you can pass to update_prompt'. Agents will waste calls discovering these chains.
search_promptsget_promptcreate_prompt
Validate enum and parameter dependencies in descriptions. For bulk_import, clarify: 'If content is provided, it is imported as a single file (pattern is ignored). If content is empty, files matching pattern in the configured directory are imported.'
Add success/failure semantics. For bulk_import, specify: 'Returns {imported_count (int), failed_count (int), errors ([{file, reason}], optional)}. If failed_count > 0, the operation is retryable, fix the invalid files and call again.'
Consider adding batch variants. If agents frequently import multiple prompts or update many at once, offer bulk_create_prompts and bulk_update_prompts alongside single-item operations to reduce latency and token cost.