Skip to content
ReviewRamble

The weekly brief

AI, reviewed, in your inbox.

  • New reviews of tools, models, MCP servers and repos, with the verdict up front
  • Re-checked prices and ratings when something changes
  • New analysis pieces as they are published

Models, agents, MCP servers and the tools actually worth your time.

One email a week. Unsubscribe with the link in any brief. How we use your email

MCP Solver

Research-grade server that has your agent write, run and check real SAT, MaxSAT, SMT, constraint and ASP solver programs.

Reviewed by Sheela · Updated

Setup docs Open source

Our rating

3.9/5

The right idea for scheduling and puzzle problems a model should never solve in its head, held back for now by a checkout-only install and a kernel that runs whatever code the model writes.

What is MCP Solver?

MCP Solver, by Stefan Szeider, turns an MCP host such as Claude Desktop or Claude Code into a solver programmer. The host picks a backend, gets modelling instructions and a persistent IPython kernel with the solver library loaded, writes a program, runs it against the real solver, checks the answer and submits the final program. You keep both the solution and the code that produced it.

Version 4 supports six backends: PySAT, MaxSAT, Z3, CPMpy, Clingo and DIDP. It is MIT-licensed, written in Python, has about 187 GitHub stars, and its last commit landed on 13 October 2026. The earlier v3 design is documented in a SAT 2025 paper and kept on its own branch.

How to install MCP Solver

git clone https://github.com/szeider/mcp-solver.git && cd mcp-solver && uv venv && uv pip install -e ".[agent]"

Is MCP Solver worth it?

MCP Solver fixes the most common way a language model fails at combinatorial problems: it guesses an answer that breaks a constraint. Here the model never answers directly. It writes a solver program for one of six backends, PySAT, MaxSAT, Z3, CPMpy, Clingo or DIDP for routing and scheduling, runs it, verifies the result, and only then calls submit_code. The output is a program you can rerun and audit, which matters more than the answer for anyone who has to defend a timetable or a configuration.

The evidence is better than most MCP servers offer. With Claude Opus as host, the README reports 229 of 229 instances solved correctly across CP-Bench (101) and ASP-Bench (128) under strict validation, and all 30 bundled test problems solve with GPT-5.6 Terra through the CLI. These are the author's own runs on benchmarks he built, so read them as strong signals rather than independent results. Version 4 is also a rewrite: the v3 server with fine-grained model-editing tools and MiniZinc is gone, replaced by a kernel and six tools.

The catch: installation and safety both need care. v4 is not on PyPI because a third party holds the mcp-solver name with stale v2.0.0 code, so uvx mcp-solver installs the wrong thing; you must clone and install from source until a name-transfer request is settled. The INSTALL guide says v4 has been tested on macOS only. And the kernel underneath, from the author's agentic-python-coder, executes model-written code automatically in the working directory; its own security notice says to use a VM or container for untrusted inputs.

Our take: for a planner, researcher or engineer with a real scheduling, allocation or verification problem, this is the difference between a plausible answer and one a solver has proved. It is worth the clone and the container. The packaging will catch up; the method is already sound.

Where it earns its place

  • An operations manager at a 40-bed care home

    Build a staff rota that meets shift rules, rest periods and preferences

    Describe the rules to Claude; it picks CPMpy or MaxSAT, encodes hard rules and weighted preferences, runs the solver and submits the program. Next month, rerun the saved program with new availability instead of re-prompting.

  • A firmware engineer

    Prove that a bit-twiddling routine matches its specification for all inputs

    The agent encodes both versions in Z3 and asks for a counterexample. An unsat result is the proof; a model is a failing input. Run inside a container, since the kernel executes the generated code.

  • A university course coordinator

    Timetable 30 courses into rooms without clashes

    Use the Clingo or CPMpy backend to encode rooms, sizes and instructor conflicts; the submitted program becomes next term's timetable generator. Free apart from the host model's tokens.

Before you commit

Setup
Clone the repository, uv venv, uv pip install -e ".[agent]", then point your client at uv run --project <path> --extra agent mcp-solver-serve. Do not use the uvx config until the PyPI name transfer completes. Requires Python 3.13 or 3.14 and uv.
Integrations
Backends: python-sat, RC2 MaxSAT, z3-solver, cpmpy (with ortools), clingo and didppy. Tools: select_backend, python_exec, python_reset, python_status, python_interrupt and submit_code, plus guide and template resources. The CLI and benchmark harness run through OpenRouter.
Data and privacy
Runs locally over stdio. Problem descriptions and generated code go to your host's model provider. Solver programs run in a local IPython kernel in the working directory without sandboxing; optional statistics are written to a JSONL file you choose.
Cost at scale
Free under MIT. The cost is the host model's tokens; CLI runs bill OpenRouter usage to your key.
Limits
Each CLI run stops after 30 agent steps by default. No Python 3.15 support yet, because ortools and python-sat publish no wheels for it. python_interrupt stops a runaway solve.

What’s good

  • Six solver backends from SAT to dynamic programming
  • Leaves a verified, rerunnable solver program
  • 229 of 229 benchmark instances solved in the author's runs
  • No API key; the host's model does the solving

What’s not

  • Not installable from PyPI; the name holds stale v2.0.0 code
  • v4 tested on macOS only so far
  • Kernel runs model-written code with no sandbox
  • Needs Python 3.13 or 3.14 and uv

Best for

Operations researchers, engineers and analysts who want an agent to solve scheduling, allocation, configuration or verification problems with a real solver and keep the program.

MCP Solver alternatives

MCP Solver: common questions

Is MCP Solver worth it?
The right idea for scheduling and puzzle problems a model should never solve in its head, held back for now by a checkout-only install and a kernel that runs whatever code the model writes. We rate it 3.9 out of 5.
How much does MCP Solver cost?
Free and open source (MIT). The server needs no API key; the optional CLI uses your own OpenRouter key.
What are the downsides of MCP Solver?
Not installable from PyPI; the name holds stale v2.0.0 code; v4 tested on macOS only so far; kernel runs model-written code with no sandbox; needs Python 3.13 or 3.14 and uv.
Who is MCP Solver best for?
Operations researchers, engineers and analysts who want an agent to solve scheduling, allocation, configuration or verification problems with a real solver and keep the program.
How much does MCP Solver cost for a team or in production?
Free under MIT. The cost is the host model's tokens; CLI runs bill OpenRouter usage to your key.
Is MCP Solver safe for company data?
Runs locally over stdio. Problem descriptions and generated code go to your host's model provider. Solver programs run in a local IPython kernel in the working directory without sandboxing; optional statistics are written to a JSONL file you choose.
What are the best MCP Solver alternatives?
The closest alternatives we have reviewed are Lean LSP MCP and Sequential Thinking (reference server).

Answers checked Nov 7, 2026.