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
              F
              license
              -
              quality
              Provides SEO automation with tools for keyword research, SERP analysis, and competitor analysis through Google Ads API integration, enabling AI assistants to access these capabilities via MCP.
              Last updated -
              21
              JavaScript
            • -
              security
              A
              license
              -
              quality
              A Model Context Protocol (MCP) connector that allows AI agents to directly interact with Google Sheets, enabling creation, reading, and modification of spreadsheets through natural language.
              Last updated -
              84
              JavaScript
              MIT License
            • -
              security
              F
              license
              -
              quality
              A lightweight orchestration hub for managing local Model Context Protocol (MCP) tools in a unified way, allowing users to build, manage, and call their AI tools from IDEs, terminal, and custom assistants.
              Last updated -
              Python
            • -
              security
              F
              license
              -
              quality
              A service that converts OpenAPI specifications into MCP tools, enabling AI assistants to interact with your API endpoints through natural language.
              Last updated -
              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