mcpField
M
Mcp Perplexity

Mcp Perplexity

本地服务
github.com/daniel-lxsAI 与智能体6687 周前更新

关于 Mcp Perplexity

Mcp Perplexity 是基于 Python 的 MCP 服务,封装 Perplexity API,提供问答、多轮对话和聊天记录管理工具。适合需要在开发环境中调用 Perplexity 的用户,聊天数据保存在本地。

主要功能

  1. 01ask_perplexity 单次问答工具
  2. 02chat_perplexity 多轮对话工具
  3. 03list_chats_perplexity 分页列出聊天
  4. 04read_chat_perplexity 读取本地历史记录
  5. 05通过环境变量配置模型

适用场景

  1. 01在编码过程中询问编程问题与错误排查
  2. 02延续已有对话进行技术调研
  3. 03查看和回顾过往聊天记录

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露 ask_perplexity、chat_perplexity、list_chats_perplexity 和 read_chat_perplexity 四个工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"perplexity": {
"command": "uvx",
"args": [
"mcp-perplexity"
],
"env": {
"PERPLEXITY_API_KEY": "<PERPLEXITY_API_KEY>",
"PERPLEXITY_MODEL": "<PERPLEXITY_MODEL>",
"DB_PATH": "<DB_PATH>"
}
}
}
}
启动命令uvx mcp-perplexity
需要配置的环境变量
PERPLEXITY_API_KEY密钥
PERPLEXITY_MODEL
DB_PATH

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypimcp-perplexity

工具

4

收录的工具列表 · 更新于 3 周前

参数类型必填说明
querystring是要解决的技术问题或疑问

详细介绍

Perplexity Chat MCP 服务

Perplexity MCP 服务提供基于 Python 的 Perplexity API 接口,支持查询回答、保留聊天记录和管理对话。它支持通过环境变量配置模型,并在本地存储聊天数据。该服务使用 Python 和 setuptools 构建,旨在集成到开发环境中。

此 MCP 服务旨在模拟用户在浏览器中使用 Perplexity Chat 的方式,让你的模型能够提问、继续对话并列出所有聊天。

smithery badge Release and Publish

README 配图

组件

工具
  • 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_ASK 和 PERPLEXITY_MODEL_CHAT,分别为 ask_perplexity 和 chat_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

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 UI

MCP Perplexity 服务现已包含 Web 界面,便于交互和管理聊天。

功能
  • 交互式聊天界面
  • 聊天历史管理
  • 实时消息显示
截图
聊天列表视图

image

聊天界面

image

访问 Web UI

当 WEB_UI_ENABLED 设为 true 时,可通过 http://WEB_UI_HOST:WEB_UI_PORT 访问 Web UI。

默认地址为 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 文件。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。