Skip to main content
Glama
code-yeongyu

Perplexity Advanced MCP

Perplexity 高级 MCP

GitHub PyPI 铁匠徽章

韩国


概述

Perplexity Advanced MCP 是一个高级集成包,它利用OpenRouter和Perplexity API 提供增强的查询处理功能。该包拥有直观的命令行界面和强大的 API 客户端,可与 AI 模型无缝交互,处理简单和复杂的查询。

Related MCP server: Perplexity MCP Server

与perplexity-mcp 的比较

perplexity-mcp使用Perplexity AI 的 API 提供基本的网页搜索功能,而 Perplexity Advanced MCP 则提供了一些附加功能:

  • **多供应商支持:**支持Perplexity和OpenRouter API,让您可以灵活地选择供应商

  • **查询类型优化:**区分简单查询和复杂查询,优化成本和性能

  • **文件附件支持:**允许将文件内容作为上下文包含在查询中,从而实现更精确、更具上下文的响应

  • **增强的重试逻辑:**实施强大的重试机制以提高可靠性

总体而言,当与Cline或Cursor等编辑器集成时,这是最适合处理代码库的 MCP。

特征

  • **统一 API 客户端:**支持OpenRouter和Perplexity API,并具有可配置模型来处理简单和复杂的查询。

  • **命令行界面(CLI):**管理 API 密钥配置并使用Typer运行 MCP 服务器。

  • **高级查询处理:**结合文件附件处理,允许您在查询中包含上下文数据。

  • **强大的重试机制:**利用 Tenacity 进行重试逻辑,确保 API 通信一致、可靠。

  • **可定制的日志记录:**灵活的日志记录配置,用于详细的调试和运行时监控。

最佳AI配置

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

<perplexity-advanced-mcp>
    <description>
        Perplexity is an LLM that can search the internet, gather information, and answer users' queries.

        For example, let's suppose we want to find out the latest version of Python.
        1. You would search on Google.
        2. Then read the top two or three results directly to verify.

        Perplexity does that work for you.

        To answer a user's query, Perplexity searches, opens the top search results, finds information on those websites, and then provides the answer.

        Perplexity can be used with two types of queries: simple and complex. Choosing the right query type to fulfill the user's request is most important.
    </description>
    <simple-query>
        <description>
            It's cheap and fast. However, it's not suitable for complex queries. On average, it's more than 10 times cheaper and 3 times faster than complex queries.
            Use it for simple questions such as "What is the latest version of Python?"
        </description>
        <pricing>
            $1/M input tokens
            $1/M output tokens
        </pricing>
    </simple-query>

    <complex-query>
        <description>
            It's slower and more expensive. Compared to simple queries, it's on average more than 10 times more expensive and 3 times slower.
            Use it for more complex requests like "Analyze the attached code to examine the current status of a specific library and create a migration plan."
        </description>
        <pricing>
            $1/M input tokens
            $5/M output tokens
        </pricing>
    </complex-query>

    <instruction>
        When reviewing the user's request, if you find anything unexpected, uncertain, or questionable, **and you think you can get answer from the internet**, do not hesitate to use the "ask_perplexity" tool to consult Perplexity. However, if the internet is not required to satisfy users' request, it's meaningless to ask to perplexity.
        Since Perplexity is also an LLM, prompt engineering techniques are paramount.
        Remember the basics of prompt engineering, such as providing clear instructions, sufficient context, and examples
        Include as much context and relevant files as possible to smoothly fulfill the user's request. When adding files as attachments, make sure they are absolute paths.
    </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_KEY或PERPLEXITY_API_KEY 。

  • **模型选择:**配置(在src/perplexity_advanced_mcp/config.py中)将查询类型映射到特定模型:

    • OpenRouter :

      • 简单查询: perplexity/sonar

      • 复杂查询: perplexity/sonar-reasoning

    • 困惑:

      • 简单查询: sonar-pro

      • 复杂查询: sonar-reasoning-pro

开发背景与理念

这个项目源于我个人的好奇心和实验。顺应最近的“氛围编码”潮流,超过 95% 的代码都是通过Cline + Cursor IDE 编写的。俗话说“说话不费力,代码见分晓”——有了Wispr Flow的语音转文本功能,我只需开口说话,代码就能出来!大部分开发工作都是我通过说“帮我写 xyz 的代码,修复 xyz 的错误”之类的指令,然后按下回车键完成的。值得一提的是,创建这个功能齐全的项目只花了不到几个小时。

从项目脚手架到文件结构,所有内容均通过 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 许可。

Available Tools

1 tool
ask_perplexityA

Perplexity is fundamentally an LLM that can search the internet, gather information, and answer users' queries.

    For example, let's suppose we want to find out the latest version of Python.
    1. You would search on Google.
    2. Then read the top two or three results directly to verify.

    Perplexity does that work for you.

    To answer a user's query, Perplexity searches, opens the top search results, finds information on those websites, and then provides the answer.

    Perplexity can be used with two types of queries: simple and complex. Choosing the right query type to fulfill the user's request is most important.

    SIMPLE Query:
    - Cheap and fast (on average, 10x cheaper and 3x faster than complex queries).
    - Suitable for straightforward questions such as "What is the latest version of Python?"
    - Pricing: $1/M input tokens, $1/M output tokens.

    COMPLEX Query:
    - Slower and more expensive (on average, 10x more expensive and 3x slower).
    - Suitable for tasks requiring multiple steps of reasoning or deep analysis, such as "Analyze the attached code to examine the current status of a specific library and create a migration plan."
    - Pricing: $1/M input tokens, $5/M output tokens.

    Instructions:
    - When reviewing the user's request, if you find anything unexpected, uncertain, or questionable, do not hesitate to use the "ask_perplexity" tool to consult Perplexity.
    - Since Perplexity is also an LLM, prompt engineering techniques are paramount.
    - Remember the basics of prompt engineering, such as providing clear instructions, sufficient context, and examples.
    - Include as much context and relevant files as possible to smoothly fulfill the user's request.
    - IMPORTANT: When adding files as attachments, you MUST use absolute paths (e.g., '/absolute/path/to/file.py'). Relative paths will not work.

    Note: All queries must be in English for optimal results.
    
ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesThe query to search for
query_typeYesType of query to determine model selection
attachment_pathsYesAn optional list of absolute file paths to attach as context for the search query

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It explains the search process (searches, opens top results, finds info, provides answer), pricing/speed trade-offs, and prompt engineering requirements. However, it does not explicitly state that the tool is read-only or idempotent, though implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is overly verbose, including examples and pricing details that could be streamlined. While front-loaded with purpose, it contains redundant elaboration (e.g., step-by-step hypothetical) that increases length without proportional benefit.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with three required parameters and no output schema, the description is highly comprehensive. It covers all parameter semantics, usage guidelines, behavioral traits, and even prompt engineering tips, making it fully complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. Description adds significant value: explains query_type enum choices with detailed use cases, and mandates absolute paths for attachment_paths. Also notes English-only for query, which is not in schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states that Perplexity is an LLM that searches the internet to answer queries, with explicit examples (e.g., latest Python version) and differentiation between simple and complex queries. The verb 'ask' plus resource 'perplexity' is specific and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit when-to-use guidance: use when uncertain or questionable, and instructions for choosing query type (simple for straightforward, complex for multi-step analysis). Also mandates English queries and absolute paths for attachments, leaving no ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • First observedask_perplexity

TDQS

A4.6/5.0

Scored across 1 tool

Disambiguation5/5

Only one tool exists, so there is no possibility of confusion with other tools. The tool's purpose is clearly defined.

Naming Consistency5/5

With a single tool, naming consistency is trivially satisfied. The name 'ask_perplexity' follows a clear verb_noun pattern in snake_case.

Tool Count3/5

A single tool is borderline for a server claiming to offer a 'toolkit'. However, the tool is versatile and handles both simple and complex queries, justifying its singular existence.

Completeness5/5

The domain is to answer user queries by searching the internet. The single tool covers all necessary functionality (simple and complex queries) without obvious gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides AI-powered search, research, and reasoning capabilities through integration with Perplexity.ai, offering three specialized tools: general conversational AI, deep research with citations, and advanced reasoning.
    24 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Integrates Perplexity AI's chat capabilities with real-time web search, enabling users to ask questions and receive AI-powered answers with up-to-date information and citations from verified web sources.
    1
    59 npm
    1
    Apache 2.0
  • A
    license
    A
    quality
    D
    maintenance
    Enables advanced web search across multiple search engines (Brave, DuckDuckGo, Google, Bing, Yandex) with intelligent backend selection, full content extraction, and advanced filtering by time, language, geography, and content type.
    3
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Enables web search using Perplexity AI's API, allowing users to search the web with optional recency filters and integration with Claude, Cursor, and other MCP clients.
    1
    MIT