Maxima MCP服务器
一个MCP服务器,用于使用D语言与Maxima计算机代数系统(CAS)接口。
概述
该项目实现了一个MCP服务器,该服务器通过批处理模式执行为Maxima提供无状态接口。每个命令都通过适当的资源管理和超时处理独立运行。服务器使用D-MCP服务器库来实现MCP协议。
特性
- 无状态批处理模式执行
- 可配置的执行超时
- 完成输出捕获(stdout/stderr)
- 自动资源清理
- 基于文件的临时执行
- 根据命令进行进程隔离
- 安静模式操作
- 基于UUID的临时文件管理
需求
- D编译器(DMD、LDC或GDC)
- DUB包管理器
- Maxima CAS已安装并可在PATH中使用
- D-MCP服务器库(位于../D-MCP-server)
建筑
dub build跑步
./bin/maxima-mcp用法
服务器运行后,您可以使用MCP客户端连接并使用提供的工具:
run_maxima_code:以批处理模式执行Maxima代码
- 参数: - code:要执行的Maxima代码 - 退货: - result:Maxima执行的完整输出
批处理模式操作
服务器单独执行每个命令:
- 创建具有唯一UUID的临时文件
- 在安静模式下启动新的Maxima进程
- 用于文件执行的批处理标志
- 强制可配置的超时(默认值:30秒)
- 捕获完整的stdout/stderr输出
- 确保清理临时文件和进程
错误处理
- 具有可配置持续时间的超时执行
- 适当清理的流程管理
- 使用作用域进行临时文件清理(退出)
- 完成错误诊断的输出捕获
- 流程终止处理
- 无阻塞输出收集
项目结构
source/app.d:主要应用程序和MCP工具注册source/maxima/client.d:Maxima批处理模式客户端实现memory-bank/:项目文件
许可证
麻省理工学院
