Skip to main content
Glama
code-yeongyu

Perplexity Advanced MCP

困惑の高度なMCP

GitHub パイパイ 鍛冶屋のバッジ

韓国語


概要

Perplexity Advanced MCPは、 OpenRouterおよびPerplexity APIを活用し、強化されたクエリ処理機能を提供する高度な統合パッケージです。直感的なコマンドラインインターフェースと堅牢なAPIクライアントを備えたこのパッケージは、単純なクエリから複雑なクエリまで、AIモデルとのシームレスな連携を実現します。

Related MCP server: Perplexity MCP Server

perplexity-mcpとの比較

perplexity-mcp はPerplexity AI の API を使用して基本的な Web 検索機能を提供しますが、Perplexity Advanced MCP はいくつかの追加機能を提供します。

  • マルチベンダーサポート: Perplexity APIとOpenRouter APIの両方をサポートし、プロバイダーを柔軟に選択できます。

  • **クエリタイプの最適化:**単純なクエリと複雑なクエリを区別し、コストとパフォーマンスを最適化します。

  • **ファイル添付のサポート:**クエリにファイルの内容をコンテキストとして含めることができるため、より正確でコンテキストに基づいた応答が可能になります。

  • **強化された再試行ロジック:**信頼性を向上させる堅牢な再試行メカニズムを実装します

全体として、これはClineやCursorなどのエディターと統合されたときにコードベースを処理するのに最も適した MCP です。

特徴

  • **統合 API クライアント:**単純なクエリと複雑なクエリを処理するための構成可能なモデルを備えたOpenRouter API とPerplexity API の両方をサポートします。

  • コマンドライン インターフェイス (CLI): Typerを使用して API キー構成を管理し、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内) は、クエリ タイプを特定のモデルにマッピングします。

    • オープンルーター:

      • シンプルなクエリ: perplexity/sonar

      • 複雑なクエリ: perplexity/sonar-reasoning

    • 困惑:

      • シンプルなクエリ: sonar-pro

      • 複雑なクエリ: sonar-reasoning-pro

開発の背景と理念

このプロジェクトは、私の個人的な好奇心と実験から生まれました。最近の「バイブコーディング」のトレンドに倣い、コードの95%以上をCline + Cursor IDEで作成しました。「話すのは簡単、コードを見せて」と言われますが、 Wispr Flowの音声テキスト変換機能を使えば、文字通り話しかけるだけでコードが表示されました!開発の大部分は、「xyzのコードを書いて、ここのバグをxy zに修正して」などと指示してEnterキーを押すだけで完了しました。驚くべきことに、この完全に機能するプロジェクトの作成には数時間もかかりませんでした。

プロジェクトのスキャフォールディングからファイル構造まで、すべてLLMで作成・レビューされました。PyPI公開のためのGitHub Actionsワークフローやリリース承認プロセスもCursorで処理されました。人間の開発者としての私の役割は以下のとおりです。

  • AIが適切なテストを実施できるようにMCPサーバーの起動と停止を行う

  • 問題が発生した場合はエラーログをコピーして提供する

  • インターネットから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