返回市场
困惑高级MCP

困惑高级MCP

作者:code-yeongyu26 星标更新:2025-05-07

项目介绍

【技术文档摘要】: MseeP.ai 安全评估徽章

<div align="center">

Perplexity 高级 MCP

GitHub PyPI smithery 徽章

한국어

</div>

概述

Perplexity 高级 MCP 是一个高级集成包,利用 OpenRouterPerplexity 的 API 提供增强的查询处理能力。通过直观的命令行界面和强大的 API 客户端,该包促进了与 AI 模型的无缝交互,无论是简单还是复杂的查询。

perplexity-mcp 的比较

虽然 perplexity-mcp 使用 Perplexity 的 API 提供基本的网络搜索功能,但 Perplexity 高级 MCP 提供了几个额外的功能:

  • 多供应商支持: 支持 PerplexityOpenRouter 的 API,为您提供选择供应商的灵活性。
  • 查询类型优化: 区分简单和复杂查询,优化成本和性能。
  • 文件附件支持: 允许在查询中包含文件内容作为上下文,使响应更加精确和相关。
  • 增强的重试逻辑: 实现了强大的重试机制以提高可靠性。

总体而言,当与编辑器如 ClineCursor 集成时,这是最合适的 MCP 来处理代码库。

功能

  • 统一 API 客户端: 支持 OpenRouterPerplexity 的 API,并可配置模型来处理简单和复杂的查询。
  • 命令行界面 (CLI): 使用 Typer 管理 API 密钥配置并运行 MCP 服务器。
  • 高级查询处理: 结合文件附件处理,允许您在查询中包含上下文数据。
  • 强大的重试机制: 利用 Tenacity 进行重试逻辑,确保一致且可靠的 API 通信。
  • 可定制的日志记录: 灵活的日志配置用于详细的调试和运行时监控。

最优 AI 配置

为了获得最佳的 AI 助手体验(例如 CursorClaude for Desktop),我建议在项目指令或 AI 规则中添加以下配置:

<perplexity-advanced-mcp>
    <description>
        Perplexity 是一种可以搜索互联网、收集信息并回答用户查询的大型语言模型 (LLM)。

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

        Perplexity 为您完成了这些工作。

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

        Perplexity 可以用于两种类型的查询:简单和复杂。选择正确的查询类型以满足用户的需求最为重要。
    </description>
    <simple-query>
        <description>
            它便宜且快速。然而,它不适合复杂的查询。平均来说,它的成本比复杂查询低 10 倍以上,速度是其 3 倍以上。
            适用于简单的查询,如“最新的 Python 版本是什么?”。
        </description>
        <pricing>
            $1/M 输入令牌
            $1/M 输出令牌
        </pricing>
    </simple-query>

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

    <instruction>
        在审查用户的请求时,如果您发现任何意外、不确定或可疑的内容,并且认为可以从互联网获取答案,请毫不犹豫地使用“ask_perplexity”工具咨询 Perplexity。然而,如果不需要互联网即可满足用户的需求,则询问 Perplexity 是没有意义的。
        由于 Perplexity 也是一种 LLM,提示工程技巧至关重要。
        记住提示工程的基本原则,如提供清晰的指示、足够的上下文和示例。
        尽可能多地包含上下文和相关文件,以平滑地满足用户的需求。在添加文件作为附件时,请确保它们是绝对路径。
    </instruction>
</perplexity-advanced-mcp>

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

使用方法

通过 Smithery 安装

要通过 Smithery 自动安装 Perplexity 高级 MCP:

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

使用 uvx 快速启动

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

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

您也可以通过环境变量配置 API 密钥:

export OPENROUTER_API_KEY="your_key_here"
# 或
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 编码" 趋势,超过 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 许可证。