Server data from the Official MCP Registry
Bridge Claude Code with Perplexity Comet for autonomous browsing and tab management
Bridge Claude Code with Perplexity Comet for autonomous browsing and tab management
Valid MCP server (1 strong, 1 medium validity signals). 2 known CVEs in dependencies (0 critical, 2 high severity) Package registry verified. Imported from the Official MCP Registry.
3 files analyzed · 3 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: COMET_PATH
Environment variable: COMET_PORT
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-rapiercraft-perplexity-comet-mcp": {
"env": {
"COMET_PATH": "your-comet-path-here",
"COMET_PORT": "your-comet-port-here"
},
"args": [
"-y",
"perplexity-comet-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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.
| 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.
| 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 |
| 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 |
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
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"]
}
}
}
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)
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"
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
Halt the current agentic task if it goes off track.
Parameters: None
Returns: Confirmation message
Capture a screenshot of the current browser view.
Parameters: None
Returns: PNG image data
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:
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 |
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:
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
Workflow for posting images:
comet_upload checkOnly=true to find file inputscomet_upload filePath="..." selector="..." to attach the file┌─────────────────┐ MCP Protocol ┌──────────────────┐
│ Claude Code │ ◄──────────────────► │ Perplexity │
│ (Your IDE) │ │ Comet MCP │
└─────────────────┘ └────────┬─────────┘
│
Chrome DevTools
Protocol
│
┌────────▼─────────┐
│ Comet Browser │
│ (Perplexity) │
└──────────────────┘
│
┌────────▼─────────┐
│ External │
│ Websites │
└──────────────────┘
| 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 |
| Variable | Description | Default |
|---|---|---|
COMET_PATH | Custom path to Comet executable | Auto-detected |
COMET_PORT | CDP debugging port | 9223 |
# Windows
set COMET_PATH=C:\Custom\Path\comet.exe
# macOS/Linux
export COMET_PATH=/custom/path/to/Comet.app/Contents/MacOS/Comet
Problem: Error: Failed to list targets: ECONNREFUSED
Solutions:
comet_connect to auto-start with correct flagsProblem: WebSocket connection closed during long tasks
Solution: This version handles reconnection automatically. If persistent, increase timeout:
comet_ask prompt="..." timeout=180000
Problem: ECONNRESET errors on Windows
Solution: This version includes PowerShell-based fetch workarounds. Ensure:
Problem: Comet not found on Windows
Solution: Set custom path:
set COMET_PATH=%LOCALAPPDATA%\Perplexity\Comet\Application\comet.exe
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:
%USERPROFILE%\.wslconfig (e.g., C:\Users\YourName\.wslconfig):[wsl2]
networkingMode=mirrored
wsl --shutdown
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.
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.
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
Contributions are welcome. Please read CONTRIBUTING.md before submitting a pull request.
This project is an enhanced fork of comet-mcp by hanzili.
MIT License - see LICENSE for details.
Built with precision by RapierCraft
Be the first to review this server!
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
by Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
by mcp-marketplace · Developer Tools
Scaffold, build, and publish TypeScript MCP servers to npm — conversationally
by mcp-marketplace · Finance
Free stock data and market news for any MCP-compatible AI assistant.
by Taylorwilsdon · Productivity
Control Gmail, Calendar, Docs, Sheets, Drive, and more from your AI