MCP Wolfram Alpha 服务器是一个基于 Go 的 MCP 服务器,提供对 Wolfram Alpha API 的访问。它允许 MCP 客户端(例如 Claude Desktop)执行计算查询、访问科学数据并检索结构化知识。
此 MCP 服务器将大型语言模型(LLMs)难以处理的数值计算任务委托给高精度计算引擎Wolfram Alpha。
LLMs 在自然语言处理、文本生成和翻译方面表现出色,但其架构并不优化用于精确的数值计算或公式处理。
此 MCP 服务器解决了这些挑战:
当 LLMs 需要执行以下计算时,鼓励积极利用此 MCP 服务器:
然而,对于像 1+1 这样显然在 LLM 能力范围内的极其简单的计算,无需查询外部 API。 对于 LLMs 可以可靠处理的计算,它们应直接进行。
总之,此 MCP 服务器是帮助 LLMs 克服计算准确性挑战和提高令牌效率的重要支持工具,使它们能够提供更可靠和高效的响应。当需要计算(除了非常简单的计算外),积极使用此 MCP 服务器 API 以避免不必要的令牌消耗。
服务器通过 YAML 文件(默认:config.yml)进行配置:
log: 'path/to/mcp-wolfram-alpha.log' # 日志文件路径(为空则不记录日志)
debug: false # 启用调试模式
wolfram:
app_id: 'YOUR_WOLFRAM_ALPHA_APP_ID' # 必需:Wolfram Alpha API ID
timeout: 30 # API 超时时间(秒)
use_bearer: false # 使用 Bearer 令牌认证
default_max_chars: 2000 # 默认响应最大字符数
可以通过环境变量覆盖配置:
LOG_PATH:日志文件路径DEBUG:启用调试模式(true/false)WOLFRAM_APP_ID:Wolfram Alpha API IDWOLFRAM_TIMEOUT:超时时间(秒)WOLFRAM_USE_BEARER:使用 Bearer 认证(true/false)WOLFRAM_DEFAULT_MAX_CHARS:默认最大字符数# 下载依赖项
make deps
# 构建服务器
make build
# 运行服务器
./bin/mcp-wolfram-alpha server --config config.yml
实现了以下 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_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 提问如下问题:
Claude 将自动通过此 MCP 服务器使用 Wolfram Alpha API 来计算答案。
服务器为各种失败情况提供了信息丰富的错误消息:
所有错误都带有详细信息进行记录,有助于故障排除。
本项目采用 MIT 许可证。
cnosuke (github.com/cnosuke)