- 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.
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 个清晰分区,注释写在文件头部:
- Configuration— 变量、平台检测(自动识别
glnxa64/maci64/maca64/win64平台目录) - CI Targets—
ci-*聚合目标,供 CI 任务调用 - Code Generation—
wire、mockery生成代码 - Linting— Go 与 MATLAB 双语言静态检查
- Resources— 同步内嵌 MATLAB 文件、更新编码规范文档
- Building— 本文主角:跨平台编译与打包
- Testing— 单元/集成/功能/系统四级测试
- MCPB— MCP Bundle 打包
- Internal— 可复用命令定义(如 MATLAB 进程泄漏检查)
你只需要关注第 6 和第 8 区,就能完成全部构建动作。
三、一键交叉编译 4 平台:make build 全解析
核心入口只有一个目标:
make build它会依次触发 4 个平台目标,再把产物统一归拢到.bin/all/目录:
| Make 目标 | GOOS / GOARCH | 输出目录 | 最终产物(.bin/all/) |
|---|---|---|---|
build-for-windows | windows / amd64 | .bin/win64/ | matlab-mcp-server-windows-x64.exe |
build-for-glnxa64 | linux / amd64 | .bin/glnxa64/ | matlab-mcp-server-linux-x64 |
build-for-maci64 | darwin / amd64 | .bin/maci64/ | matlab-mcp-server-macos-x64 |
build-for-maca64 | darwin / 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.mcpbpack-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.
相关推荐
碧蓝航线全皮肤解锁指南:Perseus原生库补丁3分钟快速配置
碧蓝航线全皮肤解锁指南:Perseus原生库补丁3分钟快速配置 还在为碧蓝航线中那些精美的舰娘皮肤无法使用而烦恼吗?Perseus原生库补丁为你提供了一站式解决
逆向工程90DaysOfDevOps 实战:用 Go 构建 Twitter 发推机器人并一键交叉编译多平台二进制
90DaysOfDevOps 实战:用 Go 构建 Twitter 发推机器人并一键交叉编译多平台二进制 本指南以 90DaysOfDevOps 挑战第 13
文档/教程ChaosBlade 源码构建指南:Makefile 多平台编译、跨平台交叉编译与容器化打包全解析
ChaosBlade 源码构建指南:Makefile 多平台编译、跨平台交叉编译与容器化打包全解析 本文以仓库根目录的 BUILD.md https://lin
运维云原生SREAI Agent人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考