使用说明
项目简介
本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,它将 Wolfram Alpha 的强大计算知识引擎和科学数据集成到 LLM 应用中。通过本服务器,LLM 可以利用 Wolfram Alpha 的 API 回答复杂问题、进行数学计算、查询科学数据等。
主要功能点
- Prompt 支持:
- 提供 'wa' prompt,允许用户直接向 Wolfram Alpha 提问,类似于 DuckDuckGo 的 '!wa' bang 命令。
- 工具 (Tool) 支持:
- 提供 'query-wolfram-alpha' 工具,允许 LLM 以结构化的方式调用 Wolfram Alpha API,获取详细的计算结果和科学数据。
- 工具支持返回文本和图片两种内容格式,方便 LLM 处理各种类型的 Wolfram Alpha 结果。
安装步骤
- 安装 Python 环境: 确保您的系统已安装 Python 3.7 或更高版本。
- 安装依赖库: 虽然仓库中没有明确的依赖文件,但根据代码分析,您可能需要安装以下 Python 库:
其中 'wolframalpha' 是 Wolfram Alpha API 的 Python 客户端库,'mcp' 是 MCP 服务器框架库,'httpx' 用于异步 HTTP 请求, 'uv' 用于运行 Python 应用。pip install wolframalpha mcp httpx uv - 设置 Wolfram Alpha API 密钥:
- 访问 Wolfram Alpha 开发者网站 注册并获取 API 密钥 (App ID)。
- 将 API 密钥设置为名为 'WOLFRAM_API_KEY' 的环境变量。例如,在 Linux/macOS 中,您可以添加到 '~/.bashrc' 或 '~/.zshrc' 文件中:
在 Windows 中,您可以在系统环境变量中设置。export WOLFRAM_API_KEY="your-app-id"
服务器配置
MCP 客户端需要配置以下 JSON 格式信息以连接到本 MCP 服务器。请注意,以下配置仅为示例,您需要根据实际情况修改 'command' 和 'args' 中的路径。
{ "mcpServers": { "MCP-wolfram-alpha": { "command": "uv", "args": [ "--directory", "/path/to/MCP-wolfram-alpha", // 请替换为您的 MCP-wolfram-alpha 仓库的实际路径 "run", "src/mcp_wolfram_alpha/server.py" // server.py 文件的路径 ], "env": { "WOLFRAM_API_KEY": "your-app-id" // 您的 Wolfram Alpha API 密钥,这里仅为占位符,实际不需要配置在这里,因为已经配置在系统环境变量中 } } } }
配置参数说明:
- 'server name': MCP 服务器的名称,这里是 'MCP-wolfram-alpha'。
- 'command': 启动 MCP 服务器的命令,这里使用 'uv' 命令来运行 Python 脚本。'uv' 是一个快速的 Python 包安装器和运行器,您也可以根据需要替换为 'python' 或 'python3'。
- 'args': 传递给 'command' 的参数列表。
- '--directory': 指定工作目录为 MCP-wolfram-alpha 仓库的根目录。请务必替换为您的实际仓库路径。
- 'run': 'uv run' 命令用于运行 Python 脚本。
- 'src/mcp_wolfram_alpha/server.py': 指定要运行的 Python 脚本为 'server.py' 文件,请根据实际 server.py 文件的路径进行调整。
- 'env': 环境变量配置。
- 'WOLFRAM_API_KEY': 虽然这里可以配置 API 密钥,但更推荐将其设置为系统环境变量,此处可以省略或作为备用配置。
基本使用方法
- 启动 MCP 服务器。根据上述服务器配置,MCP 客户端会使用配置的命令和参数启动 'server.py' 文件,从而启动 MCP 服务器。
- 在 LLM 应用中,配置并连接到名为 'MCP-wolfram-alpha' 的 MCP 服务器。
- 使用 'wa' prompt 或 'query-wolfram-alpha' 工具,向 Wolfram Alpha 提问或执行计算。
- 使用 'wa' prompt: 在需要向 Wolfram Alpha 提问时,可以使用 'wa' prompt,并提供 'query' 参数,例如:'{"prompt": "wa", "arguments": {"query": "What is the capital of France?"}}'。
- 使用 'query-wolfram-alpha' 工具: 当需要更结构化的方式调用 Wolfram Alpha 或需要获取更详细的结果时,可以使用 'query-wolfram-alpha' 工具,并提供 'query' 参数,例如:'{"tool_call": "query-wolfram-alpha", "arguments": {"query": "Integrate x^2 from 0 to 1"}}'。
- MCP 服务器会将 Wolfram Alpha 的结果以 JSON-RPC 响应的形式返回给 LLM 客户端,客户端可以解析结果并用于后续处理。
注意: 确保已正确设置 'WOLFRAM_API_KEY' 环境变量,否则服务器将无法连接到 Wolfram Alpha API。
信息
分类
AI与计算