mcpField
M
Mathematica MCP Server

Mathematica MCP Server

本地服务
github.com/texra-ai科研与教育2453 周前更新

关于 Mathematica MCP Server

Mathematica MCP Server 是一个通过本地 wolframscript 执行 Mathematica 代码并验证数学推导的 MCP 服务。适合需要在 MCP 客户端中调用本地 Mathematica 计算的用户。

主要功能

  1. 01通过 wolframscript 执行 Mathematica 代码
  2. 02返回结果可选 LaTeX 或 Mathematica 字符串格式
  3. 03逐步验证数学推导的每一步
  4. 04基于标准输入输出(stdio)运行

适用场景

  1. 01在 MCP 客户端中完成复杂数学计算
  2. 02检查人工或 AI 模型给出的推导步骤

MCP 相关

该服务以 MCP 服务形式向客户端暴露 execute_mathematica 与 verify_derivation 两个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Mathematica MCP 服务

此仓库包含一个模型上下文协议(MCP)服务,可让 MCP 客户端(如 Cursor)通过 wolframscript 执行 Mathematica 代码并验证数学推导。

概述

此服务充当桥梁,使支持 MCP 的应用能够利用本地 Mathematica 安装的强大功能来完成以下任务:

  • 执行复杂的数学计算。
  • 验证人类或 AI 模型提供的数学推导步骤。
  • 生成表达式的 LaTeX 或 Mathematica 字符串表示。

先决条件

  • 系统必须安装 Mathematica。
  • 系统 PATH 中必须包含 wolframscript 命令行工具。可在终端中运行 wolframscript -help 进行测试。
  • Node.js(建议使用 v16 或更高版本,依据是 tsconfig.json 中的目标版本 ES2022)。

安装

  1. 克隆仓库:
    git clone <repository-url>
    cd <repository-directory>
    
  2. 安装依赖:
    npm install
    
  3. 构建服务:
    npm run build
    
    此命令会将 src/ 中的 TypeScript 源代码编译为 build/ 目录中的 JavaScript,并使主脚本可执行。

运行服务

要启动 MCP 服务,请在终端中运行以下命令:

node build/index.js

服务将启动,并通过标准输入/输出(stdio)侦听来自 MCP 客户端的连接。使用服务期间,请保持此终端窗口打开。

如需更稳健的部署,可考虑使用 pm2 等进程管理器在后台运行服务并管理重启。

与 MCP 客户端集成(例如 Cursor、Cline、Claude Desktop)

MCP 客户端通常会发现并与正在运行的 MCP 服务通信。具体配置步骤可能因客户端应用而异。

常规步骤:

  1. 启动 Mathematica MCP 服务: 确保服务正在终端中运行:
    node build/index.js
    
  2. 配置 MCP 客户端: 将服务添加到客户端的配置中。这通常需要编辑 JSON 设置文件。请参阅下方针对具体客户端的说明。
  3. 重启 MCP 客户端: 启动服务或更改配置后,请重启客户端应用,确保其检测到 Mathematica 服务。

针对具体客户端的配置:

  • Cline: 根据 Cline MCP Server Development Protocol,通常需要在设置文件中配置服务(该文件通常是 Cline 配置目录中的 settings.json)。添加类似以下内容的条目:

    {
      "mcpServers": {
        "mathematica-server": {
          "command": "node",
          "args": ["/full/path/to/mcp-server-mathematica/build/index.js"], // Replace with the actual absolute path
          "disabled": false,
          "autoApprove": [] // Optional: Add tool names to auto-approve
        }
        // ... other servers ...
      }
    }
    

    请将 /full/path/to/mcp-server-mathematica/build/index.js 替换为系统中构建后的 index.js 文件的绝对路径。

  • Cursor: Cursor 可能需要编辑特定的设置文件,例如 ~/Library/Application Support/Cursor/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json(不过此路径可能会发生变化)。其结构与上面的 Cline 示例类似。

  • 其他客户端(例如 Claude Desktop): 请查阅特定 MCP 客户端的文档。查找有关“MCP Servers”“Tool Configuration”或“External Tools”的章节。配置通常需要指定命令(node)、服务脚本路径(build/index.js),以及可能需要的环境变量。

可用工具

该服务向 MCP 客户端提供以下工具:

1. execute_mathematica

执行任意 Mathematica 代码并返回结果。

输入架构:

{
  type: "object",
  properties: {
    code: {
      type: "string",
      description: "Mathematica code to execute"
    },
    format: {
      type: "string",
      description: "Output format (text, latex, or mathematica)",
      enum: ["text", "latex", "mathematica"],
      default: "text"
    }
  },
  required: ["code"]
}

使用示例(客户端请求):

  • 自然语言:“使用 Mathematica 计算 x^2 从 0 到 1 的积分,并格式化为 LaTeX”
  • 直接调用工具:
    {
      "tool_name": "execute_mathematica",
      "arguments": {
        "code": "Integrate[x^2, {x, 0, 1}]",
        "format": "latex"
      }
    }
    
2. verify_derivation

使用 Simplify[prev == current] 验证一系列数学表达式,检查每一步是否在逻辑上由前一步推导得出。

输入架构:

{
  type: "object",
  properties: {
    steps: {
      type: "array",
      description: "Array of mathematical expressions (as strings) representing steps in a derivation. Requires at least two steps.",
      items: {
        type: "string"
      }
    },
    format: {
      type: "string",
      description: "Output format for the verification report (text, latex, or mathematica)",
      enum: ["text", "latex", "mathematica"],
      default: "text"
    }
  },
  required: ["steps"]
}

使用示例(客户端请求):

  • 自然语言:“验证此推导:['x^2 - y^2', '(x-y)(x+y)']”
  • 直接调用工具:
    {
      "tool_name": "verify_derivation",
      "arguments": {
        "steps": [
          "x^2 - y^2",
          "(x-y)*(x+y)"
        ],
        "format": "text"
      }
    }
    

故障排除

  • 找不到服务/服务无响应:
    • 确保服务正在终端中运行(node build/index.js)。
    • 检查是否已安装 wolframscript,且可通过 PATH 访问(wolframscript -help)。
    • 重启 MCP 客户端应用程序。
    • 检查客户端的 MCP 配置。
  • 工具错误:
    • 检查服务的终端输出(stderr),查看 wolframscript 的日志和错误消息。
    • 检查所提供的 Mathematica code 或 steps 语法是否正确。
    • 确保 verify_derivation 的 steps 数组至少包含两个元素。
  • **Mathematica 问题:**确保 Mathematica 安装已获得许可且运行正常。

项目结构

  • src/:服务的 TypeScript 源代码。
  • build/:编译后的 JavaScript 输出(由 npm run build 生成)。
  • package.json:项目元数据和依赖项。
  • tsconfig.json:TypeScript 编译器配置。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。