ResearchMCP 使用说明
项目简介
ResearchMCP 是一个基于 Model Context Protocol (MCP) 构建的服务器,它通过 Perplexity AI API 提供强大的互联网研究功能。作为一个 MCP 服务器,ResearchMCP 旨在为大型语言模型 (LLM) 客户端提供一个标准化的接口,使其能够轻松地调用互联网研究工具,获取最新的信息和数据。
主要功能点
- 互联网研究能力: 通过 Perplexity AI 的强大搜索引擎和语言模型,提供高质量的互联网研究服务。
- MCP 协议集成: 完全遵循 MCP 协议,易于与任何兼容 MCP 协议的 LLM 客户端集成。
- 工具发现与调用: 客户端可以动态发现服务器提供的 "research" 工具,并通过标准化的 MCP 请求调用该工具进行研究。
- 灵活配置: 通过环境变量进行配置,包括 Perplexity AI API 密钥、模型选择、超时设置和重试策略等。
- 错误处理: 具备优雅的错误处理机制,即使在初始化错误的情况下也能以降级模式运行,保证服务的可用性。
- 结构化日志: 提供结构化的日志输出,方便监控和问题排查。
安装步骤
- 安装 Go 环境: 确保您的系统已安装 Go 1.18 或更高版本。您可以从 Go 官网 下载并安装。
- 获取代码: 使用 'git clone' 命令克隆 ResearchMCP 仓库到本地:
git clone https://github.com/chew-z/ResearchMCP cd ResearchMCP - 配置环境变量: 复制仓库中的 '.env' 文件示例,并根据您的实际情况填写 Perplexity AI API 密钥等配置信息。您也可以直接设置系统的环境变量。'PERPLEXITY_API_KEY' 是必须配置的。
PERPLEXITY_API_KEY=your_perplexity_api_key PERPLEXITY_MODEL=sonar-medium-online # 可选,默认为 sonar-medium-online PERPLEXITY_TIMEOUT=120 # 可选,请求超时时间,单位秒,默认为 90 PERPLEXITY_MAX_RETRIES=3 # 可选,最大重试次数,默认为 2 PERPLEXITY_INITIAL_BACKOFF=2 # 可选,初始退避时间,单位秒,默认为 1 PERPLEXITY_MAX_BACKOFF=15 # 可选,最大退避时间,单位秒,默认为 10 - 构建服务: 在仓库根目录下,使用 'go build' 命令编译服务:
go build - 运行服务: 编译成功后,运行生成的可执行文件 'ResearchMCP' 启动服务器:
服务器默认监听标准输入和标准输出,等待 MCP 客户端连接和请求。./ResearchMCP
服务器配置 (MCP 客户端配置)
对于 MCP 客户端,您需要配置连接到 ResearchMCP 服务器的信息。以下是一个 JSON 格式的配置示例,您需要将其配置到您的 MCP 客户端中。
{ "serverName": "perplexity-research", "command": "./ResearchMCP", "args": [] }
配置参数说明:
- 'serverName': 服务器名称,用于在 MCP 客户端中唯一标识该服务,可以自定义,例如 "perplexity-research"。
- 'command': 启动 ResearchMCP 服务器的命令。由于我们已经将 ResearchMCP 编译为可执行文件,并且假设客户端与服务器在同一目录下或者可执行文件在 PATH 环境变量中,因此这里设置为 './ResearchMCP'。请根据实际情况调整可执行文件的路径。
- 'args': 传递给服务器启动命令的参数。ResearchMCP 服务器的运行不需要额外的命令行参数,因此这里配置为空数组 '[]'。服务器的配置主要通过环境变量完成。
注意: MCP 客户端需要能够执行 'command' 指定的命令。请确保 ResearchMCP 可执行文件在客户端能够访问到的路径下,并具有执行权限。
基本使用方法
-
启动 ResearchMCP 服务器: 按照上述安装步骤启动 ResearchMCP 服务器。
-
配置 MCP 客户端: 在您的 MCP 客户端中,配置上述提供的服务器连接信息 (JSON 配置)。
-
客户端调用 "research" 工具: 在您的 LLM 应用中,使用 MCP 客户端向 ResearchMCP 服务器发送请求,调用名为 "research" 的工具,并提供需要研究的 'query' 参数。
示例 MCP 请求 (JSON-RPC 格式,由 MCP 客户端发送):
{ "jsonrpc": "2.0", "method": "Tool.CallTool", "params": { "name": "research", "arguments": { "query": "量子计算的最新进展是什么?" } }, "id": 1 }示例 MCP 响应 (JSON-RPC 格式,由 ResearchMCP 服务器返回):
{ "jsonrpc": "2.0", "result": { "isError": false, "content": [ { "type": "text", "text": "根据最新的研究报告,量子计算领域在多个方面取得了显著进展...\n\nSources:\n- https://example.com/source1\n- https://example.com/source2" } ] }, "id": 1 }客户端收到响应后,可以解析 'content' 中的文本内容,并将其提供给 LLM 进行后续处理。
通过以上步骤,您就可以成功地将 ResearchMCP 服务器集成到您的 MCP 客户端中,为您的 LLM 应用提供强大的互联网研究能力。
信息
分类
网页与API