comet-mcp
Comet MCP connects Claude to Perplexity Comet for agentic web browsing and deep research, enabling intelligent task delegation in an isolated environment.
Agentic Web Research - Delegate complex web tasks like navigation, login flows, form filling, and dynamic content interaction to Perplexity AI, while Claude stays focused on coding
Browser Connection - Connects to a dedicated, isolated Comet browser instance (port 9223) that auto-starts and runs separately from your personal browser
Task Management - Initiate tasks with
comet_ask, monitor progress withcomet_poll, and stop running tasks withcomet_stopif they deviate from goalsMode Switching - Change Perplexity's operational mode using
comet_mode: 'search' (basic), 'research' (deep), 'labs' (analytics/visualization), or 'learn' (educational)Research Organization - List, create, and save current research to organized folders/spaces within Perplexity using
comet_foldersLibrary Search - Query your Perplexity research history with
comet_libraryto find and reference past research threadsVisual Context - Capture screenshots of the current web page with
comet_screenshotfor visual verificationComplete Results - Retrieve full research responses without truncation, with first-time login guidance for Perplexity sign-in
Connects to Perplexity Comet to enable agentic web browsing, deep research, and real-time task monitoring. The server allows agents to delegate complex browsing tasks, navigate dynamic websites, manage research folders, and search through Perplexity research history.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@comet-mcpresearch the top AI frameworks in 2025 and summarize the findings"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
comet-mcp
Give Claude Code a browser that thinks.
An MCP server that connects Claude Code to Perplexity Comet - enabling agentic web browsing, deep research, and real-time task monitoring.

What's New in v3.0
Isolated MCP Instance - Uses a dedicated Comet browser (port 9223) - your personal tabs are never touched
Full Research Text - Fixed truncation issue, now returns complete research responses
Reliable Startup - Auto-retry logic, kills stale processes, extended timeouts
Login Detection - First-time setup prompts for Perplexity sign-in
Visual Indicator - MCP Comet shows "[MCP]" badge so you know which browser is which
Research Spaces - Save and organize research into spaces
Library Search - Search your existing Perplexity research history
Related MCP server: Perplexity MCP Server
Why?
Existing web tools for Claude Code fall into two categories, both with limitations:
1. Search APIs (Tavily, Perplexity API, WebFetch)
Return static text. No interaction, no login, no dynamic content. Great for quick lookups, but can't navigate complex sites or fill forms.
2. Browser Automation (browser-use, Puppeteer MCP, Playwright MCP)
Can interact with pages, but use a one-agent-do-all approach: the same reasoning model that's writing your code is also deciding where to click, what to type, and how to navigate. This overwhelms the context window and fragments focus.
3. Comet MCP: Multi-Agent Delegation
Comet MCP takes a different approach. Instead of Claude controlling a browser directly, it delegates to Perplexity Comet - an AI purpose-built for web research and browsing.
Claude stays focused on your coding task
Comet handles the browsing: navigation, login walls, dynamic content, deep research
Result: Claude's coding intelligence + Perplexity's web intelligence, working together
Installation (3 Steps)
Step 1: Install Comet Browser
Download: https://www.perplexity.ai/comet
Step 2: Add to Claude Code
Add to ~/.claude.json:
{
"mcpServers": {
"comet": {
"command": "npx",
"args": ["-y", "comet-mcp"]
}
}
}Step 3: macOS Setup (One-time)
Run the setup script to create an isolated MCP browser:
curl -sL https://raw.githubusercontent.com/hanzili/comet-mcp/main/scripts/setup-macos.sh | bashMCP_APP="$HOME/.comet-mcp/Comet-MCP.app"
mkdir -p "$HOME/.comet-mcp"
cp -R "/Applications/Comet.app" "$MCP_APP"
/usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier ai.perplexity.comet.mcp" "$MCP_APP/Contents/Info.plist"
codesign --force --deep --sign - "$MCP_APP"First Use
Restart Claude Code
Say: "Connect to Comet"
Login to Perplexity in the MCP window (first time only)
Done!
Verify Installation
To verify the MCP server is working:
npx comet-mcp --helpOr check Claude Code recognizes the tools:
You: "What Comet tools do you have?"
Claude: [lists comet_connect, comet_ask, comet_poll, etc.]Try It
You: "Use Comet to research the top AI frameworks in 2025"
Claude: [delegates to Comet, monitors progress, returns results]
You: "Log into my GitHub and check my notifications"
Claude: [Comet handles the login flow and navigation]
You: "Save this research to my 'AI Projects' space"
Claude: [uses comet_folders to organize research into spaces]Tools
Tool | Description |
| Connect to MCP-dedicated Comet (auto-starts, isolated from personal browser) |
| Send a task and wait for response |
| Check progress on long-running tasks |
| Stop current task |
| Capture current page |
| Switch modes: search, research, labs |
| List, create, or save to research spaces |
| Search your existing Perplexity research |
Skills (Claude Code)
Comet MCP includes a bundled Skill that teaches Claude how to use the tools effectively.
Install Skill (Optional)
Download and install the skill to your personal skills directory:
mkdir -p ~/.claude/skills
curl -sL https://raw.githubusercontent.com/hanzili/comet-mcp/main/skills/comet-research/SKILL.md \
-o ~/.claude/skills/comet-research.mdOr if you cloned the repo:
mkdir -p ~/.claude/skills
cp -r skills/comet-research ~/.claude/skills/What the Skill Does
The comet-research skill:
Teaches Claude when to use each tool
Provides mode selection guidance (search vs research vs labs)
Includes best practices and error handling
Formats research output with citations
Trigger Phrases
The skill activates when you say things like:
"Research the latest..."
"Look up information about..."
"Find out what..."
"What's the current news on..."
Manual Invocation
You can also invoke directly:
/comet-research [your research topic]How It Works
Claude Code → MCP Server → CDP (port 9223) → MCP Comet → Perplexity AI
(reasoning) (bridge) (isolated) (web browsing)Port 9223: MCP uses its own port, never touches your personal Comet (9222)
Separate Profile: Data stored in
~/.comet-mcp, completely isolatedVisual Badge: MCP Comet shows "[MCP]" indicator so you know which is which
Claude sends high-level goals ("research X", "log into Y"). Comet figures out the clicks, scrolls, and searches. Results flow back to Claude.
Requirements
Node.js 18+ (LTS recommended)
Claude Code (or any MCP client)
Supported platforms: macOS, Windows, WSL2
Windows & WSL Support
Native Windows
Works out of the box. Comet MCP auto-detects Windows and launches Comet from its default install location.
WSL2 (Windows Subsystem for Linux)
WSL2 requires mirrored networking to connect to Comet running on Windows:
Enable mirrored networking (one-time setup):
# Create/edit %USERPROFILE%\.wslconfig (Windows side) [wsl2] networkingMode=mirroredRestart WSL:
wsl --shutdown # Then reopen your WSL terminalThat's it! Comet MCP auto-detects WSL and uses PowerShell to communicate with Windows.
If mirrored networking isn't available, you'll see a helpful error message with setup instructions.
Custom Comet Path
If Comet is installed in a non-standard location:
{
"mcpServers": {
"comet-bridge": {
"command": "npx",
"args": ["-y", "comet-mcp"],
"env": {
"COMET_PATH": "/path/to/your/Comet"
}
}
}
}Troubleshooting
"Cannot connect to Comet"
macOS: Ensure Comet is installed at
/Applications/Comet.appand you've run the one-time setup to create~/.comet-mcp/Comet-MCP.appWindows: Comet should be in
%LOCALAPPDATA%\Perplexity\Comet\Application\MCP uses port 9223 (not 9222) - check if available
"MCP Comet closes my personal Comet" (macOS)
You need to create the separate app bundle first (see "macOS: Create Isolated App Bundle" above)
Without this, Electron's single-instance lock will replace your personal browser
"Not logged in" message
Log into Perplexity in the MCP Comet browser window (the one with [MCP] badge)
Then call
comet_connectagain
"WSL cannot connect to Windows localhost"
Enable mirrored networking (see WSL section above)
Or run Claude Code from Windows PowerShell instead of WSL
"Tools not showing in Claude"
Restart Claude Code after config changes
"Research text is truncated"
Upgrade to v3.0.0 - this issue is fixed
Use
comet_pollfor long research to get full results
License
MIT
Available Tools
8 toolscomet_askA
Send a prompt to Comet/Perplexity and wait for the complete response (blocking). Ideal for tasks requiring real browser interaction (login walls, dynamic content, filling forms) or deep research with agentic browsing.
| Name | Required | Description | Default |
|---|---|---|---|
| prompt | Yes | Question or task for Comet - focus on goals and context | |
| newChat | No | Start a fresh conversation (default: false) | |
| timeout | No | Max wait time in ms (default: 15000 = 15s) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the blocking nature and ideal use cases, but lacks details on potential side effects, error handling, or response format. It doesn't mention authentication needs, rate limits, or what constitutes a 'complete response.'
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise and front-loaded: the first sentence states the core functionality, and the second provides usage guidelines. Every sentence earns its place with no wasted words or redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (3 parameters, no output schema, no annotations), the description is adequate but has gaps. It explains the purpose and ideal use cases well, but doesn't address what the response looks like, error conditions, or how it differs from sibling tools. For a tool that interacts with an external service, more behavioral context would be helpful.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, so parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema. The baseline score of 3 reflects that the schema adequately covers parameter semantics without needing description reinforcement.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Send a prompt to Comet/Perplexity and wait for the complete response (blocking).' It specifies the verb ('send'), resource ('Comet/Perplexity'), and behavior ('blocking'). However, it doesn't explicitly differentiate from sibling tools like comet_connect or comet_poll, which likely handle different aspects of Comet interaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: 'Ideal for tasks requiring real browser interaction (login walls, dynamic content, filling forms) or deep research with agentic browsing.' This gives specific scenarios when to use this tool, but it doesn't explicitly mention when NOT to use it or name alternatives among the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_connectA
Connect to Comet browser (auto-starts if needed)
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses that the tool may auto-start the browser, a key behavioral trait. However, it does not mention side effects, permissions, or confirm whether it blocks or returns a status.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no extraneous words. Every part adds value, achieving maximum conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given zero parameters and no output schema, the description is minimally sufficient but lacks details on return behavior or blocking nature. It could be more informative without being verbose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0 parameters, so no parameter description is needed. According to guidelines, 0 parameters yields a baseline of 4, meriting credit for having no missing param info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Connect' and the resource 'Comet browser', with added context 'auto-starts if needed'. This distinguishes it from sibling tools like comet_ask, comet_stop, etc., which are clearly different actions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this tool is used to establish a connection or start the browser, but provides no explicit guidance on when to use it versus alternatives, nor any conditions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_foldersB
Manage research folders in Perplexity. List existing folders, create new ones, or save current research to a folder.
| Name | Required | Description | Default |
|---|---|---|---|
| action | No | Action: 'list' folders, 'create' new folder, 'save' current research to folder | |
| name | No | Folder name (required for 'create' and 'save' actions) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions actions but fails to describe key traits such as authentication needs, rate limits, error handling, or what 'save current research' entails (e.g., does it overwrite existing content?). This is inadequate for a mutation tool (create/save) with zero annotation coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is highly concise and front-loaded, using a single sentence that efficiently lists all key actions without any wasted words. Every part of the sentence earns its place by directly informing the tool's capabilities.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (multiple actions including mutations like create/save), lack of annotations, and no output schema, the description is incomplete. It doesn't address behavioral aspects (e.g., side effects, response format) or provide enough context for safe and effective use, falling short of what's needed for such a tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already documents both parameters (action and name) thoroughly. The description adds no additional meaning beyond what's in the schema (e.g., it doesn't clarify format for 'name' or constraints for 'save'), resulting in the baseline score of 3 where the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('list', 'create', 'save') and resource ('research folders in Perplexity'), making it immediately understandable. However, it doesn't differentiate this tool from its siblings (like comet_library or comet_connect), which might have overlapping or related functionality, preventing a perfect score.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage through the listed actions ('list existing folders', 'create new ones', 'save current research'), but it lacks explicit guidance on when to choose this tool over alternatives (e.g., vs. comet_library for research management) or any prerequisites. This leaves the agent with some uncertainty about optimal usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_libraryB
Search your Perplexity library for existing research. Returns past research threads matching your query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Search query to find past research |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states the tool searches and returns matching threads, but lacks details on permissions, rate limits, pagination, or error handling. For a search tool with zero annotation coverage, this leaves significant gaps in understanding its operational behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded, consisting of two clear sentences that directly state the action and outcome without unnecessary details. Every sentence earns its place by conveying essential information efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity (search operation with one parameter) and no annotations or output schema, the description is minimally adequate. It covers the basic purpose but lacks details on behavioral traits, usage context, or return format, leaving room for improvement in completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the 'query' parameter documented as 'Search query to find past research'. The description adds minimal value beyond this, only implying the query is used to match threads. Since the schema does the heavy lifting, the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose with specific verbs ('search', 'returns') and resources ('Perplexity library', 'past research threads'), making it immediately understandable. However, it doesn't explicitly differentiate from sibling tools like 'comet_ask' or 'comet_folders', which might also involve research-related operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It mentions searching for 'existing research' but doesn't clarify if this is for retrieving saved results, finding related threads, or other contexts, nor does it reference sibling tools like 'comet_ask' for new research queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_modeA
Switch Perplexity search mode. Modes: 'search' (basic), 'research' (deep research), 'labs' (analytics/visualization), 'learn' (educational). Call without mode to see current mode.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Mode to switch to (optional - omit to see current mode) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Without annotations, the description carries the full burden. It discloses that calling without mode retrieves the current state (read behavior) and calling with mode switches it (write behavior). However, it does not mention any side effects, prerequisites, or what happens on failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise, using three short sentences. It front-loads the action and lists modes efficiently, with no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple, but the description lacks details about return values (e.g., confirmation or error messages). It implies a read behavior without mode but does not specify output format. Given the simplicity, it is somewhat adequate but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with an enum and description. The description adds value by explaining each mode's purpose in parentheses, which is more informative than the enum labels alone. This complements the schema effectively.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Switch' and the resource 'Perplexity search mode', listing all modes with brief explanations. It distinguishes from sibling tools (e.g., comet_ask, comet_connect) by focusing solely on mode management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs when to call without a mode to see the current mode, providing clear usage context. However, it does not offer guidance on when to use specific modes or alternatives among the modes themselves.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_pollA
Check agent status and progress. Call repeatedly to monitor agentic tasks.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must disclose behavior. It implies a read-only, safe polling operation by saying 'check' and 'monitor', but does not mention what happens if the agent is idle or fails, nor any rate limits. Adequate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no wasted words. Front-loaded with purpose, then usage hint. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is mostly complete for a simple no-param polling tool: what it does and how to use it. It lacks detail on return format, but given no output schema, the agent can infer a status summary. Slight gap in describing the response nature.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are no parameters (schema coverage 100% trivially), so the baseline is 4. The description adds meaning about repeated calls, which is helpful for an empty-schema tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it checks agent status and progress, with the verb 'check' and resource 'agent status/progress'. It distinguishes from siblings like comet_ask (single query) and comet_stop (stop) by emphasizing repeated calling for monitoring.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says 'Call repeatedly to monitor agentic tasks', giving clear when-to-use context for polling. It does not explicitly exclude alternatives, but the purpose is well-defined given sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_screenshotB
Capture a screenshot of current page
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are given, and the description does not disclose any behavioral traits like required permissions, side effects (e.g., page scrolling), or output format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that directly states the tool's purpose, with no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of an output schema, the description should explain what the tool returns (e.g., image data or a file path), but it does not, leaving the agent uninformed about the output.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With zero parameters and 100% schema coverage, the description meets the baseline of 4, as there is no additional parameter information needed beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Capture a screenshot' and the resource 'current page', distinguishing it from sibling tools like comet_ask, comet_tabs, etc.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives, such as comet_tabs for navigation or comet_upload for file operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
comet_stopA
Stop the current agent task if it's going off track
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes the core behavior (stop a task), but lacks detail on side effects, reversibility, or post-stop state. Without annotations, the description carries the full burden and is minimally adequate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no extraneous words, fully front-loaded with action and condition. Every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple stop tool with no params or output schema, the description is sufficient to understand purpose and usage condition. Minor improvement could include mention of irreversibility or effect on subsequent tasks.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has no parameters, so the description cannot add meaning beyond the schema. Baseline score of 4 applies per guidelines.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states the action ('stop') and resource ('current agent task'), with a specific condition ('if it's going off track'). Distinguishes from sibling tools like comet_ask or comet_connect by its specific verb and context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a clear condition for use ('if it's going off track'), implying when to invoke. However, no explicit mention of when not to use or alternatives, which would fully round out the guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
8 tool updates
v3.0.0- First observed
comet_ask - First observed
comet_connect - First observed
comet_folders - First observed
comet_library - First observed
comet_mode - First observed
comet_poll - First observed
comet_screenshot - First observed
comet_stop
TDQS
Scored across 8 tools
Most tools have distinct purposes, but 'comet_ask' and 'comet_poll' could cause confusion as both relate to agentic tasks. 'comet_ask' initiates a task, while 'comet_poll' monitors it, which might lead to misselection if an agent misunderstands their roles. Otherwise, tools like 'comet_folders', 'comet_library', and 'comet_screenshot' are clearly differentiated.
All tools follow a consistent 'comet_' prefix with snake_case naming, such as 'comet_ask', 'comet_connect', and 'comet_folders'. This predictable pattern makes it easy for agents to identify and use the tools without confusion, enhancing usability across the set.
With 8 tools, the count is well-scoped for a Comet/Perplexity integration server. Each tool serves a specific function, from connection and mode switching to research management and task control, without feeling bloated or insufficient for the domain's needs.
The tool set covers core workflows like connecting, querying, managing research, and controlling tasks, but there are minor gaps. For example, no tool explicitly handles disconnecting from Comet or clearing/resetting sessions, which agents might need for robust operation. However, the existing tools support most essential interactions effectively.
Maintenance
Related MCP Connectors
The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.
Stealth web browser for agents: search, fetch, click, download and type in persistent MCP sessions.
A paid remote MCP for AI agent browser approval MCP, built to return verdicts, receipts, usage logs,
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
Related MCP Servers
- AlicenseAqualityDmaintenanceAn MCP server that enables Claude to perform web searches using Perplexity's API with intelligent model selection based on query intent and support for domain and recency filtering.64MIT
- AlicenseAqualityDmaintenanceMCP server that enables Claude to request chat completions with citations from the Perplexity API.1MIT
- AlicenseAqualityFmaintenanceConnects Claude to Perplexity Comet's agentic browser for autonomous web browsing, deep research, and real-time task monitoring. Enables Claude to delegate web research tasks and receive comprehensive results through multiple browsing modes.663 npm180MIT
- AlicenseAqualityCmaintenanceConnects Claude Code to the Perplexity Comet browser to enable autonomous web browsing and agentic research. It features multi-tab management, smart completion detection, and a specialized tool set for organized information retrieval.8113 npm2-