使用说明

项目简介

Mathematica Docs MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许LLM客户端通过工具调用来访问和查询 Mathematica 的文档信息。该服务器利用 'wolframscript' 命令行工具与 Mathematica 交互,提供了检索 Mathematica 函数和符号的文档,以及列出软件包中可用符号的功能。

主要功能点

  • get_docs: 获取指定 Mathematica 符号或函数的文档。支持查询基础函数、软件包中的函数以及通过加载项扩展的函数文档。例如,可以查询 'Plot' 函数的文档,也可以查询加载了 'LieART' 包后的 'WeightSystem' 函数的文档。
  • list_package_symbols: 列出指定 Mathematica 软件包中所有可用的符号(函数)。例如,可以列出 'FeynCalc' 软件包中定义的所有函数。

安装步骤

  1. 安装 Python 依赖: 确保你的 Python 环境中安装了所需的依赖包。在仓库根目录下,运行以下命令安装 'requirements.txt' 文件中列出的依赖:
    pip install -r requirements.txt
  2. 安装 Mathematica 或 wolframscript: 确保你的系统上安装了 Mathematica,或者至少可以从终端调用 'wolframscript' 命令。如果你安装了 Wolfram Engine for Developers (免费版),通常 'wolframscript' 就可以直接在终端中使用。

服务器配置

要将此 MCP 服务器配置到 MCP 客户端(例如 Claude),你需要提供服务器的启动配置信息。以下是一个 JSON 格式的配置示例,你可以将其添加到客户端的配置文件中。

{
  "mathematica-docs": {  // 服务器名称,可以自定义,用于在客户端中标识该服务器
    "command": "uv",      // 启动服务器的命令,这里假设你使用 uv 运行 Python 脚本,如果直接使用 python,则改为 "python"
    "args": [             // 启动服务器的参数列表
      "run",              // uv 的 run 子命令
      "--with",           // uv 的参数,用于指定使用 fastmcp 插件
      "fastmcp",          // fastmcp 插件名称
      "fastmcp",          // fastmcp 命令本身
      "run",              // fastmcp 的 run 子命令,用于启动 MCP 服务器
      "/path/to/mcp-mma-doc.py" //  **请替换为 mcp-mma-doc.py 脚本的实际路径**
    ]
  }
}

配置参数说明:

  • '"mathematica-docs"': 服务器的名称,客户端会使用这个名称来引用该服务器。你可以自定义这个名称。
  • '"command"': 启动服务器的命令。这里示例中使用 'uv',这是一种更快的 Python 包安装和运行工具。如果你的环境中没有 'uv' 或者你想直接使用 'python',可以将 '"command"' 的值改为 '"python"',并相应调整 '"args"' 中的内容。
  • '"args"': 启动服务器命令的参数列表。
    • '"/path/to/mcp-mma-doc.py"': 务必将此路径替换为你本地 'mcp-mma-doc.py' 脚本的实际绝对路径。例如,如果你的 'mcp-mma-doc.py' 文件在 '/home/user/mcp-mma-docs/mcp-mma-doc.py',则应替换为 '/home/user/mcp-mma-docs/mcp-mma-doc.py'。

注意: 根据你的 Python 环境和脚本存放位置,你可能需要调整 '"command"' 和 '"args"' 中的路径和命令。

基本使用方法

  1. 启动 MCP 服务器: 根据上述配置,在你的 MCP 客户端中添加或配置 "mathematica-docs" 服务器。客户端会根据你提供的配置启动 MCP 服务器。

  2. 客户端请求: 在 MCP 客户端中,你可以使用 'get_docs' 和 'list_package_symbols' 这两个工具来查询 Mathematica 的文档和符号信息。

    示例:使用 'get_docs' 工具 假设你想查询 Mathematica 中 'Plot' 函数的文档,你可以在 MCP 客户端中发起一个工具调用请求,指定工具名称为 'get_docs',并传递参数 'symbol="Plot"'。

    示例:使用 'list_package_symbols' 工具 假设你想列出 'FeynCalc' 软件包中的所有符号,你可以在 MCP 客户端中发起一个工具调用请求,指定工具名称为 'list_package_symbols',并传递参数 'package="FeynCalc"'。

    具体的请求格式和操作方式取决于你使用的 MCP 客户端。通常,你需要在客户端的界面或配置文件中选择或指定要使用的 MCP 服务器(这里是 "mathematica-docs"),然后选择要调用的工具并提供相应的参数。服务器会将查询结果返回给客户端,客户端再将结果呈现给用户或 LLM。

信息

分类

AI与计算