Perplexity Advanced MCP

Perplexity Advanced MCP

一个先进的集成包,利用 OpenRouter 和 Perplexity API 来提供增强的网页搜索功能,提供简单和复杂的查询处理,并支持文件附件。

AI记忆系统
数据与应用分析
访问服务器

README

<div align="center">

# Perplexity Advanced MCP

[![GitHub](https://img.shields.io/badge/GitHub-100000?style=for-the-badge&logo=github&logoColor=white)](https://github.com/code-yeongyu/perplexity-advanced-mcp)
[![PyPI](https://img.shields.io/badge/pypi-3775A9?style=for-the-badge&logo=pypi&logoColor=white)](https://pypi.org/project/perplexity-advanced-mcp)
[![smithery badge](https://smithery.ai/badge/@code-yeongyu/perplexity-advanced-mcp)](https://smithery.ai/server/@code-yeongyu/perplexity-advanced-mcp)

[한국어](README-ko.md)

</div>

---

## 概述

Perplexity Advanced MCP 是一个高级集成包,它利用 [OpenRouter](https://openrouter.ai/) 和 [Perplexity](https://docs.perplexity.ai/home) API 来提供增强的查询处理能力。 凭借直观的命令行界面和强大的 API 客户端,此包可促进与 AI 模型进行简单和复杂查询的无缝交互。

## 与 [perplexity-mcp](https://github.com/jsonallen/perplexity-mcp) 的比较

虽然 [perplexity-mcp](https://github.com/jsonallen/perplexity-mcp) 使用 [Perplexity](https://docs.perplexity.ai/home) AI 的 API 提供了基本的网络搜索功能,但 Perplexity Advanced MCP 提供了几个附加功能:

- **多供应商支持:** 支持 [Perplexity](https://docs.perplexity.ai/home) 和 [OpenRouter](https://openrouter.ai/) API,让您可以灵活地选择提供商
- **查询类型优化:** 区分简单查询和复杂查询,优化成本和性能
- **文件附件支持:** 允许将文件内容作为上下文包含在查询中,从而实现更精确和上下文相关的响应
- **增强的重试逻辑:** 实施强大的重试机制,以提高可靠性

总的来说,当与 [Cline](https://cline.bot/) 或 [Cursor](https://www.cursor.com/) 等编辑器集成时,这是处理代码库最合适的 MCP。

## 特点

- **统一的 API 客户端:** 支持 [OpenRouter](https://openrouter.ai/) 和 [Perplexity](https://docs.perplexity.ai/home) API,并具有可配置的模型来处理简单和复杂查询。
- **命令行界面 (CLI):** 使用 [Typer](https://typer.tiangolo.com/) 管理 API 密钥配置并运行 MCP 服务器。
- **高级查询处理:** 包含文件附件处理,允许您在查询中包含上下文数据。
- **强大的重试机制:** 利用 Tenacity 的重试逻辑,以确保一致且可靠的 API 通信。
- **可定制的日志记录:** 灵活的日志记录配置,用于详细的调试和运行时监控。

## 最佳 AI 配置

为了获得 AI 助手(例如,[Cursor](https://www.cursor.com/)、[Claude for Desktop](https://claude.ai/download))的最佳体验,我建议将以下配置添加到您的项目说明或 AI 规则中:

```xml
<perplexity-advanced-mcp>
    <description>
        Perplexity 是一个可以搜索互联网、收集信息并回答用户查询的 LLM。

        例如,假设我们想找出 Python 的最新版本。
        1. 您将在 Google 上搜索。
        2. 然后直接阅读前两三个结果进行验证。

        Perplexity 为您完成这项工作。

        为了回答用户的查询,Perplexity 会搜索、打开顶部搜索结果、在这些网站上查找信息,然后提供答案。

        Perplexity 可以用于两种类型的查询:简单查询和复杂查询。 选择正确的查询类型来满足用户的请求是最重要的。
    </description>
    <simple-query>
        <description>
            它既便宜又快速。 但是,它不适合复杂的查询。 平均而言,它比复杂查询便宜 10 倍以上,速度快 3 倍。
            将其用于简单的问题,例如“Python 的最新版本是什么?”
        </description>
        <pricing>
            $1/M 输入 tokens
            $1/M 输出 tokens
        </pricing>
    </simple-query>

    <complex-query>
        <description>
            它速度较慢且成本较高。 与简单查询相比,平均而言,它贵 10 倍以上,速度慢 3 倍。
            将其用于更复杂的请求,例如“分析附加的代码以检查特定库的当前状态并创建迁移计划。”
        </description>
        <pricing>
            $1/M 输入 tokens
            $5/M 输出 tokens
        </pricing>
    </complex-query>

    <instruction>
        在查看用户的请求时,如果您发现任何意外、不确定或可疑的事情,**并且您认为可以从互联网上获得答案**,请毫不犹豫地使用“ask_perplexity”工具咨询 Perplexity。 但是,如果不需要互联网来满足用户的请求,那么询问 Perplexity 是没有意义的。
        由于 Perplexity 也是一个 LLM,因此提示工程技术至关重要。
        记住提示工程的基础知识,例如提供清晰的说明、足够的上下文和示例
        包含尽可能多的上下文和相关文件,以顺利满足用户的请求。 添加文件作为附件时,请确保它们是绝对路径。
    </instruction>
</perplexity-advanced-mcp>

此配置有助于 AI 助手更好地理解何时以及如何使用 Perplexity 搜索功能,从而优化成本和性能。

用法

通过 Smithery 安装

要通过 Smithery 为 Claude Desktop 自动安装 Perplexity Advanced MCP:

npx -y @smithery/cli install @code-yeongyu/perplexity-advanced-mcp --client claude

使用 uvx 快速入门

运行 MCP 服务器的最简单方法是使用 uvx

uvx perplexity-advanced-mcp -o <openrouter_api_key> # or -p <perplexity_api_key>

您还可以使用环境变量配置 API 密钥:

export OPENROUTER_API_KEY="your_key_here"
# or
export PERPLEXITY_API_KEY="your_key_here"

uvx perplexity-advanced-mcp

注意:

  • 同时提供 OpenRouter 和 Perplexity API 密钥将导致错误
  • 同时提供 CLI 参数和环境变量时,CLI 参数优先

CLI 是使用 Typer 构建的,确保了用户友好的命令行体验。

MCP 搜索工具

该软件包包含一个通过 ask_perplexity 函数集成的 MCP 搜索工具。 它支持简单查询和复杂查询,并处理文件附件以提供额外的上下文。

  • 简单查询: 提供快速、高效的响应。
  • 复杂查询: 进行详细的推理并支持格式化为 XML 的文件附件。

配置

  • API 密钥: 通过命令行选项或环境变量配置 OPENROUTER_API_KEYPERPLEXITY_API_KEY
  • 模型选择: 配置(在 src/perplexity_advanced_mcp/config.py 中)将查询类型映射到特定模型:
    • OpenRouter
      • 简单查询:perplexity/sonar
      • 复杂查询:perplexity/sonar-reasoning
    • Perplexity
      • 简单查询:sonar-pro
      • 复杂查询:sonar-reasoning-pro

开发背景与理念

这个项目源于我个人的好奇心和实验。 继最近的 "vibe coding" 趋势之后,超过 95% 的代码是通过 Cline + Cursor IDE 编写的。 他们说“口说无凭,代码为证”——好吧,借助 Wispr Flow 的语音转文本魔法,我实际上只是说了出来,代码就出现了! 大部分开发都是通过我说“为我编写 x y z 的代码,修复这里的错误 x y z。”并按回车键来完成的。 值得注意的是,创建这个功能齐全的项目只用了几个小时。

从项目脚手架到文件结构,一切都是通过 LLM 编写和审查的。 甚至用于 PyPI 发布和发布审批流程的 GitHub Actions 工作流程也是通过 Cursor 处理的。 作为一名人类开发人员,我的角色是:

  • 启动和停止 MCP 服务器以帮助 AI 进行适当的测试
  • 在出现问题时复制并提供错误日志
  • 从互联网上查找并提供 Python MCP SDK 文档和示例
  • 请求修改似乎不正确的代码

在当今许多事情都可以自动化和替代的世界中,我希望这个 MCP 可以帮助像您这样的开发人员发现超越编写代码的价值。 愿这个工具帮助您成为一个可以做出更高层次决策和考虑的新时代开发人员。

开发

要贡献或修改此软件包:

1. 克隆存储库:

gh repo clone code-yeongyu/perplexity-advanced-mcp

2. 安装依赖项:

uv sync

3. 贡献:

欢迎贡献! 请遵循现有的代码风格和提交指南。

许可证

本项目根据 MIT 许可证获得许可。

推荐服务器

VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
mcp-server-qdrant

mcp-server-qdrant

这个仓库展示了如何为向量搜索引擎 Qdrant 创建一个 MCP (Managed Control Plane) 服务器的示例。

官方
精选
AIO-MCP Server

AIO-MCP Server

🚀 集成了 AI 搜索、RAG 和多服务(GitLab/Jira/Confluence/YouTube)的一体化 MCP 服务器,旨在增强 AI 驱动的开发工作流程。来自 Folk。

精选
本地
Knowledge Graph Memory Server

Knowledge Graph Memory Server

为 Claude 实现持久性记忆,使用本地知识图谱,允许 AI 记住用户的信息,并可在自定义位置存储,跨对话保持记忆。

精选
本地
Hyperbrowser

Hyperbrowser

欢迎来到 Hyperbrowser,人工智能的互联网。Hyperbrowser 是下一代平台,旨在增强人工智能代理的能力,并实现轻松、可扩展的浏览器自动化。它专为人工智能开发者打造,消除了本地基础设施和性能瓶颈带来的麻烦,让您能够:

精选
本地
BigQuery MCP Server

BigQuery MCP Server

这是一个服务器,可以让你的大型语言模型(LLM,比如Claude)直接与你的BigQuery数据对话!可以把它想象成一个友好的翻译器,它位于你的AI助手和数据库之间,确保它们可以安全高效地进行交流。

精选
MCP Web Research Server

MCP Web Research Server

一个模型上下文协议服务器,使 Claude 能够通过集成 Google 搜索、提取网页内容和捕获屏幕截图来进行网络研究。

精选
mcp-perplexity

mcp-perplexity

Perplexity API 的 MCP 服务器。

精选
MySQL MCP Server

MySQL MCP Server

允许人工智能助手通过受控界面列出表格、读取数据和执行 SQL 查询,从而使数据库探索和分析更安全、更有条理。

精选
mcp-codex-keeper

mcp-codex-keeper

作为开发知识的守护者,为 AI 助手提供精心策划的最新文档和最佳实践访问权限。

精选