Maxima计算代数系统接口服务

一个基于D语言的Maxima计算代数系统接口服务,提供无状态的批处理模式执行和资源管理。

  • by gtnoble
  • D
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 gtnoble/maxima-mcp

使用说明

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/:项目文件

许可证

麻省理工学院