Skip to main content
Glama
README.md
# fusion-mcp

A zero-dependency [MCP](https://modelcontextprotocol.io) server that exposes
**[OpenRouter Fusion](https://openrouter.ai/fusion)** as a tool any agent can call.

Fusion sends your prompt to a *panel* of models in parallel (with web search), a
*judge* model compares their answers, and you get back one synthesized answer —
stronger than any single model. This wraps it so Claude Code (or any MCP client)
can reach Fusion directly instead of going through the OpenRouter web UI.

## Tool

### `fusion_ask`

| arg | required | description |
|-----|----------|-------------|
| `prompt` | ✅ | The question or task for the Fusion panel. |
| `analysis_models` | | 1–8 model slugs forming the panel. Omit for Fusion's default preset. |
| `judge_model` | | Model that synthesizes the panel's answers. Defaults to the first panel model. |
| `preset` | | Curated preset: `general-high` or `general-budget`. |
| `max_tool_calls` | | Tool iterations per panel model (1–16, default 8). |

> Fusion runs several completions per call (panel + judge), so it costs more than
> a single model call. Use it where being wrong is costly: research, critique, decisions.

## Setup

Requires Node ≥ 18 and an OpenRouter API key.

```bash
export OPENROUTER_API_KEY=sk-or-...
```

### Wire into Claude Code

```bash
claude mcp add fusion -e OPENROUTER_API_KEY=sk-or-... -- node /Users/yoshikondo/fusion-mcp/server.mjs
```

Or add to your MCP config manually:

```json
{
  "mcpServers": {
    "fusion": {
      "command": "node",
      "args": ["/Users/yoshikondo/fusion-mcp/server.mjs"],
      "env": { "OPENROUTER_API_KEY": "sk-or-..." }
    }
  }
}
```

Then in a session: *"use fusion_ask to research X"*.

## Test

```bash
npm test
```

The test suite spins up a real local HTTP server standing in for OpenRouter and
drives a real child-process MCP server over real stdio — nothing internal is mocked.

## License

MIT

TDQS

A4.3/5.0

Scored across 1 tool

Disambiguation5/5

With only one tool, there is no possibility of overlapping or confusing tools. The single tool's purpose is clearly defined and distinct.

Naming Consistency5/5

With a single tool, the naming is trivially consistent. The verb_noun pattern (fusion_ask) is clear and well-formed.

Tool Count2/5

A single tool is too few for a typical MCP server, making the tool surface feel sparse. Even if the tool is powerful, the server lacks the breadth expected of a useful toolkit.

Completeness4/5

The server fully covers its stated purpose of asking a fusion panel, but there are minor gaps such as no configuration options or alternative request modes. The core functionality is complete, but some auxiliary features are missing.

Maintenance

ActivityInactive
ResponsivenessNo issues