Senteron logo Senteron

Documentation

Install Senteron as a Claude Desktop extension or as a CLI tool. Both ship from the same repository.

Prerequisites. Python 3.10+, Git, and API keys for at least two of: Anthropic, OpenAI, Google. macOS and Linux are tested; Windows works but has slightly different venv activation commands.

Repository setup

The MCP extension and the CLI both delegate to the same script, so step one is to get the repo working on its own.

git clone https://github.com/senteron/senteron.git
cd senteron
python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\activate
pip install -r requirements.txt
cp .env.example .env               # then edit .env and add your API keys
python3 senteron.py --no-optimize "ping test"

If the last line returns a synthesis, the CLI is good to go and you can use it directly or move on to the MCP extension.

Claude Desktop extension

The recommended way to use Senteron from Claude Desktop is the pre-built bundle:

About the install warning. Claude Desktop shows a generic dialog before installing any third-party extension: "Installing will grant this extension access to everything on your computer. Any developer information shown has not been verified by Anthropic." This appears for every unsigned .mcpb file and is not specific to Senteron — Anthropic has not yet shipped consumer-grade signing for community-built bundles. Senteron is open source under MIT; every line of the MCP server is at github.com/senteron/senteron/tree/main/mcp_server, and the bundle itself is a 60 KB zip containing only that directory plus the manifest. If you'd prefer to skip the warning entirely, the Manual configuration section below covers the equivalent claude_desktop_config.json setup.
  1. Download senteron-0.1.0.mcpb from the repo's dist/ directory.
  2. Open Claude Desktop → Settings → Extensions.
  3. Drag the .mcpb file into the window (or click Install from file).
  4. When prompted for Senteron repository path, enter the absolute path to your local repo from the previous section (the directory containing senteron.py, .venv/, and runs/).
  5. Optional: paste your provider API keys (ANTHROPIC_API_KEY, OPENAI_API_KEY, GEMINI_API_KEY, and seven more) into the configuration fields. Keys you fill in here take precedence over the same keys in your repo's .env file. Fields you leave blank fall through to .env as before. One caveat: keys entered here only reach the Claude Desktop extension — running senteron.py from a terminal, or the web UI (./start-ui.sh), still reads from .env. If you use multiple surfaces, fill .env too.
  6. Enable the extension. Claude Desktop's bundled uv installs the MCP SDK on first run; no pip install needed for the bundle itself.

Four MCP tools

ToolWhat it does
senteron_health Local setup diagnostic. Does not call any LLM provider.
senteron_list_runs List recent saved Senteron runs from the runs/ directory.
senteron_get_run Retrieve a single saved run by exact run id.
senteron_run Execute a new Senteron run on a prompt. Streams stage-progress notifications during long peer-review runs.

Smoke test sequence

After installing the extension, run these four prompts in a fresh Claude Desktop conversation. Each step verifies one capability.

  1. Sanity check. Run senteron_health and show me the full result. Expect ok: true, all subsystems passing, and a non-zero runs_count.
  2. Read existing runs. List my last 5 Senteron runs. Expect five rows, each with readable: true.
  3. Inspect one run. Pass a run id from step 2 to senteron_get_run.
  4. End-to-end run. Run Senteron on this prompt: "What are the key trade-offs between REST and GraphQL?" Use profile=quick, pipeline=judge_only, no_optimize=true. Expect 1–2 minutes, a populated synthesis, and a new file under runs/.

Long-running peer-review runs

The full peer-review pipeline (profile=standard and above) takes 5–10 minutes; profile=max can run 15+. Senteron's MCP server streams info + report_progress notifications for each stage transition so Claude Desktop's per-tool-call deadline resets continuously and long runs do not get dropped.

For runs that exceed even the streaming-extended budget, the CLI is the escape hatch:

.venv/bin/python3 senteron.py --profile opus --no-optimize \
  --timeout 180 "your prompt here"

Then ask Claude via MCP to fetch the newest saved run with senteron_list_runs + senteron_get_run.

Manual configuration (no bundle)

Use this only for development or for MCP clients without bundle support. Add to claude_desktop_config.json:

{
  "mcpServers": {
    "senteron": {
      "command": "/absolute/path/to/senteron/.venv/bin/python3",
      "args": ["-m", "mcp_server"],
      "cwd": "/absolute/path/to/senteron"
    }
  }
}

You'll also need pip install -r requirements-mcp.txt in the repo venv.

Source & issues

Full source, the integration plan, and the issue tracker live at github.com/senteron/senteron.