☰
MATLAB MCP Server构建指南:用Makefile一键交叉编译4平台二进制并打包MCPB扩展
2026/10/12 9:43:31 网站建设 项目流程
  • MCP 服务
  • AI 应用
  • 人工智能

【免费下载链接】matlab-mcp-server

Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.

项目地址:https://gitcode.com/gh_mirrors/mat/matlab-mcp-server
点击查看免费下载

MATLAB MCP Server 是 MathWorks 官方推出的 MCP 服务器,让 AI 应用(如 Claude Code、VS Code)能够启动/退出 MATLAB、编写并运行 MATLAB 代码、评估代码风格与正确性。除了下载官方发行版,你还可以从源码用一条make命令完成4 平台二进制交叉编译,并打包出 Claude Desktop 等客户端可直接安装的MCPB 扩展包。本文带你完整走通这条构建流水线。

一、构建前准备:环境清单一览

构建流程依赖 3 个工具,安装后即可开工:

工具用途版本建议
Go交叉编译服务端二进制1.26+(见 go.mod 声明的go 1.26.5)
make驱动整个构建流水线任意现代版本(Windows 自动切到 PowerShell)
Node.js + npm调用@anthropic-ai/mcpb打包工具随 npm 最新稳定版即可

💡 交叉编译采用纯 Go 静态构建(CGO_ENABLED=0),所以不需要在各平台本机装 Go,任何一台机器都能产出全部 4 个平台的二进制。

二、快速认识 Makefile 的 9 大分区

项目根目录的 Makefile 按功能分成 9 个清晰分区,注释写在文件头部:

  1. Configuration— 变量、平台检测(自动识别glnxa64/maci64/maca64/win64平台目录)
  2. CI Targets—ci-*聚合目标,供 CI 任务调用
  3. Code Generation—wire、mockery生成代码
  4. Linting— Go 与 MATLAB 双语言静态检查
  5. Resources— 同步内嵌 MATLAB 文件、更新编码规范文档
  6. Building— 本文主角:跨平台编译与打包
  7. Testing— 单元/集成/功能/系统四级测试
  8. MCPB— MCP Bundle 打包
  9. Internal— 可复用命令定义(如 MATLAB 进程泄漏检查)

你只需要关注第 6 和第 8 区,就能完成全部构建动作。

三、一键交叉编译 4 平台:make build 全解析

核心入口只有一个目标:

make build

它会依次触发 4 个平台目标,再把产物统一归拢到.bin/all/目录:

Make 目标GOOS / GOARCH输出目录最终产物(.bin/all/)
build-for-windowswindows / amd64.bin/win64/matlab-mcp-server-windows-x64.exe
build-for-glnxa64linux / amd64.bin/glnxa64/matlab-mcp-server-linux-x64
build-for-maci64darwin / amd64.bin/maci64/matlab-mcp-server-macos-x64
build-for-maca64darwin / arm64.bin/maca64/matlab-mcp-server-macos-arm64

几点值得注意的设计:

  • 自动适配宿主系统:Makefile 通过uname -s/-m判断本机,构建辅助工具(如sourcehash)会放进对应平台的.bin/<平台>/目录,见 Makefile 的平台检测逻辑。
  • 默认开启-trimpath:去除构建机路径信息,保证产物可复现。
  • 构建入口极简:主程序 cmd/matlab-mcp-server/main.go 仅声明服务名、内嵌 instructions 文本并启动服务,重活都在pkg/server与各 adaptor 层完成。

可选构建开关:DEBUG 与 RELEASE

make build DEBUG=true # 关闭优化(-gcflags="all=-N -l"),便于 dlv attach 调试 make build RELEASE=true # 裁剪符号表(-ldflags "-s -w"),产出更小的二进制

两者互斥,同时为true时 Makefile 会直接报错拦截(见 Makefile)。

四、打包 MCPB 扩展:make mcpb-dev 三步流水线

MCPB(MCP Bundle)是 Claude Desktop 等客户端可一键安装的扩展包格式。本地开发最省事的方式:

make mcpb-dev

它按依赖顺序串联三步:

mcpb-clean → build(4 平台二进制) → pack-mcpb-bundle → 产出 .bin/mcpb/matlab-mcp-server.mcpb

pack-mcpb-bundle内部又分两个阶段:

1. mcpb-stage:准备 staging 目录

先编译mcpb-gen小工具(源码见 cmd/mcpb-gen/main.go),再由它把内置模板落盘到.bin/mcpb/目录。核心逻辑在 mcpbstagebuilder.go:

  • 复制package.json构建脚手架(内置mcpb pack/mcpb validate两个 npm 脚本);
  • 生成bundle/manifest.json:自动注入版本号、填充 5 个工具定义(eval_matlab_code、run_matlab_file 等,来自 tools.go)以及用户可配置项user_config;
  • 释放icon.png与启动器脚本(Windows 下.cmd自动转 CRLF 换行)。

模板文件可对照阅读:manifest.json 模板、package.json 模板。

⚠️ 细节:mcpb-gen必须先编译再运行,不能用go run,因为版本号取自runtime/debug.ReadBuildInfo(),只有编译后的二进制才能正确返回版本信息。

2. mcpb-pack:npm 打包成 .mcpb

Makefile 将.bin/all/下 4 个二进制拷入bundle/bin/,随后执行npm i与npm run mcpb-pack,由@anthropic-ai/mcpb把整个bundle/目录压成最终的.bin/mcpb/matlab-mcp-server.mcpb文件——这就是可以分发的扩展包。

3. mcpb-validate:校验产物

make mcpb-validate

对bundle/manifest.json执行mcpb validate,确保打包结果符合 MCPB 规范。CI 中对应的聚合目标是ci-build-mcpb(=build-mcpb-bundle+mcpb-validate)。

CI 与本地的差别

  • 本地开发:make mcpb-dev(自动编译 + 打包)。
  • CI / 签名流程:make build-mcpb-bundle,它要求.bin/all/里已预先放好 4 个(签名后)二进制,否则直接报错提示先运行make mcpb-dev;且该目标不支持在 Windows 上直接调用。

五、常见问题速查

问题原因与解决
make build-mcpb-bundle报 "Missing binaries".bin/all/缺少 4 平台二进制,本地请改用make mcpb-dev
manifest 版本显示(devel)未打 Go module 版本信息,属正常开发态;发行版通过带版本的编译获得正式版本号
Windows 上打 MCPB 失败直接使用make mcpb-dev,Makefile 会自动走 PowerShell 分支
想加新功能进 CI按 Makefile 头部注释:在对应分区加目标,再挂到相应ci-*聚合目标即可

六、相关路径速查

  • 构建入口:Makefile
  • 服务端主程序:cmd/matlab-mcp-server/main.go
  • MCPB 暂存工具:cmd/mcpb-gen/main.go
  • 打包核心逻辑:internal/adaptors/mcpb/mcpbstagebuilder/mcpbstagebuilder.go
  • 清单模板:internal/adaptors/mcpb/mcpbstagebuilder/assets/bundle/manifest.json
  • MATLAB 工具箱源码(addon 构建用):matlab/matlab_mcp_toolbox/
  • 自定义工具指南:guides/custom-tools.md

小结:一条make build产出 4 平台二进制,一条make mcpb-dev产出可分发的.bin/mcpb/matlab-mcp-server.mcpb。Makefile 把平台检测、版本注入、规范校验都收敛进目标依赖里,你在任何一台开发机上都能复现官方发行物的完整构建结果。

  • MCP 服务
  • AI 应用
  • 人工智能

【免费下载链接】matlab-mcp-server

Run MATLAB® using AI applications with the official MATLAB MCP Server from MathWorks®. This MCP server for MATLAB supports a wide range of coding agents like Claude Code® and Visual Studio® Code.

项目地址:https://gitcode.com/gh_mirrors/mat/matlab-mcp-server
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询