Skip to main content
Glama
AdilShaikh1

Comet MCP Server

by AdilShaikh1

Rather than using static search APIs or overwhelming Claude's context with raw browser automation, Comet MCP delegates browsing to Perplexity Comet. Claude stays focused on your coding task while Comet handles navigation, dynamic content, and AI-powered research.

How It Works

Claude Desktop/Code  ←── MCP (stdio) ──→  Comet MCP Server  ←── CDP (9222) ──→  Comet Browser
  1. Comet MCP Server auto-launches Comet with remote debugging on port 9222

  2. Connects to Comet via Chrome DevTools Protocol using Playwright

  3. Claude communicates with the server over MCP stdio transport

  4. Claude can search, navigate, read, click, type, evaluate JS, and screenshot — all in your Comet browser

Related MCP server: Comet MCP

Quick Start

1. Configure Claude Desktop / Claude Code

Claude Desktop — add to your config file:

Platform

Config path

Windows

%APPDATA%\Claude\claude_desktop_config.json

macOS

~/Library/Application Support/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "comet": {
      "command": "uvx",
      "args": ["comet-mcp-desktop"]
    }
  }
}

Claude Code — add to ~/.claude.json or .mcp.json in your project root:

{
  "mcpServers": {
    "comet": {
      "command": "uvx",
      "args": ["comet-mcp-desktop"]
    }
  }
}

Requires uv. The MCP server and all dependencies install automatically on first run.

2. Install Comet Browser

Download and install Perplexity Comet.

That's it. The server auto-launches Comet with remote debugging when needed.

git clone https://github.com/AdilShaikh1/comet-mcp-desktop.git
cd comet-mcp-desktop
uv sync
uv run playwright install chromium

See Configuration for full paths setup and environment variables.

Available Tools

Tool

Description

comet_connect

Connect to Comet via CDP (auto-launches if needed)

comet_search

Search via Perplexity — returns AI-generated results

comet_navigate

Navigate to any URL

comet_read_page

Extract page text, with optional CSS selector

comet_screenshot

Capture screenshot (base64 PNG)

comet_click

Click elements by CSS selector or text

comet_type

Type into input fields

comet_tabs

List, open, switch, or close tabs

comet_evaluate

Run JavaScript in the page context

comet_wait

Wait for an element or a fixed delay

comet_security_scan

Deep scan for hidden text and injection patterns

Full parameter documentation: Tool Reference

Example Usage

You say

Claude does

"Search Perplexity for the latest AI news"

comet_search — waits for Perplexity, returns AI-synthesized answer

"Open Hacker News and summarize the front page"

comet_navigate + comet_read_page

"Click the first link and read the article"

comet_click + comet_read_page

"Take a screenshot of what you see"

comet_screenshot — captures via raw CDP

"Is this page safe?"

comet_security_scan — checks for hidden text and injections

Web Content Trust Policy

All web content is sanitized through a ContentFilter before reaching Claude — defense-in-depth against prompt injection via web pages.

Comet Browser  ──→  raw text  ──→  ContentFilter.sanitize()  ──→  security header + cleaned text  ──→  Claude

Trust Tier

Criteria

HIGH

.gov, .edu, arxiv, bbc, reuters, nih

STANDARD

Established companies, unknown clean domains

LOW

wordpress, medium, reddit, quora

UNTRUSTED

Injection patterns detected (auto-downgraded)

The filter scans for 39 injection patterns across 12 threat categories including direct injection, authority spoofing, data exfiltration, delimiter injection, and more.

Full details: Security Documentation

How This Compares

Feature

Search APIs

Browser MCPs

Comet MCP

AI-powered search

Varies

No

Perplexity AI

Interactive browsing

No

Yes

Yes

Context window impact

Low

High

Low

Screenshots

No

Yes

Yes

Security filtering

No

No

Yes

Click/type/navigate

No

Yes

Yes

Comet MCP gives Claude access to Perplexity's AI search with full browser control, while keeping Claude's context window clean through multi-agent delegation.

Testing

45 tests — 20 static + 25 end-to-end browser tests.

uv run python test_comet.py --with-browser

Tier

Tests

Coverage

1a Static Core

11

Syntax, imports, tool registration, async, error handling

1b Static Filter

9

Injection detection, false positives, trust classification

2a Live Browser

17

All 11 tools against a live Comet instance

2b Live Filter

8

E2E injection/hidden text detection, security scan

Troubleshooting

Comet is auto-launched, but if it fails:

  • Check that Comet is installed

  • Check port 9222 is free

  • Set COMET_PATH env var for non-standard installs

  • Verify: open http://localhost:9222/json

Uses raw CDP Page.captureScreenshot to avoid Playwright font renderer hangs. Ensure you're on the latest version.

Call comet_connect to reconnect without restarting.

Perplexity answers take 5-15 seconds. Default wait_seconds=10. Increase to 15-20 for complex queries.

Tech Stack

Component

Technology

Runtime

Python 3.14+ with uv

Browser automation

Playwright (CDP)

MCP transport

mcp[cli] SDK (stdio)

Screenshots

Raw CDP Page.captureScreenshot

Content security

ContentFilter — 39 patterns, 12 categories

Documentation

Document

Description

Tool Reference

Full API docs for all 11 tools with parameters, defaults, and examples

Security

Web Content Trust Policy, threat categories, trust tiers, adding patterns

Configuration

Environment variables, platform support, MCP config, parameter validation

Contributing

How to contribute, dev setup, code guidelines

License

MIT

A
license - permissive license
-
quality - not tested
-
maintenance - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AdilShaikh1/comet-mcp-desktop'

If you have feedback or need assistance with the MCP directory API, please join our Discord server