Fable MCP
About
MCP server for Anthropic Claude Fable 5 — high-value planning, critique, and raw queries (Rust)
Details
- Author
- codechap
- Categories
- Developer Tools, Other, AI
Jump to
Setup
Install Fable MCP in your MCP client (Claude Desktop, Cursor, Windsurf, and others).
Repository: https://github.com/codechap/mcp-server-fable
Follow the installation instructions in the repository README, then restart your MCP client.
An MCP (Model Context Protocol) server forAnthropic Claude Fable 5— Anthropic's most capable, most expensive model ($10 / $50 per 1M input / output tokens, ~2× Opus). Built in Rust, it exposes Fable as specialized MCP tools (plan,critique,ask) soanyMCP client can use them.
Fable isnota day-to-day chat model here. This server is built for the one thing that justifies the price: using Fable toplanandcritique, then handing the result to a cheaper model (Sonnet / Haiku / Opus) to execute. It works in Claude Code, Claude Desktop, Cursor, custom agents, and any other environment that supports MCP servers over stdio.
Communicates via stdio using JSON-RPC 2.0. Structurally it mirrorsmcp-server-claude-chat, but is deliberately adapted to Fable's API surface and purpose-built for the plan-then-execute pattern.
Why mcp-server-fable (vs. Claude Code's built-in advisor)?
Claude Code has a powerful native advisor feature (/advisor fableor theadvisortool). It lets a fast executor model (typically Sonnet or Haiku) dynamically ask Fable for guidance on hard decisions inside a single session.
This MCP server takes acomplementary approachthat is useful in more situations:
- Explicit tools with handoff-optimized prompts—planandcritiqueuse fixed, carefully written system prompts designed so the output can be passedverbatimto a cheaper model. Plans are numbered, unambiguous, include exact paths/signatures, edge cases, acceptance criteria, and out-of-scope notes. Critiques are deliberately coverage-first (report everything; filter downstream).
- Works everywhere MCP works— Not limited to Claude Code. Use it in Claude Desktop, Cursor, Windsurf, custom agent frameworks, VS Code MCP extensions, scripts, or any future tool that supports the Model Context Protocol.
- You control the orchestration— Call Fable for planning or review exactly whenyou(or your multi-agent system) decide, instead of relying on the model to escalate.
- Clean composability— Treat Fable as a reusable specialist service alongside your other MCP servers. Perfect for modern "expensive model for judgment, cheap model for execution" workflows.
- Correct Fable-specific behavior— Propereffortlevels, refusal handling (no silent fallback), long timeouts, and accurate per-call cost reporting at Fable rates.
Many teams are converging on the same pattern the community discovered: use Fable narrowly for architecture, planning, and review, then execute with cheaper models. This server gives you first-class, portable tools for the "Fable parts" of that pattern.
See the "Technical details" section below for the specific Fable API differences that also required a dedicated implementation.
This server uses theAnthropic API with an API key (API credits)— the only supported, terms-compliant way to drive Claude from a third-party tool. A Claude Pro/Max subscription is not usable here. Pointbase_urlat an Anthropic-compatible gateway if you run one.
Technical details: Fable API differences
Fable's Messages API differs from the Opus-era shape (this is why a dedicated server was needed rather than reusing a general Claude chat wrapper):
- No sampling parameters—temperature/top_p/top_kare rejected with a 400. There is notemperaturetool argument.
- Adaptive thinking only— reasoning is always on; depth is controlled byeffort(low/medium/high/xhigh/max), not a token budget. The raw chain of thought is never returned;askcan request a readablesummaryviashow_reasoning.
- Refusals stop, cleanly— this is adedicated Fable server. Fable's safety classifiers (cyber / bio / model-distillation) can decline a request; that comes back as a successful response withstop_reason: "refusal", surfaced with its category and explanation rather than as an answer. It is never silently retried on a different model.
- 30-day data retention required— Fable is not available to zero-data-retention orgs; such orgs get a 400 on every request.
Every response also prints anestimated USD cost(at Fable's sticker rates), since cost-consciousness is the whole point.
- Rust (edition 2024)
- An Anthropic API key fromconsole.anthropic.com, on an org with ≥30-day data retention
The server expects a config file at~/.config/mcp-server-fable/config.tomlcontaining at minimum yourapi_key. Seeconfig.toml.example.
api_key = "sk-ant-..." # Optional overrides: # base_url = "https://api.anthropic.com/v1" # default_model = "claude-fable-5" # default_max_tokens = 8192 # default_effort = "high" # low | medium | high | xhigh | max
The server fails fast at startup if the config is missing,api_keyis empty, ordefault_effort(if set) is invalid.
cargo build --release # produces target/release/fable cargo build # debug build cargo run # run in dev mode RUST_LOG=debug cargo run cargo test # unit tests (response formatting, cost, refusal, effort, message building)
cargo build --release # The binary will be at: target/release/fable
Use thefull absolute pathtotarget/release/fablein all configuration below.
2. AI-assisted installation (recommended modern method)
Copy the block below and paste it directly to your AI coding assistant (Claude Code, Cursor, Grok, etc.). The AI will handle cloning (if needed), building, path resolution, and registration for you.
Add the mcp-server-fable MCP server for me. Repository: https://github.com/<your-username>/mcp-server-fable (update this URL if you have a fork) Steps to perform: 1. If the repo isn't cloned locally yet, clone it and cd into it. 2. Build the release binary: cargo build --release 3. Determine the absolute path to the built binary (target/release/fable). 4. Set up the config directory and file: mkdir -p ~/.config/mcp-server-fable cp config.toml.example ~/.config/mcp-server-fable/config.toml Then edit the config and add your Anthropic API key (api_key = "sk-ant-..."). 5. Register it as an MCP server named "fable". For Claude Code, run: claude mcp add fable -- <ABSOLUTE_PATH_TO>/target/release/fable For Claude Desktop or other MCP clients, add this under the "mcpServers" key (use the real absolute path): { "fable": { "command": "<ABSOLUTE_PATH_TO>/target/release/fable" } } After setup, test that the plan tool is available and working.
Claude Desktop or any MCP client (~/.config/Claude/claude_desktop_config.jsonor equivalent):
{ "mcpServers": { "fable": { "command": "/absolute/path/to/mcp-server-fable/target/release/fable" } } }
claude mcp add fable -- /absolute/path/to/mcp-server-fable/target/release/fable
Replace the path with your actual absolute path to the release binary.
Once it's registered, an MCP client calls the tools by name — the flagship isplan.
Ask the model to use it, handing over the goal plus whatever context the executor will need:
Use the fableplantool. goal: "Add a--jsonflag to the CLI that prints results as JSON". context: "Rustclapapp; output currently goes throughprintln!insrc/main.rs". effort: high
Claude Code issues atools/callforplan; Fable returns a numbered, executor-ready plan — exact paths, signatures, edge cases, acceptance criteria — which you then hand to a cheaper model (Sonnet / Haiku) to implement verbatim.
The same call without a client — atools/callrequest the server reads on stdin:
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{ "name":"plan", "arguments":{ "goal":"Add a --json flag to the CLI that prints results as JSON", "context":"Rust clap app; output currently via println! in src/main.rs", "effort":"high" }}}
planandcritiquereturn their content followed by a token + estimated-cost footer. Here is anactualresponse (from a tinyaskprobe) showing that footer:
BINARY-OK [stop_reason: end_turn] [tokens: 21 input + 9 output = 30 total] [cost: ≈ $0.0007 (fable rates)]
Because the server only ever calls Fable, that cost line is always at Fable's $10 / $50 per-1M rates — accurate by construction, not by convention.
src/ main.rs - entry point, config loading, stdio transport setup server.rs - MCP tool definitions (plan, critique, ask) + fixed prompts api.rs - Anthropic HTTP client, Effort enum, Messages types, refusal/cost formatter params.rs - tool parameter types with serde + JSON Schema derives config.rs - TOML config loading + effort validation
This is a web browser that enables your coding agent, such as Claude Code, to visit websites on your behalf and assist you in identifying bugs or creating UI test cases.
next-devtools-mcp is a MCP server that provides Next.js development tools and utilities for AI coding assistants like Claude and Cursor.
A demonstration server for ActionKit, providing access to Slack actions via Claude Desktop.
MCP server that lets Claude Code agents delegate tasks to agents in other project directories, with parallel dispatch, sessions, and async jobs.
Anchor Browser (https://anchorbrowser.io) is secure infrastructure for computer-use agents — stealth cloud browsers, authentication, captcha bypass, and a hosted MCP server for Cursor, Claude, and Windsurf.
Open-source Claude Code plugin replacing Read/Grep/Edit/Bash with token-efficient versions. Independently benchmarked at 57% token reduction on real codebases. 40 MCP tools.
Connects Blender to Claude AI via the Model Context Protocol (MCP), enabling direct interaction and control for prompt-assisted 3D modeling, scene creation, and manipulation.
Context-optimized security plugin for Claude Code that builds architecture maps and redacts secrets.
Charon gives AI clients scoped, auditable access to Lethe memory. connect to Chatgpt or Claude to store memories locally.
Score CLAUDE.md/AGENTS.md, validate clarx-manifest.json, generate CI workflows, and pull repo scan findings into Cursor, Claude, or Grok.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





