将您的MATLAB®函数发布到MATLAB生产服务器™作为模型上下文协议(MCP)工具。这允许AI代理调用您的函数,增强其特定领域的专业知识。
除了本仓库外,您还需要:
要使一个MATLAB函数作为MCP工具对LLM可用,您需要:
使用此附加组件需要MATLAB R2025b或更高版本。
通过附加组件浏览器将此附加组件安装到MATLAB:
要从您的一个MATLAB函数创建一个MCP工具:
例如,要从primeSequence函数创建一个MCP工具,可以在MATLAB中使用以下命令:
ctf = prodserver.mcp.build("primeSequence",wrapper="None", definition="primeSequence.json");
endpoint = prodserver.mcp.deploy(ctf,"localhost",9910);
available = prodserver.mcp.ping(endpoint)
available =
true
>> gp = prodserver.mcp.call(endpoint, "primeSequence", 11, "gaussian")
gp = 1×11
3 7 11 19 23 31 43 47 59 11 71
然后,您可以从您的LLM主机使用提示:"生成前11个高斯素数。"有关wrapper输入的详细信息,请参阅外部数据源的讨论。
如果您正在使用MATLAB R2026a预发行版,则不再需要definition参数。MCP工具定义可以在R2026a中自动生成。
有许多MCP客户端,每个都有自己的MCP工具配置机制。但它们都共享同一个想法:识别每个MCP工具的位置以及工具理解的通信协议。MCP框架创建基于HTTP的MCP工具。为了帮助开发和测试,还包括了一个从STDIO到HTTP服务器的桥梁。
此仓库已针对这些MCP客户端进行了测试,使用了每个链接描述的配置。
任何支持纯基于HTTP的MCP服务器的客户端都应该能工作。请注意,MATLAB生产服务器上的MCP框架不支持流式HTTP——连接是短暂且事务性的,而不是持久的。
示例文件夹包含几个不同复杂度的完整MCP工具。每个示例包括一个MATLAB实时脚本(*.mlx文件),演示如何创建、部署和测试MCP工具。
要成为有效的MCP工具,MATLAB函数必须适应MCP环境。特别是, 您的函数必须:
如果您在代码中添加注释和函数参数块,MCP框架可以自动化大部分这个过程。详情请参阅相关链接。
这些函数有自己的命名空间prodserver.mcp,在MATLAB中调用它们时必须使用前缀。例如,使用全名调用build:prodserver.mcp.build。
| 函数 | 描述 | 示例 |
|---|---|---|
| build | 将函数打包为MCP工具 | build("primeSequence",wrapper="None") |
| call | 调用已部署的工具(用于测试) | call(endpoint, "primeSequence", 9, "Eisenstein") |
| deploy | 将工具上传到MATLAB生产服务器 | deploy(tool, "localhost", 9910) |
| exist | 检查MATLAB生产服务器上是否存在工具 | exist("http://localhost:9910/primes/mcp", "primeSequenceMCP", "tool") |
| list | 列出endpoint处可用的MCP原语 | list(endpoint, "Tools") |
| ping | 向endpoint处的服务器发送ping。如果服务器响应则返回true。 | ping(endpoint) |
| 名称 | 描述 |
|---|---|
| mcpstdio2http.py | MCP STDIO到HTTP服务器桥梁。 |
| linePlot.py | MCP STDIO服务器。从CSV文件创建线图。 |
此外,每个MCP服务器都支持一个简单的pingHTTP端点,确认服务器的存在和准备情况。
一旦primeSequence工具被上传到运行在http://localhost:9910的MATLAB生产服务器上,可以使用curl发送ping:
% curl http://localhost:9910/primeSequence/ping
pong
安全性由您负责。托管于MATLAB生产服务器的MCP服务器可能使用HTTPS、OAuth2和OIDC进行安全设置。通过MATLAB生产服务器中的配置设置安全参数。
| 文件夹 | 描述 |
|---|---|
| +prodserver | prodserver.mcp命名空间的顶级目录。包含仓库的主要函数。 |
| Documentation | 文档公共函数的Markdown参考页面集合。 |
| Examples | 完整的MCP工具示例及其创建、部署和使用的流程。 |
| Test | 单元和集成测试。 |
| Utilities | 主要是独立的函数和脚本,使仓库更容易与其他环境集成。 |
许可证可在本GitHub存储库中的license.txt文件中找到。