使用说明
项目简介
Atomic Research MCP 是一个基于 Model Context Protocol (MCP) 构建的 Web 研究管线服务器。它利用 Atomic Agents 框架,结合 Tavily 搜索引擎和 OpenAI 大语言模型,提供强大的网络研究能力。该项目旨在自动化网络研究流程,从问题理解、搜索查询生成,到网页内容抓取、信息整合和答案合成,为用户提供全面的研究结果。
主要功能点
- 智能网络搜索: 利用 Tavily API 进行高效的网络搜索,能够根据用户问题生成优化的搜索查询。
- 网页内容抓取与处理: 自动抓取和处理网页内容,提取关键信息。
- AI 驱动的答案合成: 使用 OpenAI 大语言模型,基于抓取的网页内容合成高质量的答案。
- MCP 服务器: 实现了 MCP 协议,可以作为后端服务器,通过 JSON-RPC 协议与 MCP 客户端进行通信,提供工具调用等服务。
- 可扩展的工具集成: 基于 Atomic Agents 框架,易于扩展和集成新的工具和功能,例如可以替换搜索引擎或大语言模型。
安装步骤
-
克隆仓库:
git clone https://github.com/KennyVaneetvelde/atomic-research-mcp.git cd atomic-research-mcp -
安装依赖:
pip install -e . -
配置环境变量:
- 在项目根目录下创建 '.env' 文件。
- 添加 Tavily API Key 和 OpenAI API Key 到 '.env' 文件中。
请替换 'YOUR_TAVILY_API_KEY' 和 'YOUR_OPENAI_API_KEY' 为你自己的 API 密钥。TAVILY_API_KEY=YOUR_TAVILY_API_KEY OPENAI_API_KEY=YOUR_OPENAI_API_KEY
服务器配置
为了让 MCP 客户端连接到 Atomic Research MCP 服务器,你需要提供服务器的启动配置信息。以下是一个 JSON 格式的配置示例,你需要将其配置到你的 MCP 客户端中。
{ "serverName": "atomic-research-mcp", "command": "python", "args": ["-m", "atomic_research_mcp.server"] }
参数说明:
- 'serverName': 服务器名称,可以自定义,例如 "atomic-research-mcp"。
- 'command': 启动服务器的命令,这里使用 'python' 解释器。
- 'args': 传递给 'python' 命令的参数,'"-m", "atomic_research_mcp.server"' 表示以模块方式运行 'atomic_research_mcp.server' 模块,即启动 MCP 服务器。
MCP 客户端配置示例 (以 Cursor 编辑器为例):
在 Cursor 编辑器中,你可以在 "Custom Copilot Servers" 设置中添加上述配置。Cursor 会使用这些配置来启动并连接到 Atomic Research MCP 服务器,从而在编辑器中使用该服务器提供的功能。
基本使用方法
-
启动服务器: 配置好环境变量后,在项目根目录下运行以下命令启动 MCP 服务器:
python -m atomic_research_mcp.server或者,如果你已经安装了项目并配置了虚拟环境,也可以使用以下命令:
[项目根目录]\.venv\Scripts\atomic-research -
使用 MCP 客户端: 启动服务器后,你可以使用任何兼容 MCP 协议的客户端连接到该服务器。例如,你可以使用 'test_client.py' 进行简单的功能测试,或者将服务器配置添加到 Cursor 等编辑器中,以在日常工作中使用其提供的网络研究能力。
-
调用 'web_search_pipeline' 工具: 通过 MCP 客户端,你可以调用服务器提供的 'web_search_pipeline' 工具,进行网络研究。你需要提供 'instruction' 参数(即你的研究问题)给该工具。服务器将返回包含搜索查询、搜索结果、合成答案和参考文献的 JSON 格式响应。
例如,在 'test_client.py' 中,你可以看到如何调用 'web_search_pipeline' 工具并解析返回结果的示例代码。
response = await session.call_tool( name="web_search_pipeline", arguments={ "args": { "instruction": search_question, "num_queries": 3 } }, )
信息
分类
网页与API