Zero-dependency MCP server that ships the Fable behavioral profile (steering text + deterministic fable_lint) so any model in any MCP client can adopt Claude Fable 5's working style.
Server exposes 7 tools with mostly clear names and reasonable descriptions. However, critical gaps exist: fable_taste and fable_fusion/fable_cross_verify lack complete input schema visibility in the provided source; error handling guidance is minimal; no output schemas documented; parameter descriptions are present but often generic. Tools follow verb_noun naming (fable_lint, fable_check, get_fable_profile) which is good, but descriptions vary in actionability. The fusion tools mention network/cost implications but lack structured error recovery guidance. Overall, definitions are above-average for community servers but fall short of production-grade clarity.
Deterministic per-domain Definition-of-Done gate. Verifies acceptance criteria are met before handing over a high-stakes deliverable. Returns BLOCK if an acceptance criterion is unmet, PASS if all criteria are satisfied, or UNCHECKED for human judgement calls that are never auto-passed.
Cross-model adversarial verification via OpenRouter: sends ONE artifact to N DIFFERENT-weights models (default GPT + Gemini) and asks each to REFUTE it, returning each model's structured verdict. Use to catch the correlated blind spots a same-family (all-Claude) panel shares. NETWORK + COST: hits OpenRouter once per model; requires OPENROUTER_API_KEY.
Multi-model deliberation via OpenRouter Fusion: a panel of models (default Opus + GPT + Gemini) answers in parallel, a judge compares them (consensus / disagreements / unique insights / blind spots), and a final synthesized answer comes back — higher quality than any single model. The fused answer is written in the Fable working style. NETWORK + COST: each call hits OpenRouter and bills for several completions; requires OPENROUTER_API_KEY in the environment.
Deterministic, dependency-free check of a draft response/plan against the Fable communication + restraint principles. Detects arrow-chain shorthand, permission-asking hedges, intent without action, buried outcomes, over-formatting, excess hedging, unrequested scope creep, survey-without-recommendation, and unsupported done/works claims. No LLM call.
Output schemas not documented. Tools return results but LLMs cannot predict field structure, forcing them to parse unstructured responses. fable_fusion and fable_cross_verify especially lack clarity on what fields the synthesized answer contains.
Error handling lacks recovery guidance. Tools mention prerequisites (e.g., 'requires OPENROUTER_API_KEY') but do not specify what error the LLM will receive if the key is missing, or how to recover. No error classification (retryable vs. fatal).
fable_taste parameter descriptions are minimal. 'action' enum is clear, but 'key' and 'value' lack guidance on valid key names, value format, or size limits. LLMs cannot infer what keys are supported.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Reports whether fablever is active and how it is configured. Deterministic, zero-LLM check that returns configuration state, host environment, and feature flags.
Stores and retrieves LOCAL user preferences for the Fable working style. Never put secrets in it. Allows customization of profile behavior per user/session.
Returns the full working-style text in the requested variant (core, compact, or full). Used for self-steering and understanding the Fable discipline.
fable_fusion and fable_cross_verify descriptions mention cost and network calls but do not specify timeout behavior, rate limits, or what happens if OpenRouter is unavailable. Agents need this to plan retries.
fable_check 'domain' parameter accepts a string but does not enumerate valid domains (code, docs, plan, etc.). LLMs will guess or hallucinate domain names, causing failures.