Perplexity Chat MCP Server 使用说明

项目简介

Perplexity Chat MCP Server 是一个基于 Model Context Protocol (MCP) 构建的应用后端,它充当 MCP 服务器,通过工具的方式封装了 Perplexity API 的功能,使得 LLM 客户端能够以标准化的方式调用 Perplexity 的强大问答和聊天能力。该服务器旨在模仿用户在浏览器上与 Perplexity Chat 的交互方式,让您的 LLM 模型可以提问、继续对话和列出所有聊天记录。

主要功能点

  • 集成 Perplexity API: 提供工具连接 Perplexity API,利用其先进的语言模型能力。
  • 专家编程助手: 'ask_perplexity' 工具专注于提供编程解决方案、错误调试和技术解释。
  • 持久化聊天历史: 'chat_perplexity' 工具支持维护与 Perplexity AI 的持续对话,包括创建新聊天和延续已有聊天,完整保存对话历史。
  • 聊天记录管理: 提供 'list_chats_perplexity' 工具列出所有聊天会话,并支持分页;'read_chat_perplexity' 工具读取指定聊天的完整对话历史。
  • 模型配置灵活: 支持通过环境变量灵活配置 Perplexity 模型,可以为不同工具指定不同的模型。
  • 流式响应与进度报告: 支持流式传输 Perplexity API 的响应,并提供进度报告,防止请求超时。
  • Web UI界面: 提供可选的 Web 用户界面,方便用户更直观地管理和交互聊天记录。

安装步骤

  1. 安装 Python: 确保您的系统中安装了 Python 3.10 或更高版本。
  2. 安装 uvx: 按照 uvx 官方文档 安装 uvx 包管理器。uvx 是一个快速的 Python 包安装和管理工具,可以加速项目依赖的安装。
  3. 克隆仓库: 将 Perplexity Chat MCP Server 仓库克隆到本地:
    git clone https://github.com/daniel-lxs/mcp-perplexity.git
    cd mcp-perplexity
  4. 创建并激活虚拟环境: 推荐在虚拟环境中安装项目依赖,避免与系统环境冲突:
    python -m venv .venv
    source .venv/bin/activate  # Linux/macOS
    .venv\Scripts\activate  # Windows
  5. 安装项目依赖: 使用 uvx 安装项目及其依赖:
    uvx pip install -e .

服务器配置

MCP 客户端需要配置 MCP 服务器的启动命令才能连接并使用 Perplexity Chat MCP Server。以下是配置信息(JSON 格式),请根据您的实际情况进行调整:

{
  "mcpServers": {
    "mcp-perplexity": {  // 服务器名称,客户端据此名称引用
      "command": "uvx",  // 启动服务器的命令,这里使用 uvx 启动 mcp-perplexity
      "args": ["mcp-perplexity"], // 命令参数,这里 mcp-perplexity 是可执行程序名称
      "env": { // 环境变量配置
        "PERPLEXITY_API_KEY": "your-api-key", // 必须配置:您的 Perplexity API 密钥,请替换为您的真实密钥
        "PERPLEXITY_MODEL": "sonar-pro", // 可选:默认使用的 Perplexity 模型,默认为 sonar-pro
        "DB_PATH": "chats.db" // 可选:本地数据库文件路径,用于存储聊天记录,默认为 chats.db
        // 其他可选环境变量,例如:
        // "PERPLEXITY_MODEL_ASK": "sonar-small", //  'ask_perplexity' 工具使用的模型,覆盖 PERPLEXITY_MODEL
        // "PERPLEXITY_MODEL_CHAT": "sonar-medium", // 'chat_perplexity' 工具使用的模型,覆盖 PERPLEXITY_MODEL
        // "WEB_UI_ENABLED": "true", // 启用 Web UI,默认为 false
        // "WEB_UI_PORT": "8080",    // Web UI 端口,默认为 8050
        // "WEB_UI_HOST": "0.0.0.0"   // Web UI 主机地址,默认为 127.0.0.1
      }
    }
  }
}

请注意:

  • 必须配置 'PERPLEXITY_API_KEY' 环境变量,替换为您的 Perplexity API 密钥。
  • 可以根据需要配置其他环境变量,例如选择不同的 Perplexity 模型或启用 Web UI。

基本使用方法

配置完成后,MCP 客户端应该能够连接到 Perplexity Chat MCP Server 并使用以下工具:

  1. ask_perplexity: 用于单次提问,不保留聊天历史。

    • 输入参数: 'query' (string, 必填): 要向 Perplexity 提出的技术问题。
    • 功能: 向 Perplexity 提出问题,获取答案,答案包含来源引用。
  2. chat_perplexity: 用于进行持续对话,保留聊天历史。

    • 输入参数:
      • 'message' (string, 必填): 要发送的消息内容。
      • 'chat_id' (string, 可选): 已存在的聊天 ID,用于继续对话。如果不提供,则创建新聊天,此时 'title' 参数为必填。
      • 'title' (string, 可选): 新聊天的标题,创建新聊天时必填。
    • 功能: 发送消息给 Perplexity 进行对话,可以创建新对话或继续已有对话,返回包含聊天 ID 的响应。
  3. list_chats_perplexity: 列出所有可用的聊天会话。

    • 输入参数: 'page' (integer, 可选): 页码,默认为 1,每页显示 50 个聊天记录。
    • 功能: 获取聊天列表,包含聊天 ID、标题、创建时间等信息。
  4. read_chat_perplexity: 读取指定聊天 ID 的完整对话历史。

    • 输入参数: 'chat_id' (string, 必填): 要读取的聊天 ID。
    • 功能: 获取指定聊天的所有消息记录,包括消息内容和时间戳。

Web UI 使用 (如果启用):

如果设置环境变量 'WEB_UI_ENABLED=true' 启用了 Web UI,您可以通过浏览器访问 'http://WEB_UI_HOST:WEB_UI_PORT'(默认为 'http://127.0.0.1:8050')来使用图形界面管理和查看聊天记录。

总结

Perplexity Chat MCP Server 提供了一种便捷的方式,通过 MCP 协议将 Perplexity API 的强大功能集成到 LLM 客户端中,方便开发者构建基于 Perplexity 模型的智能应用。

信息

分类

网页与API