项目简介
MathJS计算器MCP服务器是一个基于Model Context Protocol (MCP) 实现的后端服务,它利用强大的MathJS库,为大型语言模型(LLM)客户端提供实用的数学计算能力。通过此服务器,LLM可以调用工具执行复杂的数学运算,例如表达式求值和符号求导,从而扩展LLM在数学和科学计算方面的应用场景。
主要功能点
- 表达式计算: 支持各种数学表达式的计算,包括基本运算、函数、常量等。
- 符号求导: 能够计算数学表达式的导数,支持对不同变量求导。
- 清晰的错误提示: 对于无效的数学表达式或输入,提供明确的错误信息,方便调试和使用。
- 易于集成: 遵循MCP协议,可以方便地与支持MCP协议的LLM客户端集成,例如Claude Desktop。
安装步骤
-
安装 Node.js 和 npm: 确保您的系统已安装 Node.js 和 npm (Node Package Manager)。您可以从 https://nodejs.org/ 下载并安装。
-
下载仓库代码: 从 GitHub 仓库 https://github.com/edwardpwtsoi/mathjs-mcp 克隆或下载源代码。
-
安装依赖: 在仓库根目录下,打开终端并运行以下命令安装项目依赖:
npm install -
构建项目: 运行以下命令构建项目,生成可执行的服务器代码:
npm run build构建成功后,会在 'build' 目录下生成 'index.js' 文件。
服务器配置
对于 MCP 客户端(例如 Claude Desktop),您需要配置 MCP 服务器的启动命令。以下是使用 'npx' 启动 MathJS 计算器 MCP 服务器的配置示例,添加到 'claude_desktop_config.json' 文件中:
{ "mcpServers": { "mathjs-calculator": { "command": "npx", "args": [ "-y", "mathjs-mcp-server" ] } } }
配置参数说明:
-
'"mathjs-calculator"': 服务器名称,您可以自定义,用于在客户端中引用。
-
'"command": "npx"': 指定启动服务器的命令为 'npx',它会自动查找并执行 'mathjs-mcp-server' 包。
-
'"args": ["-y", "mathjs-mcp-server"]': 'npx' 命令的参数。
- '"-y"': (可选) 自动确认 'npm install' 提示 (如果 'mathjs-mcp-server' 包尚未全局安装)。
- '"mathjs-mcp-server"': 指定要执行的包名称,这里假设您已将项目发布到 npm 并命名为 'mathjs-mcp-server'。 【重要提示】 实际使用时,如果直接运行本地构建的代码,您可能需要将 'command' 和 'args' 修改为直接执行 'build/index.js' 文件,例如:
{ "mcpServers": { "mathjs-calculator": { "command": "node", "args": [ "build/index.js" ] } } }请根据您的实际部署情况选择合适的配置。
基本使用方法
-
启动服务器: 根据您的配置,启动 MathJS 计算器 MCP 服务器。如果使用 'npx mathjs-mcp-server' (假设已发布到 npm),则在终端中运行此命令即可。 如果使用 'node build/index.js' (本地运行),则在仓库根目录下运行 'npm run build' 后,再运行 'node build/index.js'。 服务器启动成功后,会在控制台输出 'MathJS MCP Server started'。
-
在 MCP 客户端中使用: 在支持 MCP 协议的客户端(如 Claude Desktop)中,配置并启用 "mathjs-calculator" 服务器。
-
调用工具: 在客户端中,您可以通过自然语言指令或特定方式指示 LLM 调用服务器提供的工具。
-
'calculate' 工具: 用于计算数学表达式。例如,您可以指示 LLM "计算 2 乘以 (3 加 4)",客户端会将请求发送到服务器,服务器返回计算结果 "14"。
-
'derivative' 工具: 用于计算导数。例如,您可以指示 LLM "求 x 平方加 2x 对 x 的导数",服务器会返回导数结果 "2*x + 2"。
示例请求 (calculate 工具):
{ "expression": "2 * (3 + 4)" }示例请求 (derivative 工具):
{ "expression": "x^2 + 2*x", "variable": "x" }服务器会根据请求调用相应的 MathJS 功能,并将结果以 MCP 协议规定的格式返回给客户端。
-
信息
分类
AI与计算