项目简介
'pplx' 是一个多功能的命令行工具,它不仅提供了直接与 Perplexity AI API 交互的客户端功能,更重要的是,它包含一个基于 Model Context Protocol (MCP) 的服务器实现。这个 MCP 服务器的核心作用是将 Perplexity AI 的强大问答和搜索能力作为标准化工具暴露给支持 MCP 的 LLM 客户端(如 Claude Code),从而极大地扩展了 LLM 获取外部信息、执行复杂查询的能力。
主要功能点
- MCP 工具暴露: 将 Perplexity AI 的核心 'query' 功能封装为标准 MCP 工具,允许 LLM 客户端以统一的方式调用 Perplexity AI 服务。
- 高级搜索集成: 支持通过工具参数进行精细化搜索,包括指定搜索域名、时间范围(日/周/月/年)、用户地理位置、学术模式搜索、搜索上下文大小等。
- 富媒体响应: 可选择在响应中包含来自 Perplexity AI 的搜索结果、图片信息和相关问题,为 LLM 提供更丰富的上下文。
- 结构化输出: 支持通过 JSON Schema 或正则表达式定义 Perplexity AI 响应的格式,便于 LLM 进行结构化数据处理。
- 灵活的模型控制: 允许 LLM 客户端指定 Perplexity AI 使用的模型、控制响应的温度(随机性)、最大 token 数、频率/存在惩罚等生成参数。
- 日期过滤: 能够精确筛选在特定日期之后/之前发布或更新的搜索结果。
- 深度研究能力: 对于支持深度研究的模型,可指定推理工作量(低/中/高)。
- JSON-RPC over Stdio: 使用标准的输入输出作为传输协议,通过 JSON-RPC 协议与 MCP 客户端通信。
安装步骤
您可以选择以下任一方式安装 'pplx' 工具:
-
方式一 (下载发布版):
- 访问项目的 releases 页面。
- 下载您操作系统对应的最新版本二进制文件。
- 将下载的二进制文件放置到您的系统 PATH 环境变量中的任意目录,例如 '/usr/local/bin',以便在任何位置都能运行 'pplx' 命令。
-
方式二 (使用 Homebrew - macOS/Linux): 如果您是 macOS 或 Linux 用户,并且安装了 Homebrew,可以通过以下命令快速安装:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/pplx
服务器配置
MCP 服务器需要通过 MCP 客户端进行配置。以下是一个为 'Perplexity AI MCP 服务器' 配置的 JSON 示例,您需要将其添加到您的 MCP 客户端配置中(例如 Claude Code 的配置文件):
{ "mcpServers": { "perplexity-ai": { // 服务器的唯一名称,用于在客户端中引用 "command": "pplx", // 启动 MCP 服务器的可执行文件路径(如果已在 PATH 中,只需写 'pplx') "args": ["mcp-stdio"], // 启动 MCP 服务器所需的子命令和参数 "env": { "PPLX_API_KEY": "your_perplexity_api_key_here" // 您的 Perplexity AI API 密钥 } } } }
重要提示:
- 请将 'your_perplexity_api_key_here' 替换为您真实的 Perplexity AI API 密钥。
- 出于安全考虑,强烈建议通过操作系统的环境变量 'PPLX_API_KEY' 设置您的 API 密钥,而不是直接写入配置文件。例如,在 Linux/macOS 中,可以在启动 MCP 客户端的 shell 环境中设置:'export PPLX_API_KEY="your_key"'。
基本使用方法
配置完成后,您的 MCP 客户端即可通过您定义的名称(例如 'perplexity-ai')识别并调用该服务器暴露的 'query' 工具。
例如,在支持 MCP 的 LLM 客户端中,您可以直接通过自然语言指令使用 Perplexity AI 的功能:
请使用 Perplexity AI 搜索关于最新的量子计算突破,并返回相关图片和问题。
或者,如果您的客户端支持更直接的工具调用语法,您可以这样调用:
Call perplexity-ai.query( user_prompt="最新的AI芯片发展", search_domains=["nvidia.com", "intel.com"], return_images=true, search_recency="month" )
MCP 服务器将负责接收这些 MCP 请求,将其转换为 Perplexity AI API 的调用,并最终将 Perplexity AI 的响应(包括文本内容、搜索结果、图片链接等)格式化后返回给 LLM 客户端。
信息
分类
AI与计算