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
    A
    maintenance
    A Model Context Protocol (MCP) server that exposes MiniZinc constraint solving capabilities to Large Language Models.
    183
    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
    A
    quality
    C
    maintenance
    Enables solving complex combinatorial optimization problems with logical and numerical constraints through multiple solvers (Z3, CVXPY, HiGHS, OR-Tools). Specializes in portfolio optimization, scheduling, resource allocation, and constraint satisfaction problems.
    5
    5
    Apache 2.0
  • 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