Perplexity Comet MCP
Overview
Description from the maker (original English)
Bridge Claude Code with Perplexity Comet for autonomous browsing and tab management
PopNx MCP’s three pillars
These three are never merged into one score: opinions, measurements and popularity are different things.
- User voiceiNo reviews yetReviews open together with accounts in a later step
- Our basic checksi2 of 2 passedChecked from public information; code not scanned yet
- UsageiEarly↓ 236/wk · ★ 53
What you can do with it
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
- Connection: Runs on your computer
- Transport: stdio
- Category: Search & AI memory
Install
Pick the AI app you use, then copy the settings.
Before you install
- Basic checks: 2 of 2 passed
- Runs on your computer with your user’s permissions (files, network, apps).
- You fill in yourself:
COMET_PATH,COMET_PORT
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"perplexity-comet": {
"command": "npx",
"args": [
"-y",
"perplexity-comet-mcp"
],
"env": {
"COMET_PATH": "your-value",
"COMET_PORT": "your-value"
}
}
}
}Run this in your terminal
claude mcp add perplexity-comet --env COMET_PATH=your-value --env COMET_PORT=your-value -- npx -y perplexity-comet-mcpFill in the empty values before running it.
Or copy the settings yourself
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"perplexity-comet": {
"command": "npx",
"args": [
"-y",
"perplexity-comet-mcp"
],
"env": {
"COMET_PATH": "your-value",
"COMET_PORT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Or copy the settings yourself
Paste into .vscode/mcp.json in your project
{
"servers": {
"perplexity-comet": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"perplexity-comet-mcp"
],
"env": {
"COMET_PATH": "your-value",
"COMET_PORT": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
Values you fill in
COMET_PATHenvCustom path to Comet browser executable (optional)COMET_PORTenvChrome DevTools Protocol port (default: 9223)
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Which apps can use it
Based on how this server connects and on each app’s own docs, checked Nov 10, 2026.
Run on your computer in
ClaudeGooseLM StudioMsty StudioCherry StudioCursorVS Code + GitHub CopilotVisual StudioWindsurf (Devin Desktop)ZedKiroClineContinueJetBrains AI AssistantClaude CodeCodex CLIGemini CLIOpenCodenodecodeWarpLibreChatRaycast
What it can do
Runs on your computer; the tool list appears in your AI app after you install it.
Basic checksi
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 10, 2026
- ✓ Pass
Maker matches the repo
The registry name was verified with the GitHub account RapierCraft, which owns the repo
- ✓ Pass
Still maintained
Code last changed 5 months ago
- … Not checked yet
Has a licence
We have not read this repo from GitHub yet
- – Not applicable
Endpoint responds
This one runs on your computer; there is no internet endpoint
- – Not applicable
Sign-in with OAuth
Runs on your computer and uses local settings instead
- … Not checked yet
No hidden instructions in tool descriptions
Runs on your computer; we can only read tool lists from internet endpoints
Compared with others in Search & AI memoryi
- More stars than 97% of the other 5876 servers in this category
- Published to the registry more recently than 2% of the other 5876 servers in this category
- Basic checks equal to or better than 100% of the other 5876 servers in this category
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
Common questions
Is Perplexity Comet MCP safe?
It passed 2 of 2 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
What keys or codes does it need?
The registry does not list a required key, though some servers ask you to sign in on first use.
Does it run on my computer or in the cloud?
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
Is it still maintained?
The GitHub repo last changed 5 months ago, and the latest version (2.5.0) reached the registry 10 months ago.
Which apps can use it?
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
What can I use instead?
In the same category: Ruflo, Context7, Metabase
Alternatives
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
README from the maker
Open the README
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Perplexity Comet MCP
A production-grade MCP (Model Context Protocol) server that bridges Claude Code with Perplexity's Comet browser for autonomous web browsing, research, and multi-tab workflow management.
Why Perplexity Comet MCP?
| Approach | Limitation |
|---|---|
| Search APIs | Static text, no interaction, no login support |
| Browser Automation | Single-agent model overwhelms context, fragments focus |
| Perplexity Comet MCP | Claude codes while Comet handles browsing autonomously |
This is a significantly enhanced fork of hanzili/comet-mcp with Windows support, smart completion detection, robust connection handling, and full tab management.
Features
Core Capabilities
- Autonomous Web Browsing - Comet navigates, clicks, types, and extracts data while Claude focuses on coding
- Deep Research Mode - Leverage Perplexity's research capabilities for comprehensive analysis
- Login Wall Handling - Access authenticated content through real browser sessions
- Dynamic Content - Full JavaScript rendering and interaction support
Enhanced Features (New in This Fork)
| Feature | Description |
|---|---|
| Windows/WSL Support | Full compatibility with Windows and WSL environments |
| Tab Management | Track, switch, and close browser tabs with protection |
| Smart Completion | Detect response completion without fixed timeouts |
| Auto-Reconnect | Exponential backoff recovery from connection drops |
| One-Shot Reliability | Pre-operation health checks for consistent execution |
| Agentic Auto-Trigger | Automatically triggers browser actions from natural prompts |
Comparison with Original
| Capability | Original | Enhanced |
|---|---|---|
| Platform Support | macOS | Windows, WSL, macOS |
| Available Tools | 6 | 8 (+comet_tabs, +comet_upload) |
| Completion Detection | Fixed timeout | Stability-based |
| Connection Recovery | None | Auto-reconnect with backoff |
| Tab Management | None | Full registry and control |
| Health Monitoring | None | Cached health checks |
| Last Tab Protection | None | Prevents browser crash |
Installation
Prerequisites
- Node.js 18 or higher
- Perplexity Comet Browser installed
- Claude Code or compatible MCP client
Install via npm
npm install -g perplexity-comet-mcp
Install from Source
git clone https://github.com/RapierCraft/perplexity-comet-mcp.git
cd perplexity-comet-mcp npm install npm run build
Configure Claude Code
Add to your Claude Code MCP settings (~/.claude/settings.json or VS Code settings):
{
"mcpServers": { "comet-bridge": { "command": "node", "args": ["/path/to/perplexity-comet-mcp/dist/index.js"] } } }
Windows Users: Use the full Windows path:
{
"mcpServers": { "comet-bridge": { "command": "node", "args": ["C:\\Users\\YourName\\perplexity-comet-mcp\\dist\\index.js"] } } }
Tools Reference
comet_connect
Establish connection to Comet browser. Auto-launches if not running.
Parameters: None
Returns: Connection status message
Example:
> comet_connect
Comet started with debug port 9223 Connected to Perplexity (cleaned 2 old tabs)
comet_ask
Send a prompt to Comet and wait for the complete response. Automatically triggers agentic browsing for URLs and action-oriented requests.
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
Examples:
# 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
Check status and progress of ongoing tasks. Returns the response if completed.
Parameters: None
Returns: Status (IDLE/WORKING/COMPLETED), steps taken, or final response
Example:
> 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
Halt the current agentic task if it goes off track.
Parameters: None
Returns: Confirmation message
comet_screenshot
Capture a screenshot of the current browser view.
Parameters: None
Returns: PNG image data
comet_tabs
View and manage browser tabs. Essential for multi-tab workflows.
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
Examples:
# 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
Tab Protection:
- Cannot close the last external browsing tab (prevents Comet crash)
- Internal tabs (chrome://, Perplexity UI) are automatically filtered
comet_mode
Switch Perplexity search modes for different use cases.
Parameters:
- mode (optional): "search", "research", "labs", or "learn"
Returns: Current mode or confirmation of switch
| Mode | Use Case |
|---|---|
| search | Quick web searches |
| research | Deep, comprehensive analysis |
| labs | Data analytics and visualization |
| learn | Educational explanations |
comet_upload
Upload files to file input elements on web pages. Essential for posting images to social media, attaching files to forms, or uploading documents.
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
Examples:
# 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:
- #image-upload
- 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
Workflow for posting images:
- Navigate to the post creation page (e.g., Reddit, Twitter)
- Use
comet_upload checkOnly=trueto find file inputs - Use
comet_upload filePath="..." selector="..."to attach the file - Continue with form submission
Architecture
┌─────────────────┐ MCP Protocol ┌──────────────────┐
│ Claude Code │ ◄──────────────────► │ Perplexity │ │ (Your IDE) │ │ Comet MCP │ └─────────────────┘ └────────┬─────────┘ │ Chrome DevTools Protocol │ ┌────────▼─────────┐ │ Comet Browser │ │ (Perplexity) │ └──────────────────┘ │ ┌────────▼─────────┐ │ External │ │ Websites │ └──────────────────┘
Key Components
| Component | Purpose |
|---|---|
index.ts | MCP server and tool handlers |
cdp-client.ts | Chrome DevTools Protocol client with reconnection logic |
comet-ai.ts | Perplexity interaction, prompt submission, response extraction |
types.ts | TypeScript interfaces for tabs, state, and CDP types |
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
COMET_PATH | Custom path to Comet executable | Auto-detected |
COMET_PORT | CDP debugging port | 9223 |
Custom Comet Path
# Windows
set COMET_PATH=C:\Custom\Path\comet.exe
macOS/Linux
export COMET_PATH=/custom/path/to/Comet.app/Contents/MacOS/Comet
Troubleshooting
Connection Issues
Problem: Error: Failed to list targets: ECONNREFUSED
Solutions:
- Ensure Comet browser is installed
- Close any existing Comet instances
- Run
comet_connectto auto-start with correct flags
Problem: WebSocket connection closed during long tasks
Solution: This version handles reconnection automatically. If persistent, increase timeout:
comet_ask prompt="..." timeout=180000
Windows-Specific Issues
Problem: ECONNRESET errors on Windows
Solution: This version includes PowerShell-based fetch workarounds. Ensure:
- PowerShell is available in PATH
- No firewall blocking localhost:9223
Problem: Comet not found on Windows
Solution: Set custom path:
set COMET_PATH=%LOCALAPPDATA%\Perplexity\Comet\Application\comet.exe
WSL-Specific Issues
Problem: WSL cannot connect to Windows localhost:9223
Explanation: WSL2 uses a separate network namespace by default. The MCP uses Chrome DevTools Protocol (CDP) which requires WebSocket connections to Windows localhost.
Solution: Enable WSL mirrored networking:
- Create or edit
%USERPROFILE%\.wslconfig(e.g.,C:\Users\YourName\.wslconfig):
[wsl2]
networkingMode=mirrored
- Restart WSL:
wsl --shutdown
- Open a new WSL terminal and try again.
Alternative: Run Claude Code from Windows PowerShell instead of WSL.
Problem: UNC paths are not supported warnings
Explanation: This is a benign warning from PowerShell when launched from WSL. The MCP handles this automatically.
Tab Management Issues
Problem: Cannot close - this is the only browsing tab
Explanation: This is intentional protection. Comet requires at least one external tab. Open another tab first, then close the unwanted one.
Development
Build from Source
git clone https://github.com/RapierCraft/perplexity-comet-mcp.git
cd perplexity-comet-mcp npm install npm run build
Run in Development
npm run dev
Run Tests
npm test
Project Structure
perplexity-comet-mcp/
├──