Fable

io.github.codeChap由 GitHub 帳號 codeChap 發布v0.1.0更新於 Oct 24, 2026

Anthropic Claude Fable 5 MCP server — top-tier planning and code critique for handoff

已驗證STDIO僅桌面開發者工具AI 與機器學習

概覽

AI 產生的概覽

本機 stdio MCP 伺服器,把 Anthropic 的 Claude Fable 模型包裝成 plan、critique 與 ask 工具,用於規劃與程式碼審查交接。

可以做什麼
  • 依目標與上下文產出可直接交給執行模型的分步實作計畫,含路徑、邊界情況與驗收標準
  • 對程式碼、diff 或設計做涵蓋優先的審查,逐項列出嚴重度與信心度,可指定關注領域
  • 向 Fable 送出單次原始提問,可附系統提示、多輪歷史、effort 等級與推理摘要
  • 每次回應附上 token 用量與估算的美元成本
適用情境
適合把昂貴的高能力模型專門用在架構、規劃與審查,再把結果交給較便宜的模型執行。也適合多代理或跨客戶端情境,由你自己決定何時升級呼叫,而不是依賴模型自行升級。
執行需求
需以 Rust(edition 2024)從原始碼建置並在本機執行,未發布任何套件。需在 ~/.config/mcp-server-fable/config.toml 設定檔提供 Anthropic API 金鑰,且所屬組織須支援至少 30 天資料保留。可用 base_url 指向相容 Anthropic 的閘道。Claude Pro/Max 訂閱無法使用。
安裝前請注意
呼叫依 Fable 的高單價計費(約為 Opus 的兩倍),成本累積很快,每次回應都會列出估算費用。API 金鑰以明文存放在設定檔中。送出的提示、程式碼與 diff 會傳給 Anthropic 的 API,且該服務要求 30 天資料保留。請求可能被安全分類器拒絕,且不會改用其他模型重試。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fable,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

mcp-server-fable

[License: MIT] [Rust edition 2024] [MCP] [Model: Claude Fable 5.1]

An MCP (Model Context Protocol) server for Anthropic Claude Fable 5.1 — 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) so any MCP client can use them.

Fable is not a day-to-day chat model here. This server is built for the one thing that justifies the price: using Fable to plan and critique, 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 mirrors mcp-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 fable or the advisor tool). 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 a complementary approach that is useful in more situations:

  • Explicit tools with handoff-optimized prompts — plan and critique use fixed, carefully written system prompts designed so the output can be passed verbatim to 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 when you (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 — Proper effort levels, 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.

Subscription vs. API credits

This server uses the Anthropic 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. Point base_url at 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_k are rejected with a 400. There is no temperature tool argument.
  • Adaptive thinking only — reasoning is always on; depth is controlled by effort (low / medium / high / xhigh / max), not a token budget. The raw chain of thought is never returned; ask can request a readable summary via show_reasoning.
  • Refusals stop, cleanly — this is a dedicated Fable server. Fable's safety classifiers (cyber / bio / model-distillation) can decline a request; that comes back as a successful response with stop_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 an estimated USD cost (at Fable's sticker rates), since cost-consciousness is the whole point.

Tools

ToolDescription
planFlagship. Turn a goal (+ optional context) into an executor-ready implementation plan: numbered steps, exact paths/signatures, edge cases, acceptance criteria, out-of-scope notes — written to be handed to a cheaper model and executed verbatim.
critiqueCoverage-first review of code, a diff, or a design. Reports every finding with severity + confidence for downstream filtering. Optional focus.
askRaw one-shot query to Fable. Multi-turn history, system prompt, effort, optional reasoning summary.

plan

NameTypeRequiredDescription
goalstringyesWhat to build or fix
contextstringnoRelevant code, file tree, constraints, error output, prior attempts
effortstringnolow/medium/high/xhigh/max (default high)
max_tokensintegernoMax tokens to generate (server default otherwise)

critique

NameTypeRequiredDescription
contentstringyesCode, diff, or design to review
focusstringnoArea to weight, e.g. security, concurrency
effortstringnolow/medium/high/xhigh/max (default high)
max_tokensintegernoMax tokens to generate

ask

NameTypeRequiredDescription
promptstringyesThe user message
system_promptstringnoSystem prompt
messagesstringnoHistory as a JSON array of {role, content} (roles user/assistant only)
effortstringnolow/medium/high/xhigh/max (default medium)
max_tokensintegernoMax tokens to generate
show_reasoningbooleannoReturn a summary of Fable's reasoning in a [thinking] block

Prerequisites

  • Rust (edition 2024)
  • An Anthropic API key from console.anthropic.com, on an org with ≥30-day data retention

The server expects a config file at ~/.config/mcp-server-fable/config.toml containing at minimum your api_key. See config.toml.example.

toml
api_key = "sk-ant-..."
# Optional overrides:# base_url = "https://api.anthropic.com/v1"# default_model = "claude-fable-5-1"# default_max_tokens = 8192# default_effort = "high"   # low | medium | high | xhigh | max

The server fails fast at startup if the config is missing, api_key is empty, or default_effort (if set) is invalid.

Build

bash
cargo build --release   # produces target/release/fablecargo build             # debug buildcargo run               # run in dev modeRUST_LOG=debug cargo runcargo test              # unit tests (response formatting, cost, refusal, effort, message building)

Installation & MCP Configuration

1. Build the server

bash
cargo build --release# The binary will be at: target/release/fable

Use the full absolute path to target/release/fable in 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 --release3. 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.

3. Manual configuration

Claude Desktop or any MCP client (~/.config/Claude/claude_desktop_config.json or equivalent):

json
{  "mcpServers": {    "fable": {      "command": "/absolute/path/to/mcp-server-fable/target/release/fable"    }  }}

Claude Code (one-liner):

bash
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.

Usage

Once it's registered, an MCP client calls the tools by name — the flagship is plan.

From an MCP client (e.g. Claude Code)

Ask the model to use it, handing over the goal plus whatever context the executor will need:

Use the fable plan tool. goal: "Add a --json flag to the CLI that prints results as JSON". context: "Rust clap app; output currently goes through println! in src/main.rs". effort: high

Claude Code issues a tools/call for plan; 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.

Raw JSON-RPC over stdio

The same call without a client — a tools/call request the server reads on stdin:

json
{"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"  }}}

plan and critique return their content followed by a token + estimated-cost footer. Here is an actual response (from a tiny ask probe) 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.

Project Structure

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

License

MIT

來源:README.md,提交 509909e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Sep 16, 2026

評分

已滿足適用檢查項的 40%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。