项目简介
深度研究MCP服务器是一个符合Model Context Protocol (MCP) 标准的应用后端,专注于执行全面的网络研究。它利用Tavily的搜索和抓取API来收集指定主题的最新信息,并将这些数据与可配置的文档生成指令一起整合成结构化的JSON输出。这个输出专为大型语言模型(LLM)优化,以便它们能够方便地根据研究结果创建详细、高质量的Markdown文档。
服务器通过标准I/O (Stdio) 传输协议与MCP客户端通信,处理来自LLM/代理的工具调用请求。
主要功能点
- 多步研究: 结合了Tavily的AI搜索和深度内容抓取,以进行详尽的信息收集。
- 结构化JSON输出: 提供组织良好的数据(原始查询、搜索摘要、每源详细发现、文档指令),优化用于LLM消费。
- 可配置文档Prompt: 支持通过工具参数、环境变量或内置默认值来定制LLM生成文档的指令。
- 可配置输出路径: 允许指定研究文档和图像的保存位置,支持工具参数、环境变量或使用带时间戳的默认路径。
- 细粒度控制: 提供丰富的参数来精确调整搜索和抓取过程。
- MCP兼容性: 设计用于无缝集成到基于MCP的AI代理生态系统中。
安装步骤
- 前置条件: 确保已安装 Node.js (推荐 18.x 或更高版本) 和 npm (随 Node.js 提供) 或 Yarn。
- 安装:
- 推荐使用 NPX (快速使用): 无需全局安装,直接运行:
npx @pinkpixel/deep-research-mcp - 全局安装 (可选):
安装后可通过命令 'deep-research-mcp' 运行。npm install -g @pinkpixel/deep-research-mcp - 本地项目集成或开发: 克隆仓库,进入目录,运行 'npm install' 安装依赖。
- 推荐使用 NPX (快速使用): 无需全局安装,直接运行:
服务器配置 (供MCP客户端使用)
MCP客户端(如AI代理或框架)需要知道如何启动和连接到此MCP服务器。通常,这通过一个JSON配置文件或类似的机制完成。以下是一个典型的配置示例,说明如何通过MCP客户端启动此服务器:
{ // ... 其他MCP服务器配置 "deep-research": { // 启动服务器进程的命令 "command": "npx", // 传递给命令的参数 "args": [ "-y", "@pinkpixel/deep-research-mcp" ], // 进程启动时设置的环境变量 "env": { // 必需:您的Tavily API Key "TAVILY_API_KEY": "tvly-YOUR_ACTUAL_API_KEY_HERE", // 可选:覆盖默认的文档生成指令prompt "DOCUMENTATION_PROMPT": "您的自定义LLM文档生成详细指令...", // 可选:覆盖默认的研究输出文件保存路径 "RESEARCH_OUTPUT_PATH": "/path/to/your/research/output/folder" } } // ... }
重要说明:
- 您必须设置 'TAVILY_API_KEY' 环境变量,这是服务器运行所必需的。可以在上述配置的 'env' 部分设置,或在服务器运行的环境中提前设置。
- 'DOCUMENTATION_PROMPT' 和 'RESEARCH_OUTPUT_PATH' 是可选的,它们为服务器提供默认设置,但可以在调用工具时通过参数进一步覆盖。
- 上述JSON结构是MCP客户端(而非本项目自身)通常用来配置其外部工具(如本MCP服务器)的示例。您需要根据您使用的MCP客户端或框架的要求进行配置。
基本使用方法 (通过MCP客户端调用工具)
一旦MCP客户端成功连接并启动了深度研究MCP服务器,LLM或AI代理就可以通过JSON-RPC协议调用服务器提供的工具。本项目主要提供一个名为 'deep-research-tool' 的工具。
LLM或代理会向服务器发送一个 'call_tool' 请求,包含工具名称和参数。例如:
- 调用工具名称: 'deep-research-tool'
- 关键参数 (在请求的 arguments 对象中提供):
- 'query' (字符串, 必需): 您希望研究的主题或问题。
- 'documentation_prompt' (字符串, 可选): 运行时为本次调用定制的文档生成指令,优先级最高。
- 'output_path' (字符串, 可选): 运行时为本次调用定制的研究输出文件保存路径,优先级最高。
- 其他参数:还有大量参数可用于控制Tavily的搜索深度、结果数量、抓取深度、是否包含图片等,详见项目文档(对应README中的"Input Parameters"部分)。
服务器执行研究后,将返回一个包含所有收集到的数据的JSON字符串作为工具调用的结果。LLM接收到这个JSON后,应严格按照其中的 'documentation_instructions' 字段提供的指令,利用 'research_data' 中的详细内容生成最终的Markdown文档。生成的文档和相关文件应保存到JSON输出中 'output_path' 指定的路径。
关键词
网络研究, 数据抓取, 文档生成, AI工具, Tavily
信息
分类
网页与API