Perplexity MCP Server

by sengokudaikon
Verified

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Provides tools for interacting with Perplexity AI, enabling expert programming assistance through direct questions and maintaining ongoing conversations with persistent chat history.

  • Supports Perplexity's Sonar model variants (sonar-pro, sonar-reasoning-pro) for different AI capabilities, configurable through environment variables.

  • Uses SQLite for persistent storage of chat history data, allowing conversations with Perplexity AI to be continued across sessions.

Perplexity Chat MCP サーバー

Perplexity MCPサーバーは、Perplexity APIへのPythonベースのインターフェースを提供し、応答のクエリ、チャット履歴の維持、会話の管理のためのツールを提供します。環境変数によるモデル設定をサポートし、チャットデータをローカルに保存します。Pythonとsetuptoolsを使用して構築されており、開発環境との統合を目的として設計されています。

MCP サーバーは、モデルが質問したり、会話を続けたり、すべてのチャットを一覧表示したりできるようにすることで、ユーザーがブラウザー上で Perplexity Chat と対話する方法を模倣するように設計されています。

コンポーネント

ツール

  • ask_perplexity : Perplexity を通じて、専門家によるプログラミング支援をリクエストできます。コーディングの解決策、エラーのデバッグ、技術的な説明に重点を置いています。回答には出典と代替案の提案が含まれます。
  • chat_perplexity : Perplexity AI との進行中の会話を維持します。新しいチャットを作成するか、完全な履歴コンテキストを使用して既存のチャットを継続します。将来の継続のためにチャットIDを返します。
  • list_chats_perplexity : Perplexity AI で利用可能なすべてのチャット会話を一覧表示します。チャットID、タイトル、作成日(相対的な時間形式で表示、例:「5分前」、「2日前」)を返します。結果は1ページあたり50件のチャットでページ分けされます。
  • read_chat_perplexity : 特定のチャットの完全な会話履歴を取得します。すべてのメッセージとタイムスタンプを含む完全なチャット履歴を返します。Perplexity へのAPI呼び出しは行われず、ローカルストレージからの読み取りのみを行います。

主な特徴

  • 環境変数によるモデル構成: PERPLEXITY_MODEL環境変数を使用して Perplexity モデルを指定し、柔軟なモデル選択を行うことができます。PERPLEXITY_MODEL_ASKPERPLEXITY_MODEL_CHATを指定して、それぞれask_perplexityツールとchat_perplexityツールに異なるモデルを使用することもできます。これらはPERPLEXITY_MODELをオーバーライドします。利用可能なモデルについては、 Perplexity のドキュメントで確認できます。
  • 永続的なチャット履歴: chat_perplexityツールは、Perplexity AIとの進行中の会話を管理します。新しいチャットを作成したり、既存のチャットを完全な履歴コンテキストで継続したりできます。将来の継続のためにチャットIDを返します。
  • **進行状況レポート付きのストリーミング応答:**進行状況レポートを使用して、遅い応答によるタイムアウトを防止します。

クイックスタート

前提条件

この MCP サーバーを使用する前に、次のものを用意してください。

  • Python 3.10以上
  • uvxパッケージマネージャーがインストールされている

注: uvx のインストール手順については、こちらを参照してください。

すべてのクライアントの構成

この MCP サーバーを使用するには、クライアントを次の設定で構成します (構成方法はクライアントによって異なります)。

"mcpServers": { "mcp-perplexity": { "command": "uvx", "args": ["mcp-perplexity"], "env": { "PERPLEXITY_API_KEY": "your-api-key", "PERPLEXITY_MODEL": "sonar-pro", "DB_PATH": "chats.db" } } }

環境変数

次の環境変数を使用して MCP Perplexity サーバーを構成します。

変数説明デフォルト値必須
PERPLEXITY_API_KEYPerplexity APIキーなしはい
PERPLEXITY_MODELインタラクションのデフォルトモデルsonar-proいいえ
PERPLEXITY_MODEL_ASKask_perplexityツールの特定モデルPERPLEXITY_MODELを使用するいいえ
PERPLEXITY_MODEL_CHATchat_perplexityツールの特定モデルPERPLEXITY_MODELを使用するいいえ
DB_PATHチャット履歴データベースを保存するパスchats.dbいいえ
WEB_UI_ENABLEDWeb UI を有効または無効にするfalseいいえ
WEB_UI_PORTWeb UI 用のポート8050いいえ
WEB_UI_HOSTWeb UIのホスト127.0.0.1いいえ
DEBUG_LOGS詳細ログを有効にするfalseいいえ

Smithery CLIの使用

npx -y @smithery/cli@latest run @daniel-lxs/mcp-perplexity --config "{\"perplexityApiKey\":\"pplx-abc\",\"perplexityModel\":\"sonar-pro\"}"

使用法

困惑を尋ねる

ask_perplexityツールは特定の質問に使用されます。このツールはチャット履歴を保持せず、すべてのリクエストが新しいチャットになります。

ツールは、指定されている場合はPERPLEXITY_MODEL_ASKモデルを使用して Perplexity AI からの応答を返します。指定されていない場合は、 PERPLEXITY_MODELモデルを使用します。

チャットの困惑

chat_perplexityツールは進行中の会話に使用され、チャット履歴を管理します。チャットはチャットIDで識別され、このIDは新しいチャットが作成された際にツールによって返されます。チャットIDはwild-horse-12のような形式です。

このツールは、デバッグ、調査、およびチャット履歴を必要とするその他のタスクに役立ちます。

ツールは、指定されている場合はPERPLEXITY_MODEL_CHATモデルを使用して Perplexity AI からの応答を返します。指定されていない場合は、 PERPLEXITY_MODELモデルを使用します。

リストチャットの困惑

利用可能なすべてのチャット会話を一覧表示します。チャットID、タイトル、作成時刻(相対形式)を示すpage区切りのチャットリストを返します。page引数を使用してページ番号を指定できます(デフォルトは1で、1ページあたり50件のチャットが表示されます)。

チャットの混乱を読む

指定されたchat_idの完全な会話履歴を取得します。このツールは、チャット内のすべてのメッセージ(タイムスタンプと役割(ユーザーまたはアシスタント)を含む)を返します。このツールはPerplexityへのAPI呼び出しは行わず、ローカルデータベースからの読み取りのみを行います。

ウェブUI

MCP Perplexity サーバーに、チャットのやり取りと管理を容易にする Web インターフェイスが追加されました。

特徴

  • インタラクティブなチャットインターフェース
  • チャット履歴管理
  • リアルタイムメッセージ表示

スクリーンショット

チャットリストビュー

チャットインターフェース

Web UI へのアクセス

WEB_UI_ENABLED trueに設定すると、Web UI はhttp://WEB_UI_HOST:WEB_UI_PORTで利用できるようになります。

デフォルトでは、 http://127.0.0.1:8050です。

発達

このプロジェクトでは、開発とビルドにsetuptoolsを使用します。始めるには:

  1. 仮想環境を作成します。
    python -m venv .venv source .venv/bin/activate # On Linux/macOS # or .venv\Scripts\activate # On Windows
  2. すべての依存関係を含むプロジェクトを編集可能モードでインストールします。
    pip install -e .
  3. プロジェクトをビルドします。
    python -m build

仮想環境には、開発に必要なすべての依存関係が含まれます。

貢献

このプロジェクトは貢献を歓迎します。詳細については、 CONTRIBUTING.mdファイルをご覧ください。

ライセンス

このプロジェクトはMITライセンスの下で提供されています。詳細はLICENSEファイルをご覧ください。

-
security - not tested
A
license - permissive license
-
quality - not tested

専門家によるプログラミング支援のための ask_perplexity と、コンテキストを保持しながら進行中の会話を維持するための chat_perplexity という 2 つのツールを通じて、Perplexity AI モデルへのアクセスを提供します。

  1. Components
    1. Tools
  2. Key Features
    1. Quickstart
      1. Prerequisites
      2. Configuration for All Clients
    2. Environment Variables
      1. Using Smithery CLI
    3. Usage
      1. ask_perplexity
      2. chat_perplexity
      3. list_chats_perplexity
      4. read_chat_perplexity
    4. Web UI
      1. Features
      2. Screenshots
      3. Accessing the Web UI
    5. Development
      1. Contributing
        1. License
          ID: nov1aw96ar