关于 MCP Wolfram Alpha Server
MCP Wolfram Alpha Server 是基于 Go、将查询转发至 Wolfram Alpha API 的 MCP 服务,供需要计算、科学数据或结构化知识的 MCP 客户端使用,并可配置单位、区域、语言和数学步骤显示。
主要功能
- 01Wolfram Alpha 查询工具
- 02数学与科学查询
- 03可配置单位和本地化选项
- 04可选的数学分步解答
适用场景
- 01求解代数方程
- 02微积分与矩阵计算
- 03统计或物理计算
- 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 集成:支持访问数学计算、科学数据和知识查询
- 可配置选项:支持单位制、区域设置和语言选项
要求
- Go 1.24 或更高版本
- Wolfram Alpha API ID(可从 Wolfram Alpha Developer Portal 获取)
配置
服务通过 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 IDWOLFRAM_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)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。