maxplus2-mcp — MAX+plus II MCP 服务器
让支持 MCP 的 AI agent 使用 MAX+plus II:读取和修改工程、GDF 原理图、SYM 符号和 SCF 波形,运行原厂编译与仿真,并操作 Windows 原生界面。
适用于 Altera MAX+PLUS II / MaxPlus II / MaxPlus2 的数字电路实验与 FPGA/CPLD 工程,包含 AHDL、VHDL、Verilog 源码和专有原理图、波形文件处理。
当前版本 0.10.3,提供 68 个工具,采用本地 stdio MCP。 运行时只使用 Node.js 内置模块,不需要安装 npm 依赖。 Windows 界面后端属于本项目,通过 Win32 和 UI Automation 工作;任何能连接 本地 stdio MCP 的客户端都可调用,无需 Codex Computer Use 或其他 agent SDK。
项目把工程文件解析、原厂命令行与 Windows 界面操作组合在一个服务中。 AI 可以先读取实际电路和波形,以文件方式进行受检修改,再通过原厂工具验证 结果;遇到向导或未解码的编辑器属性时,使用项目自带的界面后端继续操作。
下载: 最新 Release 提供精简发行包、完整源码包、标准 MCPB 安装包、目录元数据和 SHA-256 校验文件。
查找与连接: 官方 MCP 目录 ·
GitHub 搜索 ·
其他 agent 的查找与连接说明。
目录中的名称为 io.github.Hachimeder/maxplus2-mcp;连接方式为本地 stdio。
数字电路(数电)实验中的 AI 辅助
如果你在寻找「MAX+plus II AI 辅助工具」「MaxPlus2 MCP」「GDF 原理图解析与 编辑」或「SCF 波形自动生成与仿真」,本项目提供相应的本地工具。AI 可以创建 和修改原理图、准备波形激励、编辑 AHDL/VHDL/Verilog 源码,再调用原厂编译器 和仿真器读取实际报告与结果。它也适用于 Altera FPGA/CPLD 工程的文件处理。
常见问题是「AI 能不能直接画 GDF、填写 SCF、操作 MAX+PLUS II?」:连接本地 MCP 后,可以使用对应文件工具及项目自带的 Windows 自动化后端;具体支持范围 见下面的能力表及 格式说明,验证证据见 测试说明。
在 GitHub 中可直接搜索 MaxPlus2 MCP、MaxPlus II MCP、数字电路 MCP
或 数电 MCP。按场景查找也可使用 topic:altera topic:mcp、
topic:cpld topic:mcp、topic:waveform-simulation topic:mcp。
能力
| 范围 | 功能 |
|---|---|
| 工程和源码 | 新建、复制、查找、读取、编辑、备份和恢复;ACF 配置、HDL、MIF、VEC |
| GDF 原理图 | 原始几何、符号位置、旋转/镜像、引脚坐标、导线、注释、参数和声明 |
| GDF 连接 | 原实例/引脚网络、显式总线逐位连接、受检标量移动补线、匿名叶端清理 |
| SYM 符号 | 新建、编辑、检查、选择性刷新嵌入定义,保留未选实例 |
| 文字和颜色 | 字体、显式 Windows-936 中文、保存的颜色角色;检查并清理覆盖引脚标签的重复 DOC |
| SCF 波形 | 输入事件、X/Z、信号增删、名称、组、进制、顺序和时长;clock/counter/repeat 等刺激 |
| 编译与分析 | 原厂编译、仿真、时序分析、导出综合网表;异步任务、取消、报告与结果验证 |
| Windows 界面 | 窗口、截图、UIA、菜单、键盘、鼠标、拖动和滚动;观察有效期和输入去重 |
工具的参数由 MCP tools/list 提供,也可查阅 完整工具列表。
优先使用文件工具处理已解码格式,界面工具处理向导、菜单和其他编辑器操作。
安装与连接
文件工具需要 Node.js 18+。原厂编译、仿真和界面操作需要 Windows 以及 你自行安装并取得适用许可的 MAX+plus II。原厂工具链曾在 10.2 上验证。 界面操作还需要 .NET Framework 4.8 和已登录、未锁定的交互式桌面。 本仓库不包含 MAX+plus II 安装包、程序、设备库或许可证。
使用 Release 发行包
支持 MCPB 的 Windows 客户端可导入 maxplus2-mcp-v0.10.3.mcpb,在客户端中
选择软件安装目录和工程目录。其他 stdio MCP 客户端使用下面的 ZIP 配置步骤。
- 从 v0.10.3 Release
下载
maxplus2-mcp-v0.10.3.zip并解压到固定目录。 - 确认本机已安装 Node.js;执行
node --version检查。 - 按下面的配置示例连接 MCP 客户端,填写实际软件安装目录和工程目录。
发行包包含运行源码、Windows 后端源码、两种语言的介绍及操作文档。
运行时不需要 Git,不需要执行 npm install;Windows 后端首次使用时自动编译。
maxplus2-mcp-v0.10.3-source.zip 另包含开发脚本、公开测试和 CI 模板,适合开发与贡献。
从源码安装
git clone https://github.com/Hachimeder/maxplus2-mcp.git
cd maxplus2-mcp
node --version
复制 mcp-config.example.json 中的服务定义到客户端的 MCP 配置,填写实际路径。示例中的目录是占位路径:
{
"mcpServers": {
"maxplus2": {
"command": "node",
"args": ["C:\\tools\\maxplus2-mcp\\server.mjs"],
"env": {
"MAXPLUS2_ROOT": "C:\\maxplus2",
"MAXPLUS2_WORKSPACE": "C:\\fpga-projects"
}
}
}
}
若客户端不能从 PATH 找到 Node,将 command 改为本机 Node 可执行文件的绝对路径。
客户端的配置格式可能不同,核心是用上述 command、args、env 启动 stdio 进程。
可用以下命令检查路径和原厂编译器,并生成被 Git 忽略的本机配置:
node scripts/configure-local.mjs --root "C:\maxplus2" --workspace "C:\fpga-projects"
node scripts/configure-local.mjs --root "C:\maxplus2" --workspace "C:\fpga-projects" --apply
也可通过 start-local.ps1 启动,或使用以下命令检查安装。正常 stdio 启动后由
MCP 客户端发送 JSON-RPC 请求;诊断日志使用 stderr。
node scripts/local-startup.mjs --check --root "C:\maxplus2" --workspace "C:\fpga-projects"
原生后端会从 native/MaxplusDesktop.cs 自动编译到被忽略的 bin/。
手动构建可运行 pwsh -NoProfile -File scripts/build-desktop.ps1 -SelfTest。
推荐操作顺序
installation_status检查环境,project_clone建立工作副本。project_parse_file或专用 inspect 工具读取实际内容和 SHA-256。- 用编辑工具预览修改,检查变化、连接和限制;已授权修改使用
confirm:true及刚读取的expectedSha256提交。该参数是工具的事务控制。 - 编译和仿真,检查本次生成的报告、连接和真实输出。异步任务使用
job_status/job_cancel。 - 需要界面时使用
desktop_windows→desktop_observe→desktop_action。 使用最新的 observationId,读取动作后返回的新观察再决定下一步。
验证与开发
以下开发命令在 Git 克隆目录或完整源码包中运行:
npm run audit:public
npm test
默认测试使用独立样例和模拟后端,不需要 MAX+plus II 安装、私人实验工程或 原厂库文件。需要实机软件验证时设置安装目录:
$env:MAXPLUS2_ROOT = "C:\maxplus2"
npm run test:native
原厂测试在临时目录建立自制电路,运行编译、仿真和网表检查。原生桌面测试还 需要交互式 Windows 会话。公开检查不依赖原厂安装。 仓库附有 GitHub Actions 模板;启用方式见 CI 说明。
公开测试中的分页 GDF 在运行时由自制符号生成;SCF 样例来自自制 XOR 工程, 不包含私人课程实验或本机路径。贡献时请运行检查,并使用可公开的最小复现。 测试范围及实测结果见 验证说明。
已知边界
文件编辑主要支持已确认的 GDF v6 / SCF v4,未知记录保留或拒绝修改。 参数化宏的总线宽度、完整层级内部连接、总线自动布线,以及部分 SCF 编辑器 私有显示字段仍有限制。源连接模型和综合后的网表回答不同问题,修改逻辑后 仍需原厂编译仿真确认。通用界面入口提供软件操作途径,不能证明每个菜单功能 都已经逐项验证;客户端还需把截图传给具备视觉能力的模型处理复杂画布。 实际烧录需要支持的硬件,仓库测试不验证硬件烧录。
许可和隐私
本项目代码采用 MIT License。第三方软件及样例来源见 NOTICE.md。本机配置、日志、截图、备份、实验工程及原厂软件不属于 发布内容。MCP 返回的数据可能经客户端发送给模型服务,详见 SECURITY.md。