chatgpt-remote-browser-mcp
Server Quality Checklist
Latest release: v0.2.2
- Disambiguation2/5
native_browser is a full browser surface that overlaps with nearly every specific tool (navigate, click, type, scroll, screenshot, etc.), making tool selection ambiguous. The specific tools are individually distinct, but the presence of an umbrella tool blurs the boundary between simple actions and the high-level API.
Naming Consistency4/5Most tools follow a consistent imperative verb pattern in snake_case (navigate, click, type, scroll, press, snapshot, screenshot, list_shared_tabs). native_browser breaks the pattern by being a noun rather than a verb, but the overall convention is still readable and predictable.
Tool Count5/5Nine tools is a reasonable size for a browser-control server and fits the well-scoped 3-15 range. The count is not excessive, though native_browser does add some redundancy.
Completeness5/5The set covers the core browser interaction lifecycle: navigation, clicking, typing, scrolling, key presses, reading state, and screenshots. native_browser extends coverage to tab lifecycle, diagnostics, emulation, files, and batch actions, so the domain appears well covered.
Average 3.4/5 across 9 of 9 tools scored. Lowest: 2.8/5.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 1 commit in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI is passing
This repository is licensed under MIT License.
This repository includes a README.md file.
No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.
Tip: use the "Try in Browser" feature on the server page to seed initial usage.
Add a glama.json file to provide metadata about your server.
If you are the author, simply .
If the server belongs to an organization, first add
glama.jsonto the root of your repository:{ "$schema": "https://glama.ai/mcp/schemas/server.json", "maintainers": [ "your-github-username" ] }Then . Browse examples.
Add related servers to improve discoverability.
How to sync the server with GitHub?
Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.
To manually sync the server, click the "Sync Server" button in the MCP server admin interface.
How is the quality score calculated?
The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).
Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.
Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).
Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.
Tool Scores
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry the safety profile (readOnlyHint=true, destructiveHint=false), and the description is consistent with them—no contradiction. The description adds only the 'currently shared' context but does not disclose output format, what the captured image contains, or edge-case behavior when the tab is unavailable.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness3/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single efficient sentence with no waste, which is good, but it borders on under-specification rather than disciplined conciseness. There is room to add value without bloating the text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 4 parameters (1 required), zero parameter descriptions, and no output schema, a one-line description is inadequate. The agent lacks information on the return value (where/how the image is returned), the meaning of labels and fullPage, and the behavior when the handle references an unshared tab.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters2/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, but it mentions none of the four parameters. An agent gets no explanation of what 'labels' does, what 'fullPage' changes, or how 'type' and 'handle' interact, leaving significant ambiguity that the schema alone cannot resolve.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Capture') and resource ('an image of a currently shared tab'), so the core action is clear. However, there is a sibling tool named 'snapshot' whose purpose could overlap, and the description does nothing to differentiate screenshot from it, leaving an agent to guess which to use.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives, no prerequisites stated, and no exclusions. The phrase 'currently shared tab' implies a precondition but does not explicitly state it as a requirement or describe what happens if the tab is not shared.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description notes that typing 'changes browser or external-site state,' which adds some context, but the annotations already indicate readOnlyHint=false and destructiveHint=false. No additional behavioral details are provided about optional parameters like slowly or submit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise and well-structured, with no redundant information or excessive detail. It efficiently conveys the core functionality.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description lacks essential context for correct usage, including parameter explanations, when to use it instead of alternatives, and potential side effects beyond a generic state-change warning. An agent would need to infer much of the behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain any of the five parameters. While handle, ref, and text are somewhat self-explanatory, slowly and submit are ambiguous without further detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Type text into an element') and the context ('in a currently shared tab'), providing a specific verb and resource. It is distinct from sibling tools like click and press, though it does not explicitly name them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines1/5Does 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 such as click or press. It only mentions a side-effect, not usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare destructive/open-world behavior and the description adds capability context such as tab lifecycle, files, and batch actions. No contradiction exists, but concrete side effects (e.g., closing tabs, downloading files, dismissing dialogs) are not spelled out.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness4/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and readable, with the key prerequisite and constraint front-loaded. It avoids boilerplate, though the phrase 'Full high-level' is slightly redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness1/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 65 parameters, nested objects, and no output schema, the description provides only broad categories and leaves the agent without enough information to construct valid calls or interpret results. No return value or error behavior is mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0% and the description does not explain any of the 65 parameters, their relationships, or required combinations. Even the referenced 'opaque handle' is not explicitly mapped to the handle parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies this as the high-level OpenClaw browser control surface for tabs and lists the supported capability categories (tab lifecycle, DOM interaction, evaluation, etc.). It also differentiates it from raw shell/target ID access, though it doesn't name sibling tools explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It instructs the agent to call list_shared_tabs first and pass the opaque handle, and warns that raw shell/target IDs are not accepted. However, it does not explain when to prefer this tool over the sibling actions like navigate, click, or type.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior3/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations indicate non-read-only and non-destructive, which aligns with scrolling. However, the description does not disclose any side effects (e.g., state changes, animation, or limitation when the tab is not shared). It adds minimal behavioral context beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single clear sentence with no unnecessary words. It is concise and to the point, effectively communicating the core action in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too sparse to be complete. It omits parameter details, expected behavior (e.g., what happens if the tab is not shared or if the end of the page is reached), and any output or return value. With no output schema, the description should provide more context but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 3 parameters with 0% description coverage. The description only implicitly references 'pages' with 'one or more pages' but leaves 'handle' and 'direction' entirely unexplained. No effort is made to clarify parameter meaning or constraints, so the description fails to compensate for the schema gaps.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose4/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'scroll' and the object 'a currently shared tab', specifying the action of moving by pages. It distinguishes from navigation, typing, and clicking, though it could be slightly more explicit about the page increment semantics.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 like navigate, type, or click. The description does not mention prerequisites (e.g., tab must be shared) or situations where scrolling is appropriate, leaving the agent to infer context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that pressing a key can change browser or external-site state, which goes beyond the annotations (readOnlyHint=false, destructiveHint=false). It also implies a precondition that the tab must be currently shared, offering useful behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and well-structured, with two short sentences that convey the essential action and side effect without unnecessary detail. It is efficient and easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is adequate for a simple tool with no output schema, but it lacks usage guidance and parameter context. It mentions the shared-tab prerequisite and potential state changes, but does not explain how the handle identifies the tab or what keys are accepted, leaving some gaps for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not mention the parameters 'handle' or 'key' at all, providing no insight into what values they expect or how they relate to the action. Since schema coverage is 0% and the description does not compensate, parameter semantics are completely lacking.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (press a keyboard key) and the target (a currently shared tab). It also distinguishes from sibling tools like type, click, and scroll by specifying 'keyboard key' and 'currently shared tab', making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines2/5Does 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 over alternatives such as type or click. It neither explains the difference between pressing a single key and entering text, nor mentions any prerequisites beyond the tab being shared, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description's 'Read' is consistent with the readOnlyHint=true and destructiveHint=false annotations. It adds useful context that the tab must be 'currently shared,' but it does not mention potential return details or any parameter-dependent behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, focused sentence with no redundant wording. It front-loads the core purpose and is easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness2/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is too sparse to cover the tool's parameter semantics; it does not explain the format enum values, the limit bounds, or the interactive flag, leaving important gaps for correct usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description provides no explanation of handle, limit, format, or interactive. None of the parameters' meanings, defaults, or constraints are conveyed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Read'), the target ('accessible page structure and text'), and the specific scope ('currently shared tab'). This distinguishes it from visual tools like screenshot and navigation tools like navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for extracting text/structure from the shared tab, but it does not explicitly explain when to prefer this tool over siblings such as screenshot or list_shared_tabs. The guidance is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly states that clicking changes browser or external-site state, which is a side effect disclosure. This aligns with the annotations that indicate it is not read-only, and adds specificity about the nature of the change.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, consisting of two short sentences. It is well-structured, clearly stating the action and its side effect without superfluous information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness3/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description gives the core purpose and side effect, but lacks details about parameters, expected outcomes, or error conditions. Given the minimal schema coverage, it leaves out necessary context for an agent to fully understand how to invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters1/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description does not explain any of the five parameters (ref, button, double, handle, modifiers). Since the schema provides no descriptions, the tool description fails to convey the meaning or usage of these parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action (click) and a specific resource (element in a currently shared tab). It clearly distinguishes from sibling tools like type, scroll, and navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides a condition "in a currently shared tab" that guides when to use the tool. However, it does not explicitly compare with alternatives, but the condition implies it is for shared tab contexts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explicitly notes that navigating changes browser and external-site state, which adds meaningful context beyond the annotations that only mark the tool as non-read-only and open-world. This transparency helps agents anticipate side effects.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, direct, and free of unnecessary detail. It front-loads the core action and follows with the key side-effect statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness4/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple navigation action, the description is mostly complete: it states the target, the required URL scheme, and the side effect. It could mention that the handle must come from a prior shared-tab listing, but this is reasonably inferable from the tool name and sibling list.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description maps the URL parameter to an HTTP(S) destination and implies the handle identifies the shared tab, but it does not fully explain the handle's provenance or constraints. Schema provides formats and patterns, so the marginal semantic addition is moderate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: navigating a currently shared tab to an HTTP(S) URL. It also distinguishes this from sibling tools like snapshot or click by specifying the target is a shared tab and the destination is a URL.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines3/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage on an already-shared tab, but it does not explicitly contrast with alternatives such as native_browser for opening new tabs or list_shared_tabs for identifying valid handles. The guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior4/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotation already declares read-only and non-destructive behavior. The description adds important behavioral nuance by specifying that it lists only permitted tabs, not all tabs, which is not directly inferable from the annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Conciseness5/5Is the description appropriately sized, front-loaded, and free of redundancy?
A single, tight sentence conveys the entire purpose and scope with no redundant words or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Completeness5/5Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only list operation with no output schema, the description fully covers what the tool does and the boundary it operates within. No additional context is necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters3/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema coverage is complete, so there is nothing for the description to add. Baseline is 3 per the rubric for high schema coverage with no parameter detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Purpose5/5Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and object ('Chrome tabs'), and delimits the scope with 'only ... permitted by the OpenClaw Selected Tabs access boundary,' clearly distinguishing this tool from the broader browser interaction siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Usage Guidelines4/5Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'only ... currently permitted by ... access boundary' gives an implicit when-to-use: when the agent needs to enumerate tabs within that boundary. It does not explicitly contrast with a sibling alternative, but the boundary condition provides clear usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
GitHub Badge
Glama performs regular codebase and documentation scans to:
- Confirm that the MCP server is working as expected.
- Confirm that there are no obvious security issues.
- Evaluate tool definition quality.
Our badge communicates server capabilities, safety, and installation instructions.
Card Badge
Copy to your README.md:
Score Badge
Copy to your README.md:
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/TommyFive/chatgpt-remote-browser-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server