Token导航 LogoToken导航

MCP Server · 开发工具

Minizinc MCP

提供MiniZinc约束编程能力的MCP服务器,支持模型求解、验证及多种传输协议。

stdio官方级别未说明来源级核验工具 2
Docker开发工具命令行工具

快速开始

作者 / 组织
V-Sekai-fire
提供方
V-Sekai-fire
运行时
Docker

工具数量

2

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

1

仓库热度

收录来源

1 个

MCP World

选型结论

Minizinc MCP 属于开发工具类 MCP Server,公开资料标注 2 个工具,通过stdio 本地进程接入,客户端适配情况以官方文档为准,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

docker run -d -p 8081:8081 --name minizinc-mcp minizinc-mcp

客户端配置示例

{
  "mcpServers": {
    "minizinc-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-d",
        "-p",
        "8081:8081",
        "--name",
        "minizinc-mcp",
        "minizinc-mcp"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 2 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

MiniZinc MCP服务器

提供MiniZinc约束编程功能的模型上下文协议(MCP)服务器。

特性

  • 使用HiGHS求解器求解MiniZinc模型(带浮动支持的LP/MIP)
  • 验证MiniZinc模型的语法和类型错误,而无需解决
  • 支持MZN(模型)和DZN(数据)内容作为字符串
  • 自动标准库包含(例如。, alldifferent.mzn)当模型中不存在时
  • 全面的输出格式:解析DZN格式进行变量提取,从显式输出语句中传递output_text
  • 通过STDIO或HTTP传输支持JSON-RPC 2.0协议
  • 服务器发送事件(SSE)支持流式响应

快速开始

先决条件

  • 灵丹妙药1.18+
  • MiniZinc已安装并可在PATH中使用
备注MiniZinc会自动安装在Docker镜像中。

安装

git clone 
cd minizinc-mcp
mix deps.get
mix compile

用法

STDIO传输(默认)

对于当地发展:

mix mcp.server

或使用release:

./_build/prod/rel/minizinc_mcp/bin/minizinc_mcp start

HTTP传输

对于web部署(例如Smithery):

PORT=8081 MIX_ENV=prod ./_build/prod/rel/minizinc_mcp/bin/minizinc_mcp start

终点:

  • POST / -JSON-RPC 2.0 MCP请求
  • GET /sse -服务器发送流媒体事件
  • GET /health -健康检查

码头工人

docker build -t minizinc-mcp .
docker run -d -p 8081:8081 --name minizinc-mcp minizinc-mcp

工具

服务器提供以下MCP工具:

minizinc_solve

使用HiGHS求解器(带浮动支撑的LP/MIP)求解MiniZinc模型。

参数
  • model_content (字符串,必填):MiniZinc模型内容(.mzn)为字符串
  • data_content (string,可选):DZN数据内容为字符串(例如。, "n = 8;").必须是有效的DZN格式。已解析并包含在响应中 input_data 现场。
  • timeout (整数,可选):可选超时(毫秒)(默认值:30000,即30秒)。允许的最大值为30000毫秒(30秒);超过此值的上限为30秒。
  • auto_include_stdlib (boolean,可选):自动包含标准MiniZinc库(例如。, alldifferent.mzn)如果不存在(默认值: true)

Output Format Details

这 minizinc_solve 该工具以JSON格式返回解决方案,格式如下:

  • DZN格式解析:当MiniZinc提供DZN格式输出时(模型没有显式 output 变量被解析并作为结构化数据返回(例如。, {"x": 10, "y": [1, 2, 3]})
  • 输出文本传递:当模型包括显式 output 语句,输出文本在 output_text 字段(例如。, {"output_text": "x = 10\n"})
  • 两种格式:当DZN和显式输出都可用时,它们都包含在响应中
  • 输入数据:何时 data_content 解析后的DZN数据包含在 input_data 领域
  • 状态:解决方案状态(例如。, "SATISFIED", "OPTIMAL_SOLUTION", "UNSATISFIABLE")可用时包括在内

响应始终在MCP内容字段中以JSON字符串的形式返回。

Standard Library Support

这 minizinc_solve 该工具自动包括常见的MiniZinc标准库(例如。, alldifferent.mzn) 如果它们尚未出现在模型中(当 auto_include_stdlib 是 true).这意味着您可以使用 标准功能,如 all_different 无需添加显式 include 声明。

Solve Tool Examples

工作室:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "minizinc_solve",
    "arguments": {
      "model_content": "var int: x; constraint x > 0; solve satisfy;"
    }
  }
}

HTTP:

curl -X POST http://localhost:8081/ \
  -H "Content-Type: application/json" \
  -H "mcp-protocol-version: 2025-06-18" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": {"name": "minizinc_solve", "arguments": {"model_content": "var int: x; constraint x > 0; solve satisfy;"}}}'

数据内容:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "minizinc_solve",
    "arguments": {
      "model_content": "var int: n; array[1..n] of var int: x; constraint all_different(x); solve satisfy;",
      "data_content": "n = 8;",
      "timeout": 30000
    }
  }
}

minizinc_validate

通过检查语法和类型检查来验证MiniZinc模型,而无需求解。在尝试解决模型之前,对调试模型很有用。

参数
  • model_content (字符串,必填):MiniZinc模型内容(.mzn)为字符串
  • data_content (string,可选):DZN数据内容为字符串(例如。, "n = 8;").必须是有效的DZN格式。
  • auto_include_stdlib (boolean,可选):自动包含标准MiniZinc库(例如。, alldifferent.mzn)如果不存在(默认值: true)
响应格式

返回一个JSON对象:

  • valid (boolean):模型是否有效
  • errors (array):错误消息列表(如果有的话)
  • warnings (array):警告消息列表(如果有的话)
  • message (string):人类可读消息(有效时)
  • raw_output (string):原始MiniZinc验证输出(无效时)

Validate Tool Examples

验证有效模型:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "minizinc_validate",
    "arguments": {
      "model_content": "var int: x; constraint x > 0; solve satisfy;"
    }
  }
}

对有效型号的响应:

{
  "valid": true,
  "errors": [],
  "warnings": [],
  "message": "Model is valid"
}

验证有语法错误的模型:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "minizinc_validate",
    "arguments": {
      "model_content": "var int: x; constraint x > 0 solve satisfy;"
    }
  }
}

对无效模型的响应:

{
  "valid": false,
  "errors": [
    "Error: syntax error, unexpected solve, expecting ';'"
  ],
  "warnings": [],
  "raw_output": "..."
}

配置

环境变量:

  • PORT -HTTP服务器端口(默认值:8081)
  • HOST -HTTP服务器主机(默认值: 0.0.0.0 如果设置了端口,否则 localhost)
  • MIX_ENV -环境(prod, dev, test)
  • ELIXIR_ERL_OPTIONS -Erlang选项(设置为 "+fnu" 对于UTF-8)
  • MCP_SSE_ENABLED -启用/禁用服务器发送事件(默认值: true,设置为 "false" 禁用)

服务器仅使用HTTP流(没有stdio传输)。

故障排除

未找到MiniZinc:确保MiniZinc已安装并在PATH中可用。对于Docker,MiniZinc包含在镜像中。

端口已在使用中:更改 PORT 环境变量或停止冲突的服务。

编译错误:运行 mix deps.get && mix clean && mix compile.

调试模式:使用 MIX_ENV=dev mix mcp.server 用于详细日志记录。

版本

当前版本: 1.0.0-dev2 (参见 mix.exs 最新版本)

需求

  • 灵丹妙药1.18+
  • Erlang/OTP 26+
  • MiniZinc 2.9.3+已安装并在PATH中可用(或使用包含MiniZinc的Docker镜像)

Development

建筑

mix deps.get
mix compile

测试

mix test

建筑发布

MIX_ENV=prod mix release

本地运行

对于STDIO传输(默认):

mix mcp.server
PORT=8081 mix run --no-halt

许可证

MIT许可证-有关详细信息,请参阅License.md。

版权

版权所有(c)2025年至今K.S.Ernest(iFire)Lee

工具与能力

工具数量

2

资源数量

0

提示词数量

0

能力标签

Elixir本地部署约束编程数学优化求解器服务MiniZincJSON-RPC

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 只提供 2 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 公开说明写得比较完整,接入前能看清能力边界。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Minizinc MCP

MCP World · 本页

2stdio有1 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Minizinc MCP 怎么安装?

公开资料给出的安装命令是 docker run -d -p 8081:8081 --name minizinc-mcp minizinc-mcp,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Minizinc MCP 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

Minizinc MCP 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Minizinc MCP 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Minizinc MCP 支持哪些客户端?

公开资料没有标注具体客户端;能配置本地 MCP 命令的客户端都能接,配置方式参照官方文档。

来源信息

继续浏览同类 MCP