Skip to main content
Glama
r33drichards

minizinc-mcp

MiniZinc Constraint Solver MCP Server

A Model Context Protocol (MCP) server that provides constraint solving capabilities using MiniZinc. This server exposes a single powerful tool for solving constraint satisfaction and optimization problems.

Features

The server provides one core tool:

  • solve_constraint - General purpose constraint solver that accepts any MiniZinc model with optional data parameters, solver selection, and timeout configuration

Related MCP server: Google OR-Tools server

Usage Options

The easiest way to get started is using our free hosted version at:

https://minizinc-mcp.up.railway.app/sse

Option 2: Self-Host with Docker

Build and run locally:

git clone <repository-url>
cd ccake
docker build -t minizinc-mcp .
docker run -p 8000:8000 minizinc-mcp

Option 3: Local Development

Prerequisites:

git clone https://github.com/r33drichards/minizinc-mcp
cd minizinc-mcp
pip install -r requirements.txt
python main.py

Usage with Claude

got to the connectors settings page

click Add Custom Connector button

for name use "minizinc mcp"

for url use:

https://minizinc-mcp.up.railway.app/sse

Example Usage

Once configured, you can ask Claude to solve constraint problems:

"Solve the 4-Queens problem where 4 queens must be placed on a 4x4 chessboard so that no two queens attack each other"

"Find the optimal solution to a knapsack problem with items having weights [2,3,4,5] and values [3,4,5,6] and capacity 7"

"Solve this custom constraint: I need two variables x and y between 1 and 10 where x + y = 15 and x < y"

Response Format

The solve_constraint tool returns a SolveResult object containing:

  • solutions: List of solutions found

  • status: Solving status (SATISFIED, OPTIMAL, UNSATISFIABLE, etc.)

  • solve_time: Time taken to solve in seconds

  • num_solutions: Number of solutions found

  • error: Error message if solving failed

Each solution contains:

  • variables: Dictionary of variable names to values

  • objective: Objective value for optimization problems

  • is_optimal: Whether the solution is optimal

License

MIT License - see LICENSE file for details.

Usage with Claude Code

claude mcp add minizinc -t sse   https://minizinc-mcp.up.railway.app/sse

then to test run the command

claude

in the input window prompt:

Solve the 4-Queens problem where 4 queens must be placed on a 4x4 chessboard so that no two queens attack each other

and you should see an output similar to this:

alt text

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/r33drichards/minizinc-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server