Skip to main content
Glama
r33drichards

minizinc-mcp

by r33drichards

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    A Model Context Protocol (MCP) server that exposes MiniZinc constraint solving capabilities to Large Language Models.
    185
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP-ORTools integrates Google's OR-Tools constraint programming solver with Large Language Models through the MCP, enabling AI models to: Submit and validate constraint models Set model parameters Solve constraint satisfaction and optimization problems Retrieve and analyze solution
    21
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables solving Constraint Satisfaction Problems (CSP) like N-Queens, graph coloring, and Sudoku, as well as Linear Programming optimization problems through both MCP tools and HTTP API endpoints.
    2
    MIT
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables Large Language Models to interactively create, edit, and solve constraint models using backends like MiniZinc, Z3, PySAT, and Clingo. It bridges natural language with symbolic reasoning for solving complex logical, SAT, SMT, and optimization problems.
    MIT