A Model Context Protocol server that exposes Fabric patterns as tools that can be used in Cline. Each pattern is loaded from the Fabric patterns directory and exposed as a tool.
This server has severe definition quality issues. Tool names do not follow verb_noun conventions (recommend_tool is acceptable but dynamic_pattern_tools is vague). Descriptions are present but lack critical detail about when/why to use each tool and what they return. Input schemas are minimal, only a single 'input' string parameter with no validation, constraints, or format guidance. Output schemas are completely undocumented. The dynamic_pattern_tools description is generic and does not explain the pattern selection logic, constraints, or expected output structure. Error handling is minimal, no recovery guidance, no error classification, no actionable error messages. The recommend_tool hardcodes 'summarize' as a fallback and has commented-out Perplexity integration, indicating incomplete implementation. No per-tool security, composition, or chaining guidance. Average baseline for production tools: descriptions 194 chars (this server: recommend_tool ~75 chars, dynamic_pattern_tools ~150 chars, adequate length but missing actionable detail). Parameters lack enums, format constraints, or range validation. No documented output schemas. This is a D-/F+ server.
Dynamically generated tools for each Fabric pattern directory found in PATTERNS_DIR. Each pattern tool executes the corresponding Fabric pattern with provided input.
Recommends the best Fabric pattern tool for a given task
Tool names do not follow verb_noun convention; 'dynamic_pattern_tools' is a plural noun with no action verb, violating naming clarity baseline (90% of A+ tools start with action verb).
Output schemas are completely undocumented. No tool describes what fields, types, or structure agents should expect in responses. LLMs cannot plan downstream calls or extract relevant data.
Input parameters lack validation, constraints, and format guidance. Single 'input' string parameter with no enum, pattern, length limit, or example. Baseline: parameters should specify expected format, range, and allowed values. None present.
Error handling is minimal. recommend_tool hardcodes a fallback to 'summarize' with no error recovery guidance. Code contains commented-out Perplexity integration, indicating incomplete implementation. No error classification (retryable, user-fixable, fatal) or actionable error messages.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 35 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 26 | - | v1 |
Descriptions lack actionable context. 'Executes the corresponding Fabric pattern' is procedural but does not answer: When should the LLM choose this pattern? What domain/task is it for? What is the output format? Descriptions should be LLM-optimized (50-200 chars, baseline 194 chars average).
Dynamic pattern tools are registered at runtime based on PATTERNS_DIR contents, but the tool definitions are not explicitly visible in source code, they are constructed in the ListToolsRequestSchema handler. Per HARD SCORING RULE, tools with inferred definitions are capped at 50 overall.