mcpField
M
MCP Wolfram Alpha Server

MCP Wolfram Alpha Server

本地服务
github.com/cnosuke科研与教育482 周前更新

关于 MCP Wolfram Alpha Server

MCP Wolfram Alpha Server 是基于 Go、将查询转发至 Wolfram Alpha API 的 MCP 服务,供需要计算、科学数据或结构化知识的 MCP 客户端使用,并可配置单位、区域、语言和数学步骤显示。

主要功能

  1. 01Wolfram Alpha 查询工具
  2. 02数学与科学查询
  3. 03可配置单位和本地化选项
  4. 04可选的数学分步解答

适用场景

  1. 01求解代数方程
  2. 02微积分与矩阵计算
  3. 03统计或物理计算
  4. 04单位或货币换算

MCP 相关

向 MCP 客户端提供 `wolfram_query` 工具,将查询转发到 Wolfram Alpha API 并返回结果。

配置

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

暂未收录安装方式

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

代码仓库

工具

还没有获取到工具列表

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

详细介绍

MCP Wolfram Alpha 服务

MCP Wolfram Alpha 服务是一个基于 Go 的 MCP 服务,可访问 Wolfram Alpha API。它允许 MCP 客户端(例如 Claude Desktop)执行计算查询、访问科学数据并获取结构化知识。

此 MCP 服务的用途和优势

用途

此 MCP 服务将大模型(LLM)难以处理的数值计算任务交由高精度计算引擎 Wolfram Alpha 处理。

了解 LLM 的局限性

LLM 在自然语言处理、文本生成和翻译方面展现出非凡的能力,但其架构并未针对精确数值计算或公式处理进行优化。

  • 计算准确性: 除了基本的心算(例如 2+3),LLM 可能会出现计算错误,尤其是在处理多位数或复杂公式(微积分、矩阵计算等)时。
  • Token 消耗: LLM 尝试在内部进行复杂计算时,需要进行大量步骤和推理,可能会低效地消耗宝贵的 Token(计算资源)。在某些情况下,它们可能会在得出正确答案前达到 Token 上限。
此 MCP 服务的作用和优势

此 MCP 服务可应对这些挑战:

  • 高精度计算: 当 LLM 收到需要计算的任务时,会将计算部分作为请求发送给此 MCP 服务。服务会将请求转发至 Wolfram Alpha API,并将准确的计算结果返回给 LLM,为用户提供可靠的计算输出。
  • 减轻 LLM 的工作负担: LLM 不再需要自行计算,可以专注于发挥其在语言处理和上下文理解方面的优势。
  • **优化 Token 使用:****此服务可避免 LLM 在内部尝试不确定计算时造成的低效 Token 消耗。**通过将计算任务交给外部 API(通过此 MCP 服务调用 Wolfram Alpha),Token 的使用仅限于 API 请求和响应交互,从而整体提升处理效率。
推荐使用场景

建议 LLM 在需要进行以下计算时主动使用此 MCP 服务:

  • 算术运算(尤其是超出简单心算范围的运算,例如涉及多位数或小数的运算)
  • 求解代数方程
  • 微分和积分
  • 线性代数(矩阵计算等)
  • 统计计算
  • 涉及物理或化学中特定公式的计算
  • 单位和货币换算(尤其是需要当前汇率时)

**但对于像 1+1 这样明显超出不了 LLM 能力范围的极简单计算,无需查询外部 API。**对于 LLM 能够可靠处理的计算,应直接进行。

总而言之,此 MCP 服务是一款重要的辅助工具,可帮助 LLM 克服计算准确性和 Token 效率方面的挑战,从而提供更可靠、高效的响应。需要计算时(非常简单的计算除外),请主动使用此 MCP 服务 API,避免不必要的 Token 消耗。

功能

  • MCP 合规性:按照 MCP 规范实现基于 JSON-RPC 的接口
  • Wolfram Alpha 集成:支持访问数学计算、科学数据和知识查询
  • 可配置选项:支持单位制、区域设置和语言选项

要求

配置

服务通过 YAML 文件配置(默认文件:config.yml):

log: 'path/to/mcp-wolfram-alpha.log' # Log file path (empty for no logging)
debug: false # Enable debug mode

wolfram:
  app_id: 'YOUR_WOLFRAM_ALPHA_APP_ID' # Required: Wolfram Alpha API ID
  timeout: 30 # API timeout in seconds
  use_bearer: false # Use Bearer token authentication
  default_max_chars: 2000 # Default maximum characters in responses

你可以使用环境变量覆盖配置:

  • LOG_PATH:日志文件的路径
  • DEBUG:启用调试模式(true/false)
  • WOLFRAM_APP_ID:Wolfram Alpha API ID
  • WOLFRAM_TIMEOUT:超时时间(秒)
  • WOLFRAM_USE_BEARER:使用 Bearer 身份验证(true/false)
  • WOLFRAM_DEFAULT_MAX_CHARS:默认最大字符数

构建和运行

# Download dependencies
make deps

# Build the server
make build

# Run the server
./bin/mcp-wolfram-alpha server --config config.yml

MCP 工具

已实现以下 MCP 工具:

  • wolfram_query:执行 Wolfram Alpha 查询,并提供自定义选项
工具参数

wolfram_query 工具接受以下参数:

{
  "query": "integrate x^2",
  "max_chars": 2000,
  "units": "metric",
  "country_code": "JP",
  "language_code": "en",
  "show_steps": true
}
  • query(必填):要执行的 Wolfram Alpha 查询
  • max_chars:响应中的最大字符数(默认值:2000)
  • units:使用的单位制(metric 或 nonmetric)
  • country_code:本地化使用的国家/地区代码(例如,'JP')
  • language_code:本地化使用的语言代码(例如,'ja')
  • show_steps:请求显示数学问题的分步解答(布尔值)

与 Claude Desktop 配合使用

要与 Claude Desktop 集成,请编辑 claude_desktop_config.json 文件:

{
  "mcpServers": {
    "wolfram-alpha": {
      "command": "/path/to/bin/mcp-wolfram-alpha",
      "args": ["server", "--config", "/path/to/config.yml"],
      "env": {
        "LOG_PATH": "/path/to/logs/mcp-wolfram.log",
        "WOLFRAM_APP_ID": "YOUR_WOLFRAM_ALPHA_APP_ID"
      }
    }
  }
}

使用示例

正确配置 Claude Desktop 后,你可以向 Claude 提出以下问题:

  • “x^3 的导数是多少?”
  • “计算地球到火星的距离”
  • “黄金的原子量是多少?”
  • “将 100 公里转换为英里”
  • “求解方程 x^2 + 3x - 4 = 0”

Claude 会自动通过此 MCP 服务使用 Wolfram Alpha API 计算答案。

错误处理

服务会针对各种故障情形提供详细的错误消息:

  • 身份验证错误(API ID 无效)
  • 输入无效错误
  • 网络连接问题
  • 超时错误
  • Wolfram Alpha 服务端错误

所有错误都会记录详细信息,以便排查问题。

许可证

本项目采用 MIT License 授权。

作者

cnosuke (github.com/cnosuke)

评论

支持 Markdown

第一次接触 MCP?

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

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