项目简介
Perplexity MCP 服务器是 Perplexity AI 平台官方的 Model Context Protocol (MCP) 服务器实现。它允许大型语言模型 (LLM) 客户端以标准化的方式访问 Perplexity API 的强大功能,包括执行实时网络搜索、进行通用对话、深度研究以及复杂推理。通过支持标准输入输出 (Stdio) 和 HTTP 等传输协议,该服务器为 LLM 应用提供了一个安全、可扩展的上下文服务框架。
主要功能点
- 实时网络搜索 ('perplexity_search'): 直接调用 Perplexity 搜索 API,返回排名靠前的搜索结果及元数据,非常适合获取最新信息、新闻或特定事实。
- 通用问答 ('perplexity_ask'): 使用 'sonar-pro' 模型进行通用对话式 AI 问答,结合实时网络搜索能力,适用于快速提问和日常查询。
- 深度研究 ('perplexity_research'): 利用 'sonar-deep-research' 模型进行深入、全面的研究,适用于需要详细分析和生成报告的场景。支持去除思考标签以节省上下文。
- 高级推理 ('perplexity_reason'): 运用 'sonar-reasoning-pro' 模型执行高级推理和解决问题,非常适合复杂的分析任务。支持去除思考标签以节省上下文。
- 多种连接方式: 支持通过标准输入输出 (Stdio) 或 HTTP 协议进行连接,方便集成到各种客户端和部署环境中。
- 代理支持: 兼容 'PERPLEXITY_PROXY', 'HTTPS_PROXY', 'HTTP_PROXY' 环境变量,支持在企业网络或代理环境下运行,确保网络请求的顺利进行。
安装步骤
-
获取 Perplexity API Key: 访问 Perplexity API Portal 获取您的 Perplexity API 密钥。这是服务器运行的必要凭证。
-
设置环境变量: 在您的操作系统环境中设置 'PERPLEXITY_API_KEY' 环境变量,将 'your_key_here' 替换为您的实际 API 密钥。 例如(Linux/macOS):
export PERPLEXITY_API_KEY="your_key_here"您也可以选择设置一个可选的请求超时时间(单位毫秒,默认 300000ms,即 5 分钟):
export PERPLEXITY_TIMEOUT_MS="600000" -
启动 MCP 服务器:
- 通过 'npx' 运行(推荐,无需全局安装):
这是最简单的启动方式,'npx' 会临时下载并运行 '@perplexity-ai/mcp-server' 包。
npx @perplexity-ai/mcp-server - 作为 HTTP 服务器部署(适用于云环境或共享服务):
如果您希望将服务器部署在云端或作为可访问的 HTTP 服务运行,可以按以下步骤:
HTTP 服务器将在 'http://<BIND_ADDRESS>:<PORT>/mcp' 路径下提供服务。# 1. 克隆仓库或下载代码 git clone https://github.com/perplexityai/modelcontextprotocol.git cd modelcontextprotocol # 2. 安装依赖 npm install # 3. 编译项目 npm run build # 4. 启动 HTTP 服务器 # 设置端口 (默认为 8080) export PORT=8080 # 设置绑定地址 (127.0.0.1 仅限本地访问,0.0.0.0 允许外部访问) export BIND_ADDRESS=0.0.0.0 # 设置允许的跨域来源,逗号分隔,'*' 表示允许所有 (默认为 localhost) export ALLOWED_ORIGINS="http://localhost:3000,http://your-client-domain.com" npm run start:http
- 通过 'npx' 运行(推荐,无需全局安装):
这是最简单的启动方式,'npx' 会临时下载并运行 '@perplexity-ai/mcp-server' 包。
服务器配置 (MCP 客户端用)
MCP 客户端需要知道如何启动并连接到 Perplexity MCP 服务器。以下是典型的 MCP 客户端配置信息示例,您需要将其添加到客户端的配置文件中 (如 Cursor 的 'mcp.json'、VS Code 的 '.vscode/mcp.json' 或 Claude Code/Desktop 的配置)。
示例 1: 使用 Stdio 传输 (通过 'npx' 启动)
这种方式适用于客户端与服务器在同一台机器上运行的情况。
{ "mcpServers": { "perplexity": { // 连接类型,stdio 表示通过标准输入输出通信 // 这是一种进程间通信方式,MCP 客户端会启动该命令并与其标准I/O进行通信 "type": "stdio", // 启动 MCP 服务器的命令 "command": "npx", // 传递给命令的参数: // "-y": 允许 npx 自动安装包,无需用户确认 // "@perplexity-ai/mcp-server": 要运行的 Perplexity MCP 服务器包名 "args": ["-y", "@perplexity-ai/mcp-server"], // 环境变量,用于设置 Perplexity API 密钥和可选的请求超时时间 // 这些变量会在启动服务器进程时生效 "env": { "PERPLEXITY_API_KEY": "your_perplexity_api_key_here", // 替换为您的 Perplexity API 密钥 "PERPLEXITY_TIMEOUT_MS": "600000" // 可选,Perplexity API 请求超时时间,单位毫秒,默认 5 分钟 } } } }
示例 2: 使用 HTTP 传输 (连接到 HTTP 服务器)
这种方式适用于 MCP 服务器作为独立的 HTTP 服务部署,客户端通过网络连接到它。
{ "mcpServers": { "perplexity_http": { // 连接类型,http 表示通过 HTTP 协议通信 "type": "http", // MCP 服务器的 URL 地址,客户端会向此地址发送请求 "url": "http://localhost:8080/mcp", // **重要:替换为您的服务器实际地址和端口** // 环境变量,用于设置 Perplexity API 密钥 // 注意:如果您的 HTTP 服务器已在其环境中配置了 PERPLEXITY_API_KEY, // 则客户端此处可以省略,但为确保兼容性,建议保留。 "env": { "PERPLEXITY_API_KEY": "your_perplexity_api_key_here" } } } }
重要提示: 'PERPLEXITY_API_KEY' 必须在 MCP 服务器运行的环境变量中设置,或者通过上述 MCP 客户端配置中的 'env' 字段传递给服务器进程。
基本使用方法
一旦 Perplexity MCP 服务器在您的 MCP 客户端 (如 Cursor, Claude Code, VS Code 等) 中配置并成功运行,LLM 助手将能够通过以下工具名称调用 Perplexity 的功能:
- 'perplexity_ask': 用于通用问答,利用 Perplexity 的 'sonar-pro' 模型。
- 'perplexity_research': 用于深度主题研究,利用 'sonar-deep-research' 模型。
- 'perplexity_reason': 用于复杂问题推理,利用 'sonar-reasoning-pro' 模型。
- 'perplexity_search': 用于直接进行网络搜索,获取最新和相关信息。
LLM 会根据其上下文和任务需求,智能地自动选择并调用这些工具。例如,当 LLM 需要查询实时股票价格时,它可能会调用 'perplexity_search';当它需要对某个复杂的商业案例进行分析时,则会调用 'perplexity_reason'。客户端将无缝地访问这些由 Perplexity API 提供的强大能力。
信息
分类
网页与API