Perplexity MCP Server

by sengokudaikon
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides tools for interacting with Perplexity AI, enabling expert programming assistance through direct questions and maintaining ongoing conversations with persistent chat history.

  • Supports Perplexity's Sonar model variants (sonar-pro, sonar-reasoning-pro) for different AI capabilities, configurable through environment variables.

  • Uses SQLite for persistent storage of chat history data, allowing conversations with Perplexity AI to be continued across sessions.

Perplexity 聊天 MCP 服务器

Perplexity MCP 服务器为 Perplexity API 提供了基于 Python 的接口,提供查询回复、维护聊天历史记录和管理对话的工具。它支持通过环境变量配置模型,并在本地存储聊天数据。它使用 Python 和 setuptools 构建,旨在与开发环境集成。

MCP 服务器旨在模拟用户如何在浏览器上与 Perplexity Chat 进行交互,允许您的模型提出问题、继续对话并列出所有聊天。

成分

工具

  • ask_perplexity :通过 Perplexity 请求专家编程帮助。专注于代码解决方案、错误调试和技术解释。返回的答案包含来源引用和备选建议。
  • chat_perplexity :与 Perplexity AI 保持持续对话。创建新聊天或继续现有聊天,并保留完整的历史记录。返回聊天 ID 以供将来继续使用。
  • list_chats_perplexity :列出所有可用的 Perplexity AI 聊天对话。返回聊天 ID、标题和创建日期(以相对时间格式显示,例如“5 分钟前”、“2 天前”)。结果分页显示,每页 50 条聊天记录。
  • read_chat_perplexity :检索特定聊天的完整对话历史记录。返回包含所有消息及其时间戳的完整聊天历史记录。无需调用 Perplexity 的 API,仅从本地存储读取数据。

主要特点

  • **通过环境变量配置模型:**允许您使用PERPLEXITY_MODEL环境变量指定 Perplexity 模型,以便灵活地选择模型。您还可以指定PERPLEXITY_MODEL_ASKPERPLEXITY_MODEL_CHAT来分别为ask_perplexitychat_perplexity工具使用不同的模型。这些将覆盖PERPLEXITY_MODEL 。您可以在Perplexity文档中查看哪些模型可用。
  • 持久聊天记录: chat_perplexity工具可维护与 Perplexity AI 的持续对话。它可以创建新的聊天或继续现有对话,并保留完整的历史记录。此外,它还会返回聊天 ID,以便将来继续使用。
  • **带有进度报告的流式响应:**使用进度报告来防止缓慢响应超时。

快速入门

先决条件

在使用此 MCP 服务器之前,请确保您已:

  • Python 3.10 或更高版本
  • 已安装uvx包管理器

注意:uvx 的安装说明可在此处找到。

所有客户端的配置

要使用此 MCP 服务器,请使用以下设置配置您的客户端(配置方法因客户端而异):

"mcpServers": { "mcp-perplexity": { "command": "uvx", "args": ["mcp-perplexity"], "env": { "PERPLEXITY_API_KEY": "your-api-key", "PERPLEXITY_MODEL": "sonar-pro", "DB_PATH": "chats.db" } } }

环境变量

使用以下环境变量配置 MCP Perplexity 服务器:

多变的描述默认值必需的
PERPLEXITY_API_KEY您的 Perplexity API 密钥没有任何是的
PERPLEXITY_MODEL交互的默认模型sonar-pro
PERPLEXITY_MODEL_ASKask_perplexity工具的特定模型使用PERPLEXITY_MODEL
PERPLEXITY_MODEL_CHATchat_perplexity工具的特定模型使用PERPLEXITY_MODEL
DB_PATH聊天记录数据库存储路径chats.db
WEB_UI_ENABLED启用或禁用 Web UIfalse
WEB_UI_PORTWeb UI 端口8050
WEB_UI_HOSTWeb UI 主机127.0.0.1
DEBUG_LOGS启用详细日志记录false

使用 Smithery CLI

npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"pplx-abc\",\"perplexityModel\":\"sonar-pro\"}"

用法

询问困惑

ask_perplexity工具用于特定问题,该工具不保留聊天历史记录,每个请求都是一次新的聊天。

如果指定,该工具将使用PERPLEXITY_MODEL_ASK模型返回 Perplexity AI 的响应,否则将使用PERPLEXITY_MODEL模型。

聊天困惑

chat_perplexity工具用于记录正在进行的对话,并维护聊天历史记录。每个聊天都通过聊天 ID 进行标识,每次创建新聊天时,该工具都会返回此 ID。聊天 ID 如下所示: wild-horse-12

此工具对于调试、研究以及任何其他需要聊天历史记录的任务很有用。

如果指定,该工具将使用PERPLEXITY_MODEL_CHAT模型返回 Perplexity AI 的响应,否则将使用PERPLEXITY_MODEL模型。

list_chats_perplexity

列出所有可用的聊天对话。它返回一个分页的聊天列表,显示聊天 ID、标题和创建时间(相对路径格式)。您可以使用 page 参数指定page (默认为 1,每页 50 条聊天)。

read_chat_perplexity

检索指定chat_id的完整对话历史记录。此工具返回聊天中的所有消息,包括时间戳和角色(用户或助手)。此工具不会对 Perplexity 进行任何 API 调用;它仅从本地数据库读取数据。

Web 用户界面

MCP Perplexity 服务器现在包含一个 Web 界面,可以更轻松地进行聊天交互和管理。

特征

  • 交互式聊天界面
  • 聊天记录管理
  • 实时消息显示

截图

聊天列表视图

聊天界面

访问 Web UI

WEB_UI_ENABLED设置为true时,Web UI 将在http://WEB_UI_HOST:WEB_UI_PORT上可用。

默认情况下,这是http://127.0.0.1:8050

发展

本项目使用 setuptools 进行开发和构建。开始操作:

  1. 创建虚拟环境:
    python -m venv .venv source .venv/bin/activate # On Linux/macOS # or .venv\Scripts\activate # On Windows
  2. 以可编辑模式安装项目及其所有依赖项:
    pip install -e .
  3. 构建项目:
    python -m build

虚拟环境将包含开发所需的所有依赖项。

贡献

该项目开放贡献。请参阅CONTRIBUTING.md文件了解更多信息。

执照

本项目遵循 MIT 许可证。详情请参阅LICENSE文件。

-
security - not tested
A
license - permissive license
-
quality - not tested

通过两种工具提供对 Perplexity AI 模型的访问:ask_perplexity 用于专家编程帮助,chat_perplexity 用于通过上下文保存来维持正在进行的对话。

  1. Components
    1. Tools
  2. Key Features
    1. Quickstart
      1. Prerequisites
      2. Configuration for All Clients
    2. Environment Variables
      1. Using Smithery CLI
    3. Usage
      1. ask_perplexity
      2. chat_perplexity
      3. list_chats_perplexity
      4. read_chat_perplexity
    4. Web UI
      1. Features
      2. Screenshots
      3. Accessing the Web UI
    5. Development
      1. Contributing
        1. License
          ID: nov1aw96ar