返回市场
麦普困惑度

麦普困惑度

作者:daniel-lxs64 星标更新:2025-02-28

项目介绍

Perplexity Chat MCP 服务器

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

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

smithery 徽章 发布和发布

<a href="https://glama.ai/mcp/servers/0nggjl0ohi"> <img width="380" height="200" src="https://gips3.baidu.com/it/u=2723171739,857492507&fm=3081&app=3081&f=PNG?w=760&h=400" /> </a>

组件

工具

  • ask_perplexity: 通过Perplexity请求编程方面的专业帮助。专注于编码解决方案、错误调试和技术解释。返回带有来源引用和替代建议的响应。
  • chat_perplexity: 维护与Perplexity AI的持续对话。创建新的聊天或继续现有聊天,带有完整的上下文历史。返回聊天ID以供未来继续。
  • list_chats_perplexity: 列出所有可用的聊天对话。返回聊天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界面false
WEB_UI_PORTWeb界面端口8050
WEB_UI_HOSTWeb界面主机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

ask_perplexity工具用于具体问题,此工具不维护聊天历史,每次请求都是一个新的聊天。

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

chat_perplexity

chat_perplexity工具用于持续对话,此工具维护聊天历史。 一个聊天由聊天ID标识,当创建新聊天时,工具会返回这个ID。聊天ID看起来像这样:wild-horse-12

此工具对于调试、研究以及任何需要聊天历史的任务都非常有用。

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

list_chats_perplexity

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

read_chat_perplexity

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

Web界面

MCP Perplexity服务器现在包括一个Web界面,便于更轻松地互动和管理聊天。

功能

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

屏幕截图

聊天列表视图

image

聊天界面

image

访问Web界面

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

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

开发

此项目使用setuptools进行开发和构建。开始之前:

  1. 创建虚拟环境:

    python -m venv .venv
    source .venv/bin/activate  # 在Linux/macOS上
    # 或
    .venv\Scripts\activate  # 在Windows上
    
  2. 以编辑模式安装项目及其所有依赖项:

    pip install -e .
    
  3. 构建项目:

    python -m build
    

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

贡献

此项目欢迎贡献。请参阅CONTRIBUTING.md文件获取更多信息。

许可证

此项目根据MIT许可证授权。详情请参阅LICENSE文件。