Integrates Google's OR-Tools to solve constraint satisfaction and optimization problems for decision-making in logistics...
Created byApr 23, 2025
MCP-ORTools
A Model Context Protocol (MCP) server implementation using Google OR-Tools for constraint solving. Designed for use with Large Language Models through standardized constraint model specification.
Overview
MCP-ORTools integrates Google's OR-Tools constraint programming solver with Large Language Models through the Model Context Protocol, enabling AI models to:
Submit and validate constraint models
Set model parameters
Solve constraint satisfaction and optimization problems
Retrieve and analyze solutions
Installation
Install the package:
Configure Claude Desktop
Create the configuration file at `%APPDATA%\Claude\claude_desktop_config.json` (Windows) or `~/Library/Application Support/Claude/claude_desktop_config.json` (macOS):
Model Specification
Models are specified in JSON format with three main sections:
`variables`: Define variables and their domains
`constraints`: List of constraints using OR-Tools methods
`objective`: Optional optimization objective
Constraint Syntax
Constraints must use OR-Tools method syntax:
`.__le__()` for less than or equal (<=)
`.__ge__()` for greater than or equal (>=)
`.__eq__()` for equality (==)
`.__ne__()` for not equal (!=)
Usage Examples
Simple Optimization Model
Knapsack Problem
Example: Select items with values [3,1,2,1] and weights [2,2,1,1] with total weight limit of 2.
Additional constraints example:
Features
Full OR-Tools CP-SAT solver support
JSON-based model specification
Support for:
- Integer and boolean variables (domain: [min, max])
- Linear constraints using OR-Tools method syntax
- Linear optimization objectives
- Timeouts and solver parameters
- Binary constraints and relationships
- Portfolio selection problems
- Knapsack problems