drio
Open app

MCP-ORTools

Source

Model Context Protocol (MCP) server implementation using Google OR-Tools for constraint solving

Catalog onlyCatalog onlySTDIO

Overview

MCP-ORTools is a server implementation of the Model Context Protocol (MCP) using Google OR-Tools for constraint solving. It enables large language models to interact with constraint models for efficient problem-solving.

To use MCP-ORTools, install the package via pip, configure your application with a setup file, and define models in JSON format specifying variables, constraints, and optional objectives.

  • Integration with Google OR-Tools for constraint programming - JSON-based model specification approach - Comprehensive support for various optimization problems - Compatibility with both integer and boolean variables - Extensive constraint relationship definitions
  1. Optimizing supply chain logistics through integer programming.
  2. Solving scheduling problems within operations management.
  3. Assisting in combinatorial optimization tasks such as the knapsack problem.

Add to your AI client

Use these steps to connect MCP-ORTools in Cursor, Claude, VS Code, and other MCP-compatible apps. The same JSON appears in the Use with menu above for one-click copy.

Cursor

Add this to your .cursor/mcp.json file in your project root, then restart Cursor.

.cursor/mcp.json

{
  "mcpServers": {
    "mcp-ortools-jacck": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

Claude Desktop

Add this server entry to the mcpServers object in your Claude Desktop config, then restart the app.

~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)

{
  "mcpServers": {
    "mcp-ortools-jacck": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

Claude Code

Add this to your project's .mcp.json file. Claude Code will detect it automatically.

.mcp.json (project root)

{
  "mcpServers": {
    "mcp-ortools-jacck": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

VS Code (Copilot)

Add this to your .vscode/mcp.json file. Requires the GitHub Copilot extension with MCP support enabled.

.vscode/mcp.json

{
  "servers": {
    "mcp-ortools-jacck": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

Windsurf

Add this to your Windsurf MCP config file, then restart Windsurf.

~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "mcp-ortools-jacck": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

Cline

Open Cline settings, navigate to MCP Servers, and add this server configuration.

Cline MCP Settings (via UI)

{
  "mcpServers": {
    "mcp-ortools-jacck": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-mcp-ortools-jacck"
      ]
    }
  }
}

FAQ

What types of problems can MCP-ORTools solve?

MCP-ORTools can address a wide range of optimization and constraint satisfaction problems using linear and binary constraints.

Is there support for different variable types?

Yes, the implementation supports both integer and boolean variables.

How can I define constraints in my models?

Constraints should be defined using OR-Tools method syntax, including relational operators and methods for equality, inequality, and linear combinations.7:["$","div",null,{"className":"container mx-auto flex flex-col gap-4","children":["$L26","$L27",["$","$L28",null,{"currentProject":{"id":555,"uuid":"1f30aaea-15d0-4859-abe2-8750cd174a24","name":"mcp-ortools","title":"MCP-ORTools","description":"Model Context Protocol (MCP) server implementation using Google OR-Tools for constraint solving","avatar_url":"https://avatars.githubusercontent.com/u/5294193?v=4","created_at":"2024-12-30T02:55:33.505Z","updated_at":"2025-01-05T02:55:16.876Z","status":"created","author_name":"Jacck","author_avatar_url":"https://avatars.githubusercontent.com/u/5294193?v=4","tags":"mcp-ortools,constraint-solving,google-or-tools","category":"research-and-data","is_featured":false,"sort":1,"url":"https://github.com/Jacck/mcp-ortools","target":"_self","content":"$29","summary":"$2a","img_url":null,"type":null,"metadata":null,"user_uuid":null,"tools":null,"sse_url":null,"sse_provider":null,"sse_params":null,"is_official":false,"server_command":null,"server_params":null,"server_config":null,"allow_call":false,"is_innovation":false,"is_dxt":false,"dxt_manifest":null,"dxt_file_url":null,"is_audit":false},"randomProjects":[],"currentServerKey":"$undefined"}]]}]