- Home
- MCP servers
- MCP Solver
MCP Solver
- python
0
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"swesmith-repos-szeider__mcp-solver.c431fabc": {
"command": "mcp-solver-mzn",
"args": []
}
}
}You run the MCP Solver server to access constraint solving, SAT, SMT, and ASP capabilities from large language models. It provides five backends (MiniZinc, PySAT, MaxSAT, Z3, and ASP) that you can use through an MCP client to model and solve problems interactively with an LLM.
How to use
To use the MCP Solver, run the MCP client and connect to one of the available backends. You can switch modes to work with MiniZinc, PySAT, MaxSAT, Z3, or ASP by selecting the corresponding backend through the client. The client translates natural language problem statements into formal constraint models and communicates with the server to build, edit, and solve those models.
How to install
Prerequisites: you need Python 3.11 or later and the uv package manager.
Step 1: Clone the project repository.
git clone https://github.com/szeider/mcp-solver.git
cd mcp-solver
Step 2: Create and activate a virtual environment using uv.
uv venv
source .venv/bin/activate
Step 3: Install all solver backends and client dependencies.
uv pip install -e ".[all]" # Install all solvers
uv pip install -e ".[client]" # If you plan to use the MCP Test Client
Additional sections
MCP Solver supports five solving backends, each exposed as a distinct run configuration you can invoke with the MCP client.
Notes and tips
The server provides dedicated modes for each backend: MiniZinc, PySAT, MaxSAT, Z3, and ASP. Use the appropriate mode command to start the corresponding backend after installation.
Available tools
clear_model
Remove all items from the current model.
add_item
Add new item at a specific index in the model.
delete_item
Delete the item at a given index from the model.
replace_item
Replace the item at a specific index with new content.
get_model
Retrieve the current model content with numbered items for inspection.
solve_model
Solve the model, optionally with a timeout, and return the solution.