使用说明
项目简介
Mathematica Docs MCP Server 是一个基于 Model Context Protocol (MCP) 的服务器,它允许LLM客户端通过工具调用来访问和查询 Mathematica 的文档信息。该服务器利用 'wolframscript' 命令行工具与 Mathematica 交互,提供了检索 Mathematica 函数和符号的文档,以及列出软件包中可用符号的功能。
主要功能点
- get_docs: 获取指定 Mathematica 符号或函数的文档。支持查询基础函数、软件包中的函数以及通过加载项扩展的函数文档。例如,可以查询 'Plot' 函数的文档,也可以查询加载了 'LieART' 包后的 'WeightSystem' 函数的文档。
- list_package_symbols: 列出指定 Mathematica 软件包中所有可用的符号(函数)。例如,可以列出 'FeynCalc' 软件包中定义的所有函数。
安装步骤
- 安装 Python 依赖: 确保你的 Python 环境中安装了所需的依赖包。在仓库根目录下,运行以下命令安装 'requirements.txt' 文件中列出的依赖:
pip install -r requirements.txt - 安装 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"' 中的路径和命令。
基本使用方法
-
启动 MCP 服务器: 根据上述配置,在你的 MCP 客户端中添加或配置 "mathematica-docs" 服务器。客户端会根据你提供的配置启动 MCP 服务器。
-
客户端请求: 在 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与计算