mcpField
P
perplexity-comet-mcp

perplexity-comet-mcp

ローカル
github.com/RapierCraftブラウザ自動化5318 週間前に更新

perplexity-comet-mcp について

perplexity-comet-mcp は、Claude Code と Perplexity Comet ブラウザーを接続する MCP サーバーです。Claude がコーディングを担当する間、Comet が Web 閲覧、リサーチ、複数タブでのワークフローを自律的に実行します。hanzili/comet-mcp のフォークで、Windows と WSL への対応とタブ管理が追加されています。

主な機能

  1. 01自律的な Web 閲覧とデータ抽出
  2. 02包括的な分析のための Deep Research モード
  3. 03保護機能付きのタブ追跡・切り替え・終了
  4. 04安定性に基づく応答完了の検出
  5. 05指数バックオフによる自動再接続
  6. 06Windows、WSL、macOS への対応

活用シーン

  1. 01コーディング中に Comet で情報を調べ、Web データを取得する
  2. 02ログインが必要な Web コンテンツにアクセスする
  3. 03複数タブのワークフローでブラウザータブを管理する
  4. 04SNS やフォームにファイルをアップロードする

MCP 対応

Chrome DevTools Protocol 経由で Comet ブラウザーを操作し、comet_connect、comet_ask、comet_poll、comet_tabs、comet_upload などのツールを Claude Code などの MCP クライアントに公開する MCP サーバーです。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"rapiercraft-perplexity-comet": {
"command": "npx",
"args": [
"-y",
"perplexity-comet-mcp"
],
"env": {
"COMET_PATH": "<COMET_PATH>",
"COMET_PORT": "<COMET_PORT>"
}
}
}
}
起動コマンドnpx -y perplexity-comet-mcp
設定が必要な環境変数
COMET_PATHCustom path to Comet browser executable (optional)
COMET_PORTChrome DevTools Protocol port (default: 9223)

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmperplexity-comet-mcp2.5.0

ツール

8

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

Perplexity Comet MCP

npm version License: MIT Node.js Version TypeScript MCP Compatible Platform

Claude Code と Perplexity の Comet ブラウザーを連携させ、自律的なウェブ閲覧、調査、複数タブのワークフロー管理を実現する、本番環境向けの MCP(Model Context Protocol)サーバーです。


Perplexity Comet MCP を選ぶ理由

アプローチ制限
検索 API静的なテキストのみで、操作やログインには対応していません
ブラウザー自動化単一エージェントモデルではコンテキストが圧迫され、焦点が分散します
Perplexity Comet MCPClaude がコーディングを行う間、Comet が自律的にブラウジングを処理します

これは hanzili/comet-mcp を大幅に強化したフォークで、Windows 対応、スマートな完了検出、堅牢な接続処理、完全なタブ管理を備えています。


特長

主な機能
  • 自律的なウェブ閲覧 - Claude がコーディングに集中する間、Comet がページを移動し、クリックや入力を行い、データを抽出します
  • ディープリサーチモード - Perplexity の調査機能を活用し、包括的な分析を行います
  • ログインが必要なページへの対応 - 実際のブラウザーセッションを通じて、認証が必要なコンテンツにアクセスします
  • 動的コンテンツ - JavaScript の完全なレンダリングと操作に対応します
強化機能(このフォークで新たに追加)
機能説明
Windows/WSL 対応Windows および WSL 環境に完全対応
タブ管理保護機能付きで、ブラウザータブの追跡、切り替え、終了が可能
スマートな完了検出固定タイムアウトを使わずに応答の完了を検出
自動再接続接続が切断された場合、指数バックオフで復旧
確実な単発実行一貫した実行のため、操作前にヘルスチェックを実行
エージェント型の自動トリガー自然な言葉でのプロンプトから、ブラウザー操作を自動的に開始

オリジナルとの比較

機能オリジナル強化版
プラットフォーム対応macOSWindows、WSL、macOS
利用可能なツール68(+comet_tabs、+comet_upload)
完了検出固定タイムアウト安定性ベース
接続復旧なしバックオフ付き自動再接続
タブ管理なし完全な登録と制御
ヘルスモニタリングなしキャッシュされたヘルスチェック
最後のタブの保護なしブラウザーのクラッシュを防止

インストール

前提条件
  • Node.js 18 以降
  • Perplexity Comet Browser がインストールされていること
  • Claude Code または互換性のある MCP クライアント
npm からインストール
npm install -g perplexity-comet-mcp
ソースからインストール
git clone https://github.com/RapierCraft/perplexity-comet-mcp.git
cd perplexity-comet-mcp
npm install
npm run build
Claude Code の設定

Claude Code の MCP 設定(~/.claude/settings.json または VS Code の設定)に追加します。

{
  "mcpServers": {
    "comet-bridge": {
      "command": "node",
      "args": ["/path/to/perplexity-comet-mcp/dist/index.js"]
    }
  }
}

Windows ユーザー: Windows のフルパスを使用してください。

{
  "mcpServers": {
    "comet-bridge": {
      "command": "node",
      "args": ["C:\\Users\\YourName\\perplexity-comet-mcp\\dist\\index.js"]
    }
  }
}

ツールリファレンス

comet_connect

Comet ブラウザーへの接続を確立します。起動していない場合は自動的に起動します。

Parameters: None
Returns: Connection status message

例:

> comet_connect
Comet started with debug port 9223
Connected to Perplexity (cleaned 2 old tabs)

comet_ask

Comet にプロンプトを送信し、応答が完了するまで待ちます。URL や操作を求めるリクエストに対しては、エージェント型のブラウジングを自動的に開始します。

Parameters:
  - prompt (required): Question or task for Comet
  - newChat (optional): Start fresh conversation (default: false)
  - timeout (optional): Max wait time in ms (default: 120000)

Returns: Complete response text

例:

# Simple research query
> comet_ask "What are the latest features in Python 3.12?"

# Agentic browsing (auto-triggered)
> comet_ask "Go to github.com/trending and list top Python repos"

# Site-specific data extraction
> comet_ask "Check the price of iPhone 15 on amazon.com"

comet_poll

進行中のタスクの状態と進捗を確認します。完了している場合は応答を返します。

Parameters: None
Returns: Status (IDLE/WORKING/COMPLETED), steps taken, or final response

例:

> comet_poll
Status: WORKING
Browsing: https://github.com/trending
Current: Scrolling page

Steps:
  - Preparing to assist you
  - Navigating to github.com
  - Clicking on Trending
  - Scrolling page

comet_stop

エージェント型のタスクが軌道を外れた場合、現在のタスクを停止します。

Parameters: None
Returns: Confirmation message

comet_screenshot

現在のブラウザー画面のスクリーンショットを撮影します。

Parameters: None
Returns: PNG image data

comet_tabs

ブラウザータブを表示、管理します。複数のタブを使うワークフローに不可欠です。

Parameters:
  - action (optional): "list" (default), "switch", or "close"
  - domain (optional): Domain to match (e.g., "github.com")
  - tabId (optional): Specific tab ID

Returns: Tab listing or action confirmation

使用例:

# List all external tabs
> comet_tabs
2 browsing tab(s) open:
  - AGENT-BROWSING: github.com [ACTIVE]
    URL: https://github.com/trending
  - AGENT-BROWSING: stackoverflow.com
    URL: https://stackoverflow.com/questions

# Switch to a tab
> comet_tabs action="switch" domain="stackoverflow.com"
Switched to stackoverflow.com (https://stackoverflow.com/questions)

# Close a tab (protected if last tab)
> comet_tabs action="close" domain="github.com"
Closed github.com

タブの保護:

  • 最後に残った外部ブラウジングタブは閉じられません(Comet のクラッシュを防ぎます)
  • 内部タブ(chrome://、Perplexity UI)は自動的に除外されます

comet_mode

用途に応じて Perplexity の検索モードを切り替えます。

Parameters:
  - mode (optional): "search", "research", "labs", or "learn"

Returns: Current mode or confirmation of switch
モード用途
searchウェブをすばやく検索
research詳細で包括的な分析
labsデータ分析と可視化
learn教育的な解説

comet_upload

ウェブページのファイル入力要素にファイルをアップロードします。ソーシャルメディアへの画像投稿、フォームへのファイル添付、ドキュメントのアップロードに不可欠です。

Parameters:
  - filePath (required): Absolute path to the file to upload
  - selector (optional): CSS selector for specific file input
  - checkOnly (optional): If true, only checks what file inputs exist

Returns: Success message or error with available inputs

使用例:

# Upload an image to the first file input found
> comet_upload filePath="/home/user/screenshot.png"
File uploaded successfully: /home/user/screenshot.png

# Check what file inputs exist on the page
> comet_upload filePath="dummy" checkOnly=true
Found 2 file input(s) on the page:
  1. #image-upload
  2. input[name="attachment"]

# Upload to a specific input
> comet_upload filePath="/home/user/doc.pdf" selector="#attachment-input"
File uploaded successfully: /home/user/doc.pdf

画像を投稿するワークフロー:

  1. 投稿作成ページに移動します(例:Reddit、Twitter)
  2. comet_upload checkOnly=true を使ってファイル入力要素を探します
  3. comet_upload filePath="..." selector="..." を使ってファイルを添付します
  4. フォームの送信を続行します

アーキテクチャ

┌─────────────────┐     MCP Protocol      ┌──────────────────┐
│   Claude Code   │ ◄──────────────────► │  Perplexity      │
│   (Your IDE)    │                       │  Comet MCP       │
└─────────────────┘                       └────────┬─────────┘
                                                   │
                                          Chrome DevTools
                                            Protocol
                                                   │
                                          ┌────────▼─────────┐
                                          │  Comet Browser   │
                                          │  (Perplexity)    │
                                          └──────────────────┘
                                                   │
                                          ┌────────▼─────────┐
                                          │   External       │
                                          │   Websites       │
                                          └──────────────────┘
主なコンポーネント
コンポーネント目的
index.tsMCP サーバーとツールハンドラー
cdp-client.ts再接続ロジックを備えた Chrome DevTools Protocol クライアント
comet-ai.tsPerplexity とのやり取り、プロンプトの送信、応答の抽出
types.tsタブ、状態、CDP 型の TypeScript インターフェース

設定

環境変数
変数説明デフォルト
COMET_PATHComet 実行ファイルのカスタムパス自動検出
COMET_PORTCDP デバッグポート9223
Comet のカスタムパス
# Windows
set COMET_PATH=C:\Custom\Path\comet.exe

# macOS/Linux
export COMET_PATH=/custom/path/to/Comet.app/Contents/MacOS/Comet

トラブルシューティング

接続の問題

問題: Error: Failed to list targets: ECONNREFUSED

解決方法:

  1. Comet ブラウザーがインストールされていることを確認します
  2. 起動中の Comet をすべて終了します
  3. comet_connect を実行して、適切なフラグを付けて自動起動します

問題: 長時間のタスク中に WebSocket connection closed が発生する

解決方法: このバージョンでは再接続が自動的に処理されます。問題が続く場合は、タイムアウトを延長します。

comet_ask prompt="..." timeout=180000

Windows 固有の問題

問題: Windows で ECONNRESET エラーが発生する

解決方法: このバージョンには、PowerShell を使用した fetch の回避策が含まれています。以下を確認してください。

  1. PowerShell が PATH で利用可能である
  2. ファイアウォールが localhost:9223 をブロックしていない

問題: Windows で Comet が見つからない

解決方法: カスタムパスを設定します。

set COMET_PATH=%LOCALAPPDATA%\Perplexity\Comet\Application\comet.exe

WSL 固有の問題

問題: WSL cannot connect to Windows localhost:9223

説明: WSL2 はデフォルトで別のネットワーク名前空間を使用します。MCP は Chrome DevTools Protocol(CDP)を使用するため、Windows の localhost への WebSocket 接続が必要です。

解決方法: WSL のミラーネットワークを有効にします。

  1. %USERPROFILE%\.wslconfig を作成または編集します(例:C:\Users\YourName\.wslconfig)。
[wsl2]
networkingMode=mirrored
  1. WSL を再起動します。
wsl --shutdown
  1. 新しい WSL ターミナルを開き、もう一度試します。

代替方法: WSL ではなく、Windows PowerShell から Claude Code を実行します。


問題: UNC paths are not supported という警告が表示される

説明: これは WSL から起動した場合に PowerShell が出す無害な警告です。MCP が自動的に処理します。


タブ管理の問題

問題: Cannot close - this is the only browsing tab

説明: これは意図的な保護機能です。Comet では外部タブを少なくとも 1 つ開いておく必要があります。先に別のタブを開いてから、不要なタブを閉じてください。


開発

ソースからビルド
git clone https://github.com/RapierCraft/perplexity-comet-mcp.git
cd perplexity-comet-mcp
npm install
npm run build
開発モードで実行
npm run dev
テストを実行
npm test
プロジェクト構成
perplexity-comet-mcp/
├── src/
│   ├── index.ts        # MCP server entry point
│   ├── cdp-client.ts   # CDP connection management
│   ├── comet-ai.ts     # AI interaction logic
│   └── types.ts        # TypeScript definitions
├── dist/               # Compiled JavaScript
├── package.json
├── tsconfig.json
└── README.md

コントリビューション

コントリビューションを歓迎します。プルリクエストを送信する前に、CONTRIBUTING.md をお読みください。

開発ガイドライン
  1. TypeScript の strict モードへの準拠を維持する
  2. 新機能にはテストを追加する
  3. API の変更に応じてドキュメントを更新する
  4. 既存のコードスタイルに従う

帰属

このプロジェクトは、hanzili による comet-mcp を拡張したフォークです。

RapierCraft による主な拡張
  • Windows および WSL のプラットフォームサポート
  • タブ管理システム(comet_tabs ツール)
  • スマートな完了検出
  • 指数バックオフによる自動再接続
  • ヘルスチェックのキャッシュ
  • エージェント型プロンプトの自動変換
  • 最後のタブの保護
  • 内部タブのフィルタリング

ライセンス

MIT ライセンス。詳細は LICENSE をご覧ください。


リンク


RapierCraft によって精密に構築されました

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。