MCP Solver

MCP Solver

用于约束优化和求解的模型上下文协议(MCP)服务器。

MCP-Solver Quick Start Guide

MCP Compatible License: MIT Python Version

MCP-Solver 是一个 Model Context Protocol 服务器,将 MiniZinc 约束编程与大型语言模型 (LLMs) 集成,使 AI 模型能够创建、求解和管理约束优化问题。

系统要求

  • Python 3.11+ (需支持 asyncio.timeout)
  • MiniZinc 和 Chuffed 求解器
  • 支持的操作系统: macOS、Windows 和 Linux

安装步骤

  1. 克隆仓库并安装:
git clone https://github.com/szeider/mcp-solver.git
cd mcp-solver
uv pip install -e .
  1. 创建配置文件:

macOS/Linux:

# 在 ~/Library/Application/Support/Claude/claude_desktop_config.json 添加:
{
  "mcpServers": {
    "MCP Solver": {
      "command": "uv",
      "args": [
        "--directory", 
        "/absolute/path/to/mcp-solver",
        "run", 
        "mcp-solver"
      ]
    }
  }
}

Windows:

# 在 %APPDATA%\Claude\claude_desktop_config.json 添加:
{
  "mcpServers": {
    "MCP Solver": {
      "command": "cmd.exe",
      "args": [
        "/C",
        "cd C:\\absolute\\path\\to\\mcp-solver && uv run mcp-solver"
      ]
    }
  }
}
  1. 测试设置:
uv run test-setup

主要工具

工具名称描述
get_model获取当前模型内容
add_item添加新项目
delete_item删除指定项目
replace_item替换指定项目
clear_model清除模型
solve_model求解当前模型
get_solution获取解决方案变量值
get_solve_time获取上次求解时间
get_memo获取知识库
edit_memo编辑知识库

轻量模式

使用 --lite 标志启用轻量模式,提供简化接口:

{
  "mcpServers": {
    "MCP Solver": {
      "command": "uv",
      "args": [
        "--directory",
        "/absolute/path/to/mcp-solver",
        "run",
        "mcp-solver",
        "--lite"
      ]
    }
  }
}

示例用法

基本选角问题

用户: 假设一位戏剧导演需要在他的作品中选择几位演员。

LLM: 让我用 MiniZinc 建模这个选角问题。

系统: clear_model
输出: Model cleared

系统: add_item
输出: 
var bool: alvarez;
var bool: cohen;
var bool: branislavsky;
var bool: davenport;
constraint alvarez \/ cohen;
constraint not (alvarez /\ cohen);
constraint alvarez -> davenport;
constraint branislavsky;
constraint not (branislavsky /\ alvarez);
constraint not (branislavsky /\ davenport);
solve satisfy;

系统: solve_model
输出: {'status': 'SAT', 'solution': Solution(alvarez=False, cohen=True, branislavsky=True, davenport=False, _checker=''), 'solve_time': 0.0}

有关更多信息,请参阅论文:MCP-Solver: Integrating Language Models with Constraint Programming Systems

欢迎通过反馈表单提供意见。