Read-only access to canonical workflows, provider rendering, validation, and evidence-based repository health scoring.
Five tools with clear verb-noun naming and consistent READ_ONLY annotations. All tools have descriptions (10 - 200 chars) and input schemas with types. However, parameter descriptions are sparse or missing entirely (e.g., 'category' in list_workflows lacks guidance on what metadata it filters; 'provider' in render_provider_asset has no description). Output schemas are not documented, LLMs cannot infer what fields to expect from responses. Error handling delegates to service.structured_call() but no recovery guidance is visible. Tool composition is sound (each does one thing), but descriptions fall short of LLM-optimized length (50 - 200 chars baseline). Baseline: avg param description 72 chars; 100% of A+ tools have param descriptions, this server has ~40% coverage.
Get a canonical workflow by lowercase kebab-case name with bounded Markdown output.
List workflows. Category is a case-insensitive metadata filter; limit is 1-100.
Render a provider asset in memory. This tool never writes files.
Score repository file evidence without executing code or returning file contents.
Validate all canonical contracts or focus the result on one workflow.
Parameter descriptions missing or incomplete. 'category' in list_workflows has no description; 'provider' in render_provider_asset has no description; 'path' in score_repo_health lacks guidance on what paths are valid.
Output schemas not documented. Callers cannot infer response structure (e.g., does list_workflows return 'workflows' array or 'items'? Does get_workflow return 'markdown' or 'content'?). LLMs must guess field names for downstream chaining.
Error handling opaque. service.structured_call() wraps errors, but no recovery guidance visible in tool descriptions. LLMs cannot determine if errors are retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 57 | 2026-07-28+ | v2 |
Parameter constraints not enforced in descriptions. 'limit' in list_workflows states '1-100' in docstring but not in parameter description; 'max_chars' lacks min/max guidance in parameter description.
Tool descriptions under 100 chars (baseline 194 chars for A+ tools). Descriptions are functional but lack context on WHEN to use each tool vs. alternatives.