Rails-based MCP server for fiber arts and craft product recommendations, techniques, and support guidance
The server has 8 tools with basic schemas and descriptions, but significant gaps prevent a higher score. All tools start with action verbs (search, get, check, suggest) which is good. Descriptions exist but are generic and lack contextual guidance (e.g., 'Search products by query, fiber type, color, technique, skill level' doesn't explain WHEN to use this vs other product tools). Most parameters have type definitions and brief descriptions, but lack constraints (enums, ranges, formats) that LLMs need for valid input generation. Output schemas are completely undocumented, no return types visible in the source. Error handling is absent, no guidance on recovery or retryability. The tool composition is reasonable (each does one thing), but chaining is not evident from documentation.
Check if a product is compatible with specified fiber type
Get contextual guidance for agents when stuck or need direction
Get detailed information about a specific product
Get product recommendations based on a specific product
Get step-by-step technique guide
Search products by query, fiber type, color, technique, skill level
Search FAQ answers and support articles
No output/return schemas documented. LLMs cannot plan downstream calls or extract relevant fields when output structure is invisible.
Descriptions lack WHEN-to-use context and decision guidance. 'Search products by query...' doesn't explain when to call this vs suggest_for_project or get_product_recommendations. LLMs cannot disambiguate.
Parameters lack enum constraints and format specifications. 'fiber_type' accepts freeform string but should declare valid values (cotton, wool, silk, etc.). 'skill_level' similarly underdefined. LLMs will hallucinate invalid values.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 51 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 57 | - | v1 |
Get complete product suggestions for a specific project type
No error handling guidance. Tools do not document what happens on 404 (product not found), invalid fiber_type, etc. LLM receives raw errors with no recovery path.
get_agent_guidance has vague purpose and parameters. 'context_type' should be an enum (no_results|too_many_results|...) with examples. 'conditions' as untyped object is opaque. Description doesn't explain when agent should call this vs others.
Parameter descriptions are minimal or absent in some cases. 'recommendation_type' in get_product_recommendations has no guidance, what values are valid? What's the difference between recommendation_type variants?