Mcp Perplexity について
Mcp Perplexity は、Perplexity API をラップした Python 製の MCP サーバーです。単発の質問、複数ターンの会話、ローカルに保存されたチャット履歴の管理ツールを提供します。開発環境から Perplexity を利用したい開発者に向いており、チャットデータはローカルに保存されます。
主な機能
- 01単発の質問を行う ask_perplexity ツール
- 02継続的な会話を行う chat_perplexity ツール
- 03ページ区切りで一覧表示する list_chats_perplexity
- 04API を呼ばずに履歴を読む read_chat_perplexity
- 05環境変数によるモデル指定
活用シーン
- 01開発中のコーディングやデバッグに関する質問
- 02既存の会話を続けた技術調査
- 03ローカルデータベースに保存された過去のチャットの確認
MCP 対応
このプロジェクトは MCP サーバーであり、ask_perplexity、chat_perplexity、list_chats_perplexity、read_chat_perplexity の 4 つのツールを MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
4掲載時のツール一覧 · 3 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 解決する技術的な質問または問題 |
詳細
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 minutes ago」「2 days ago」などの相対時間形式で表示)を返します。結果はページ分割され、1 ページにつき 50 件のチャットが表示されます。
- read_chat_perplexity:特定のチャットの会話履歴全体を取得します。すべてのメッセージとタイムスタンプを含む、チャット履歴全体を返します。Perplexity への API 呼び出しは行わず、ローカルストレージから読み取るだけです。
主な機能
-
環境変数によるモデル設定:
PERPLEXITY_MODEL環境変数を使って Perplexity のモデルを指定でき、柔軟にモデルを選択できます。PERPLEXITY_MODEL_ASKとPERPLEXITY_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_KEY | Perplexity API キー | None | はい |
PERPLEXITY_MODEL | やり取りに使用するデフォルトモデル | sonar-pro | いいえ |
PERPLEXITY_MODEL_ASK | ask_perplexity ツール専用のモデル | PERPLEXITY_MODEL を使用 | いいえ |
PERPLEXITY_MODEL_CHAT | chat_perplexity ツール専用のモデル | PERPLEXITY_MODEL を使用 | いいえ |
DB_PATH | チャット履歴データベースの保存先 | chats.db | いいえ |
WEB_UI_ENABLED | Web UI の有効化または無効化 | false | いいえ |
WEB_UI_PORT | Web UI のポート | 8050 | いいえ |
WEB_UI_HOST | Web 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
ask_perplexity ツールは個別の質問に使用します。このツールはチャット履歴を保持せず、リクエストのたびに新しいチャットを開始します。
このツールは、PERPLEXITY_MODEL_ASK が指定されている場合はそのモデルを使用し、指定されていない場合は PERPLEXITY_MODEL モデルを使用して、Perplexity AI からの応答を返します。
chat_perplexity
chat_perplexity ツールは継続的な会話に使用します。このツールはチャット履歴を保持します。
チャットはチャット ID で識別され、新しいチャットが作成されると、この ID がツールから返されます。チャット ID は次のような形式です:wild-horse-12。
このツールは、デバッグ、調査、その他チャット履歴を必要とするあらゆるタスクに役立ちます。
このツールは、PERPLEXITY_MODEL_CHAT が指定されている場合はそのモデルを使用し、指定されていない場合は PERPLEXITY_MODEL モデルを使用して、Perplexity AI からの応答を返します。
list_chats_perplexity
利用可能なすべてのチャット会話を一覧表示します。チャット ID、タイトル、作成時刻(相対形式)を含む、ページ分割されたチャット一覧を返します。page 引数でページ番号を指定できます(デフォルトは 1 で、1 ページあたり 50 件のチャットが表示されます)。
read_chat_perplexity
指定した chat_id の会話履歴全体を取得します。このツールは、ユーザーまたはアシスタントの役割やタイムスタンプを含む、チャット内のすべてのメッセージを返します。このツールは Perplexity への API 呼び出しを行わず、ローカルデータベースから読み取るだけです。
Web 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 を使用します。開始するには、次の手順に従います。
-
仮想環境を作成します:
python -m venv .venv source .venv/bin/activate # On Linux/macOS # or .venv\Scripts\activate # On Windows -
すべての依存関係を含めて、編集可能モードでプロジェクトをインストールします:
pip install -e . -
プロジェクトをビルドします:
python -m build
仮想環境には、開発に必要なすべての依存関係が含まれます。
コントリビューション
このプロジェクトへのコントリビューションを歓迎します。詳細については、CONTRIBUTING.md ファイルをご覧ください。
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については、LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。