项目简介
Perplexity搜索 MCP 服务器是一个基于 Model Context Protocol (MCP) 的后端实现,它将 Perplexity 搜索引擎的功能封装成一个工具,供大型语言模型(LLM)客户端调用。通过这个服务器,LLM 可以利用 Perplexity 强大的搜索能力,获取最新的网络信息,并将其作为上下文信息用于生成更准确、更有依据的回复。
主要功能点
- 网页搜索工具 (perplexity_search): 提供核心的网页搜索功能,LLM 可以通过调用此工具,向 Perplexity 发起搜索请求。
- 参数化搜索: 支持丰富的搜索参数,例如:
- 'query': 指定搜索关键词。
- 'search_recency_filter': 按时间过滤搜索结果(如最近一小时、一天、一周、一月)。
- 'max_tokens': 限制返回结果的最大 token 数。
- 'temperature', 'top_p', 'top_k', 'presence_penalty', 'frequency_penalty': 控制搜索结果生成的多样性和质量。
- 'search_domain_filter': 限定搜索结果的域名范围。
- 'return_images', 'return_related_questions': 控制是否返回图片链接和相关问题。
- 'web_search_options': 配置网页搜索选项,例如 'search_context_size' 控制搜索上下文大小。
- 多种 Perplexity 模型支持: 支持多种 Perplexity 搜索和推理模型,包括 'sonar-pro', 'sonar', 'sonar-deep-research', 'sonar-reasoning-pro', 'sonar-reasoning', 'r1-1776',可以根据需求选择合适的模型。
- MCP 标准协议: 完全遵循 MCP 协议,易于与各种支持 MCP 协议的 LLM 客户端集成。
安装步骤
- 安装 Go 环境: 确保已安装 Go 1.23 或更高版本。
- 克隆仓库:
git clone https://github.com/chenxilol/perplexity-mcp-go.git cd perplexity-mcp-go - 构建应用程序:
go build -o perplexity-search-mcp
服务器配置
MCP 客户端(例如 Claude)需要配置 MCP 服务器的连接信息。以下是一个 'claude_desktop_config.json' 文件的配置示例,用于配置 Perplexity搜索 MCP 服务器:
{ "mcpServers": { "perplexity-search": { // 服务器名称,客户端用此名称引用 "command": "/path/to/perplexity-search-mcp", // perplexity-search-mcp 可执行文件的路径 "env": { "PERPLEXITY_API_KEY": "YOUR_PERPLEXITY_API_KEY" // 你的 Perplexity API 密钥,**必填** } } } }
配置参数说明:
- '"perplexity-search"': 这是你为该 MCP 服务器定义的名称,在客户端配置和调用工具时会用到这个名称。可以自定义,但需要与客户端配置保持一致。
- '"command"': 指向编译生成的可执行文件 'perplexity-search-mcp' 的绝对路径。请根据你的实际文件路径进行修改。
- '"env"': 环境变量配置。
- '"PERPLEXITY_API_KEY"': 必须配置,替换为你在 Perplexity 平台申请的 API 密钥。
环境变量配置 (可选):
除了 'PERPLEXITY_API_KEY',还可以通过环境变量配置以下参数以自定义服务器行为(可选):
- 'DEFAULT_MAX_TOKENS': 设置默认的最大返回 token 数,默认为 2000。
- 'PERPLEXITY_MODEL': 设置默认的 Perplexity 模型,默认为 'sonar-pro'。
- 'DEFAULT_SEARCH_CONTEXT_SIZE': 设置默认的搜索上下文大小,默认为 'medium',可选值包括 'low', 'medium', 'high'。
基本使用方法
-
启动服务器: 在终端中,设置 'PERPLEXITY_API_KEY' 环境变量并运行编译生成的可执行文件 'perplexity-search-mcp':
export PERPLEXITY_API_KEY="YOUR_PERPLEXITY_API_KEY" ./perplexity-search-mcp服务器成功启动后,会在终端输出 "Perplexity Search MCP Server running..." 的信息。
-
配置 MCP 客户端: 根据 MCP 客户端 (例如 Claude) 的文档,配置 MCP 服务器连接信息,将上面提供的 'claude_desktop_config.json' 示例中的配置添加到客户端的配置文件中,并确保 'command' 和 'PERPLEXITY_API_KEY' 配置正确。
-
在 LLM 中使用 'perplexity_search' 工具: 在支持 MCP 协议的 LLM 客户端中,你可以指示 LLM 使用 'perplexity_search' 工具进行网页搜索。例如,在 Claude 中,你可以这样指示:
使用 perplexity-search 工具搜索 "最新的 AI 研究进展",并将搜索时间限定在最近一周。LLM 客户端会将你的指令转换为 MCP 请求发送给 Perplexity搜索 MCP 服务器,服务器执行搜索并将结果返回给 LLM 客户端,最终 LLM 将搜索结果整合到回复中。
你还可以通过更详细的参数控制搜索行为,例如:
{ "tool_calls": [ { "id": "search-tool-1", "type": "function", "function": { "name": "perplexity_search", "arguments": { "query": "最新可解释性 AI 技术", "search_recency_filter": "week", "temperature": 0.5, "return_related_questions": true, "web_search_options": { "search_context_size": "high" } } } } ] }请参考 MCP 协议和 LLM 客户端的文档,了解更高级的工具调用方法。
信息
分类
网页与API