项目简介

'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' 工具:

  1. 方式一 (下载发布版):

    • 访问项目的 releases 页面
    • 下载您操作系统对应的最新版本二进制文件。
    • 将下载的二进制文件放置到您的系统 PATH 环境变量中的任意目录,例如 '/usr/local/bin',以便在任何位置都能运行 'pplx' 命令。
  2. 方式二 (使用 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与计算