Skip to main content
Glama

Google OR-Tools server

by Jacck

Herramientas MCP-OR

Implementación de un servidor del Protocolo de Contexto de Modelo (MCP) que utiliza Google OR-Tools para la resolución de restricciones. Diseñado para su uso con Modelos de Lenguaje Grandes mediante la especificación estandarizada de modelos de restricciones.

Descripción general

MCP-ORTools integra el solucionador de programación de restricciones OR-Tools de Google con modelos de lenguaje grandes a través del Protocolo de contexto de modelo, lo que permite que los modelos de IA:

  • Presentar y validar modelos de restricciones
  • Establecer parámetros del modelo
  • Resolver problemas de satisfacción de restricciones y optimización
  • Recuperar y analizar soluciones

Instalación

  1. Instalar el paquete:
pip install git+https://github.com/Jacck/mcp-ortools.git
  1. Configurar Claude Desktop Cree el archivo de configuración en %APPDATA%\Claude\claude_desktop_config.json (Windows) o ~/Library/Application Support/Claude/claude_desktop_config.json (macOS):
{ "mcpServers": { "ortools": { "command": "python", "args": ["-m", "mcp_ortools.server"] } } }

Especificación del modelo

Los modelos se especifican en formato JSON con tres secciones principales:

  • variables : definir variables y sus dominios
  • constraints : Lista de restricciones que utilizan los métodos de OR-Tools
  • objective : Objetivo de optimización opcional

Sintaxis de restricción

Las restricciones deben utilizar la sintaxis del método OR-Tools:

  • .__le__() para menor o igual (<=)
  • .__ge__() para mayor o igual (>=)
  • .__eq__() para igualdad (==)
  • .__ne__() para no igual (!=)

Ejemplos de uso

Modelo de optimización simple

{ "variables": [ {"name": "x", "domain": [0, 10]}, {"name": "y", "domain": [0, 10]} ], "constraints": [ "(x + y).__le__(15)", "x.__ge__(2 * y)" ], "objective": { "expression": "40 * x + 100 * y", "maximize": true } }

Problema de la mochila

Ejemplo: Seleccionar elementos con valores [3,1,2,1] y pesos [2,2,1,1] con un límite de peso total de 2.

{ "variables": [ {"name": "p0", "domain": [0, 1]}, {"name": "p1", "domain": [0, 1]}, {"name": "p2", "domain": [0, 1]}, {"name": "p3", "domain": [0, 1]} ], "constraints": [ "(2*p0 + 2*p1 + p2 + p3).__le__(2)" ], "objective": { "expression": "3*p0 + p1 + 2*p2 + p3", "maximize": true } }

Ejemplo de restricciones adicionales:

{ "constraints": [ "p0.__eq__(1)", // Item p0 must be selected "p1.__ne__(p2)", // Can't select both p1 and p2 "(p2 + p3).__ge__(1)" // Must select at least one of p2 or p3 ] }

Características

  • Soporte completo del solucionador CP-SAT de OR-Tools
  • Especificación del modelo basada en JSON
  • Soporte para:
    • Variables enteras y booleanas (dominio: [min, max])
    • Restricciones lineales utilizando la sintaxis del método OR-Tools
    • Objetivos de optimización lineal
    • Tiempos de espera y parámetros del solucionador
    • Restricciones y relaciones binarias
    • Problemas de selección de cartera
    • Problemas con la mochila

Operaciones admitidas en restricciones

  • Aritmética básica: +, -, *
  • Comparaciones: . le (), . ge (), . ecuación (), . ne ()
  • Combinaciones lineales de variables
  • Lógica binaria mediante combinaciones de restricciones

Desarrollo

Para configurar el desarrollo:

git clone https://github.com/Jacck/mcp-ortools.git cd mcp-ortools pip install -e .

Formato de respuesta del modelo

El solucionador devuelve soluciones en formato JSON:

{ "status": "OPTIMAL", "solve_time": 0.045, "variables": { "p0": 0, "p1": 0, "p2": 1, "p3": 1 }, "objective_value": 3.0 }

Valores de estado:

  • ÓPTIMO: Se encontró la solución óptima
  • FACTIBLE: Se encontró una solución factible
  • INVIABLE: No existe solución
  • DESCONOCIDO: No se pudo determinar la solución

Licencia

Licencia MIT: consulte el archivo de LICENCIA para obtener más detalles

-
security - not tested
A
license - permissive license
-
quality - not tested

MCP-ORTools integra el solucionador de programación de restricciones OR-Tools de Google con modelos de lenguaje grandes a través de MCP, lo que permite que los modelos de IA:

Presentar y validar modelos de restricciones Establecer parámetros del modelo Resolver problemas de satisfacción de restricciones y optimización Recuperar y analizar la solución

  1. Descripción general
    1. Instalación
      1. Especificación del modelo
        1. Sintaxis de restricción
      2. Ejemplos de uso
        1. Modelo de optimización simple
        2. Problema de la mochila
      3. Características
        1. Operaciones admitidas en restricciones
      4. Desarrollo
        1. Formato de respuesta del modelo
          1. Licencia

            Related MCP Servers

            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) server that exposes MiniZinc constraint solving capabilities to Large Language Models.
              Last updated -
              83
              Python
              MIT License
              • Linux
              • Apple
            • -
              security
              A
              license
              -
              quality
              MCP-Logic is a server that provides AI systems with automated reasoning capabilities, enabling logical theorem proving and model verification using Prover9/Mace4 through a clean MCP interface.
              Last updated -
              20
              MIT License
              • Linux
              • Apple
            • A
              security
              A
              license
              A
              quality
              This server provides a minimal template for creating AI assistant tools using the ModelContextProtocol, featuring a simple 'hello world' tool example and development setups for building custom MCP tools.
              Last updated -
              1
              1
              8
              TypeScript
              The Unlicense
              • Apple
            • -
              security
              F
              license
              -
              quality
              A production-ready MCP server built with FastAPI, providing an enhanced tool registry for creating, managing, and documenting AI tools for Large Language Models (LLMs).
              Last updated -
              13
              Python

            View all related MCP servers

            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/Jacck/mcp-ortools'

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