Skip to main content
Glama
code-yeongyu

Perplexity Advanced MCP

Perplexity Advanced MCP

GitHub PyPI Schmiedeabzeichen

한국어


Überblick

Perplexity Advanced MCP ist ein erweitertes Integrationspaket, das die OpenRouter- und Perplexity -APIs nutzt, um erweiterte Abfrageverarbeitungsfunktionen bereitzustellen. Mit einer intuitiven Befehlszeilenschnittstelle und einem robusten API-Client ermöglicht dieses Paket die nahtlose Interaktion mit KI-Modellen für einfache und komplexe Abfragen.

Related MCP server: Perplexity MCP Server

Vergleich mit Perplexity-MCP

Während perplexity-mcp grundlegende Websuchfunktionen mithilfe der API von Perplexity AI bereitstellt, bietet Perplexity Advanced MCP mehrere zusätzliche Funktionen:

  • Multi-Vendor-Support: Unterstützt sowohl Perplexity- als auch OpenRouter -APIs und bietet Ihnen Flexibilität bei der Wahl Ihres Anbieters

  • Abfragetypoptimierung: Unterscheidet zwischen einfachen und komplexen Abfragen und optimiert so Kosten und Leistung

  • Unterstützung von Dateianhängen: Ermöglicht das Einbeziehen von Dateiinhalten als Kontext in Ihre Abfragen und ermöglicht so präzisere und kontextbezogenere Antworten

  • Verbesserte Wiederholungslogik: Implementiert robuste Wiederholungsmechanismen für verbesserte Zuverlässigkeit

Insgesamt ist dies das am besten geeignete MCP für die Handhabung von Codebasen bei Integration mit Editoren wie Cline oder Cursor .

Merkmale

  • Einheitlicher API-Client: Unterstützt sowohl OpenRouter- als auch Perplexity -APIs mit konfigurierbaren Modellen zur Verarbeitung einfacher und komplexer Abfragen.

  • Befehlszeilenschnittstelle (CLI): Verwalten Sie die API-Schlüsselkonfiguration und führen Sie den MCP-Server mit Typer aus.

  • Erweiterte Abfrageverarbeitung: Enthält die Verarbeitung von Dateianhängen, sodass Sie Kontextdaten in Ihre Abfragen einbeziehen können.

  • Robuster Wiederholungsmechanismus: Nutzt Tenacity für die Wiederholungslogik, um eine konsistente und zuverlässige API-Kommunikation sicherzustellen.

  • Anpassbare Protokollierung: Flexible Protokollierungskonfiguration für detailliertes Debuggen und Laufzeitüberwachung.

Optimale KI-Konfiguration

Für die beste Erfahrung mit KI-Assistenten (z. B. Cursor , Claude für Desktop ) empfehle ich, Ihren Projektanweisungen oder KI-Regeln die folgende Konfiguration hinzuzufügen:

<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>

Diese Konfiguration hilft KI-Assistenten dabei, besser zu verstehen, wann und wie die Perplexity-Suchfunktion verwendet werden soll, und optimiert so sowohl die Kosten als auch die Leistung.

Verwendung

Installation über Smithery

So installieren Sie Perplexity Advanced MCP für Claude Desktop automatisch über Smithery :

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

Schnellstart mit uvx

Der einfachste Weg, den MCP-Server auszuführen, ist die Verwendung von uvx :

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

Sie können die API-Schlüssel auch mithilfe von Umgebungsvariablen konfigurieren:

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

uvx perplexity-advanced-mcp

Notiz:

  • Die gleichzeitige Angabe von OpenRouter- und Perplexity-API-Schlüsseln führt zu einem Fehler

  • Wenn sowohl CLI-Argumente als auch Umgebungsvariablen angegeben werden, haben CLI-Argumente Vorrang

Die CLI ist mit Typer erstellt und gewährleistet eine benutzerfreundliche Befehlszeilenerfahrung.

MCP-Suchtool

Das Paket enthält ein MCP-Suchtool, das über die Funktion ask_perplexity integriert ist. Es unterstützt sowohl einfache als auch komplexe Abfragen und verarbeitet Dateianhänge, um zusätzlichen Kontext bereitzustellen.

  • Einfache Abfragen: Bietet schnelle, effiziente Antworten.

  • Komplexe Abfragen: Ermöglicht detailliertes Denken und unterstützt Dateianhänge im XML-Format.

Konfiguration

  • API-Schlüssel: Konfigurieren Sie entweder OPENROUTER_API_KEY oder PERPLEXITY_API_KEY über Befehlszeilenoptionen oder Umgebungsvariablen.

  • Modellauswahl: Die Konfiguration (in src/perplexity_advanced_mcp/config.py ) ordnet Abfragetypen bestimmten Modellen zu:

    • OpenRouter :

      • Einfache Abfragen: perplexity/sonar

      • Komplexe Abfragen: perplexity/sonar-reasoning

    • Ratlosigkeit :

      • Einfache Abfragen: sonar-pro

      • Komplexe Abfragen: sonar-reasoning-pro

Entwicklungshintergrund und -philosophie

Dieses Projekt entstand aus meiner persönlichen Neugier und Experimentierfreude. Dem aktuellen „Vibe-Coding“ -Trend folgend, wurden über 95 % des Codes mit Cline + Cursor IDE geschrieben. Man sagt ja: „Reden ist billig, zeig mir den Code!“ – und mit der Spracherkennungs-Magie von Wispr Flow musste ich einfach nur reden, und der Code erschien! Der Großteil der Entwicklung erfolgte durch meine Worte wie „Schreib mir den Code für xyz, behebe den Fehler hier xyz“ und das Drücken der Eingabetaste. Bemerkenswerterweise dauerte die Erstellung dieses voll funktionsfähigen Projekts weniger als ein paar Stunden.

Vom Projekt-Scaffolding bis zur Dateistruktur wurde alles über LLM geschrieben und überprüft. Sogar der GitHub Actions-Workflow für die PyPI-Veröffentlichung und der Release-Freigabeprozess wurden über Cursor abgewickelt. Als menschlicher Entwickler bestand meine Aufgabe darin:

  • Starten und Stoppen des MCP-Servers, um der KI die Durchführung ordnungsgemäßer Tests zu erleichtern

  • Kopieren und Bereitstellen von Fehlerprotokollen bei aufgetretenen Problemen

  • Suchen und Bereitstellen von Python MCP SDK -Dokumentation und Beispielen aus dem Internet

  • Anfordern von Änderungen für Code, der nicht korrekt erscheint

In der heutigen Welt, in der vieles automatisiert und ersetzt werden kann, hoffe ich, dass dieses MCP Entwicklern wie Ihnen, die es nutzen, dabei helfen kann, Mehrwerte zu entdecken, die über das bloße Schreiben von Code hinausgehen. Möge dieses Tool Sie dabei unterstützen, ein Entwickler der neuen Ära zu werden, der Entscheidungen und Überlegungen auf höherer Ebene treffen kann.

Entwicklung

So tragen Sie zu diesem Paket bei oder ändern es:

1. Klonen Sie das Repository:

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

2. Abhängigkeiten installieren:

uv sync

3. Beitragen:

Beiträge sind willkommen! Bitte beachten Sie den bestehenden Codestil und die Commit-Richtlinien.

Lizenz

Dieses Projekt ist unter der MIT-Lizenz lizenziert.

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