Metadata-Version: 2.4
Name: fusion-mcp
Version: 0.1.0
Summary: Local Fusion MCP server — panel→judge→synthesis on the Claude CLI subscription, no OpenRouter.
Project-URL: Homepage, https://github.com/Jolymmiles/fusion-mcp
Project-URL: Repository, https://github.com/Jolymmiles/fusion-mcp
Author: Jolymmiles
License: MIT
Keywords: claude,fusion,llm,mcp,model-context-protocol
Requires-Python: >=3.10
Requires-Dist: mcp[cli]>=1.2.0
Description-Content-Type: text/markdown

# fusion-mcp

<!-- mcp-name: io.github.Jolymmiles/fusion-mcp -->

Local **Fusion** MCP server — replicates the [OpenRouter Fusion](https://openrouter.ai/blog/announcements/fusion-beats-frontier/) mechanism on your **local Claude CLI subscription**. No OpenRouter, no separate token bill, one wallet.

Instead of dispatching to many vendors, it fans out several headless `claude -p` calls, each given a distinct analytical lens, then runs a judge pass and a synthesis pass.

## Pipeline

| Stage | Name | What |
|-------|------|------|
| 1 | Panel | N parallel `claude -p` calls, diverse lenses (pragmatist / skeptic / researcher / architect), web search on |
| 2 | Judge | One call: consensus / contradictions / gaps / blind spots |
| 3 | Synthesis | One call: final answer grounded in the judge analysis |

## Tool

```
fusion_research(question, panel="default")
```

Panels:
- `default` / `frontier` — Opus 4.8
- `budget` — haiku + sonnet (use for frequent calls)

## Install

```bash
python3 -m venv .venv
.venv/bin/pip install "mcp[cli]"
claude mcp add -s user fusion -- /ABS/PATH/.venv/bin/python /ABS/PATH/fusion_mcp.py
```

`-s user` → server visible in all folders. Use absolute paths.

## Cost

Each call ≈ `panel_size + 2` full Claude turns, 2-3x slower than a single call. Binding limit is the subscription **request rate / usage quota**, not dollars. Call sparingly — reserve for expensive questions: architecture decisions, comparing approaches, best-practice research.

## Statusline (optional)

Server writes an atomic JSON heartbeat to `$XDG_RUNTIME_DIR/fusion-mcp/state.json`. Reader `fusion-status.sh` (bash + jq) prints e.g. `🔮 fusion[panel] 2/3 panel`. Wire into `statusLine.command` in settings.json.
