chrome-pilot-mcp
Server Quality Checklist
Latest release: v1.1.0
- Disambiguation5/5
Each tool has a clear, dedicated purpose: lifecycle (connect/disconnect/status), tab management (list/select/close), navigation (navigate/back/forward/reload), interaction (click/type/scroll/press_key), page inspection (screenshot/dump_dom/evaluate), and form helpers (fill_form/select_option). No two tools target the same action; even type and fill_form are distinguished by single vs. multi-field.
Naming Consistency5/5All tools are lowercase snake_case with a uniform chrome_ prefix. The second part nearly always follows a verb or verb_noun pattern (e.g., list_tabs, select_tab, click, navigate). This makes the tool set predictable and easy to navigate.
Tool Count3/5At 19 tools, the server is on the heavier side. While each tool is justifiable, several shortcuts (fill_form, select_option) could be composed from more primitive tools, and the count feels more like a comprehensive library than a minimal set. This is borderline appropriate for a browser automation tool.
Completeness4/5Core browser operations are covered: tab lifecycle, navigation, input, screenshots, DOM access, and JS evaluation. However, there is no direct way to create a new tab or wait for conditions, which falls short of full browser automation coverage. These gaps are workable via evaluate, so minor.
Average 3.4/5 across 19 of 19 tools scored.
See the Tool Scores section below for per-tool breakdowns.
- No community issues in the last 6 months
- 0 commits in the last 12 weeks
- No stable releases found
- No critical vulnerability alerts
- No high-severity vulnerability alerts
- No code scanning findings
- CI status not available
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
- Behavior2/5
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. 'Press a keyboard key' only states the action, omitting critical details such as where the key event is sent (active tab, focused element), whether modifiers are supported, and any preconditions like page focus. This is insufficient for safe invocation.
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 short sentence that is front-loaded and contains no redundant words. It is as concise as possible for the given purpose, though it sacrifices helpful context.
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?
Given the tool's simplicity and full schema coverage, one might expect the description to be sufficient, but it lacks essential context about execution environment (active tab), behavior of modifiers, and the meaning of tab_index. The description is too minimal to fully inform an agent about the tool's effects and prerequisites.
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?
Schema description coverage is 100%, with each parameter clearly described (key examples, modifier enum, tab_index purpose). The description adds no information beyond the schema, so the baseline of 3 is appropriate.
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 'Press a keyboard key' uses a specific verb and resource, making the core action clear. However, it does not explicitly distinguish itself from sibling tools like chrome_type, which could also involve keyboard input, so it lacks explicit differentiation.
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 mention of use cases like keyboard shortcuts, single-key actions, or interactions with focused elements. The description provides no contextual cues for choosing this over chrome_type or chrome_click.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
There are no annotations, so the description carries the full burden. It only states the basic action without disclosing any behavioral traits such as side effects, error handling, smoothness, or whether it modifies the DOM. It also doesn't mention what happens when a selector is invalid or matches multiple elements.
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, concise sentence that gets straight to the point. Every word adds value, and it is properly front-loaded with the verb and resource.
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 four optional parameters, no output schema, and no annotations, a one-line description is inadequate. It doesn't explain the tool's context (e.g., which tab is scrolled), return behavior, or edge cases. The description is too minimal to fully guide correct invocation.
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 schema already includes comprehensive descriptions for all four parameters, covering 100% of them. The tool description adds no parameter information, but the schema does the heavy lifting. Since coverage is high, a baseline score of 3 is appropriate.
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 action as 'Scroll' and identifies the resource as 'the page or a specific element.' It uses a specific verb and resource pair, making it clear what the tool does. However, it doesn't explicitly contrast with sibling tools like scroll-to-element or navigation, so it doesn't fully distinguish itself, but the verb is unique enough to be clear.
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 versus alternatives. It doesn't mention prerequisites like having an active browser connection, or when scrolling is preferable to using navigation commands or pressing keys. No exclusions or alternative recommendations are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description provides only a basic action and does not disclose behavioral traits such as handling of delay, clearing the field, event dispatch, or failure behavior. With no annotations, the description carries the full burden, which is not met.
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, front-loaded sentence that immediately states the tool's primary function. It is concise without unnecessary words.
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?
Given the tool's complexity (5 parameters) and lack of output schema, the description is insufficiently complete. It does not explain return values, when to use it, or edge cases, leaving the agent with gaps.
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?
All five parameters have clear descriptions in the input schema, and the tool description does not add any additional parameter semantics. Since schema coverage is 100%, the baseline of 3 applies.
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 uses a specific verb ('Type') and specifies the target ('focused element or a specific element by selector'), making the tool's function clear. It does not explicitly differentiate from sibling tools like chrome_fill_form or chrome_press_key, but the action is distinct enough.
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. The description does not mention scenarios, prerequisites, or exclusions, leaving the agent to infer usage from the name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior1/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for behavioral disclosure, but it only states the action without revealing side effects like potential page navigation, error handling if the element is not found, or whether it scrolls into view. Clicking is a mutating operation, yet the description offers no safety or failure information.
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, well-structured sentence that front-loads the action and method. There is zero wasted language, and the structure is appropriately compact for the tool's simplicity.
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?
Despite full schema coverage, the description provides no context about return values, error scenarios, or the relationship between x/y and selector. The tool has 5 parameters and no annotations or output schema, yet the description offers only a bare action statement, leaving significant gaps for the agent.
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 schema covers all parameters with descriptions (100% coverage), so the baseline is 3. The description adds minimal extra meaning beyond the schema, only reiterating the selector/coordinates distinction without explaining precedence or interaction between 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 clearly states the tool's action ('Click') and its resource ('an element') with explicit methods ('by CSS selector or coordinates'), making it distinct from sibling tools like chrome_type or chrome_scroll. It is specific and 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?
No guidance is provided on when to use this tool versus alternatives, nor on prerequisites such as an active tab or page load state. The description implies usage for clicking but does not explain when to choose coordinates over selector or mention that the element must exist.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It only states the basic action and omits any mention of edge cases (e.g., what happens at the end of history), side effects, or prerequisites. This is minimal transparency.
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, and concise sentence. It wastes no words and is easily parsed.
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?
For a simple tool with one parameter and no output schema, the description is adequate for understanding the core function. However, it lacks context about history behavior, tab selection nuances, and relationship to sibling tools, which would make it more complete.
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 input schema fully documents the sole parameter 'tab_index' with a description and default behavior, so the description does not need to add much. The tool description itself adds no parameter details beyond what the schema provides, earning the baseline score.
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 action 'Go forward' and the resource 'browser history', which is specific and differentiates from siblings like chrome_back. However, it does not explicitly mention the tab or session scope, leaving some ambiguity about whether it applies to the active tab or all tabs.
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 such as chrome_back or chrome_navigate. The description simply states the action without context or exclusions, leaving the agent to infer appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations available, the description carries the full burden of behavioral disclosure. It states the tool executes JS and returns a result, but lacks critical details such as potential side effects (e.g., page mutation, network requests), blocking behavior, error handling, or the serialization format of the returned result. The description gives no hint about the risks or limitations of running arbitrary JavaScript.
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, simple sentence: 'Execute JavaScript in the page context and return the result.' It is optimally concise, containing no filler, redundancy, or unnecessary details. Every word contributes to the core function.
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 tool has minimal annotations and no output schema, so the description must explain the return format, error behavior, and potential side effects. The current description merely says 'return the result' without specifying what the result looks like (e.g., JSON, raw value) or how errors are surfaced. For a tool capable of running arbitrary code, this is insufficient for an agent to safely and correctly invoke it.
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 input schema covers both parameters (expression and tab_index) with descriptions, achieving 100% schema coverage. The description adds marginal value by clarifying that execution happens in the context of the page, but the schema already specifies 'JavaScript expression to evaluate.' No additional syntax or format details are provided beyond the schema.
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 function: 'Execute JavaScript in the page context and return the result.' It identifies a specific verb (execute) and resource (JavaScript in page context), which distinguishes it from sibling tools that handle navigation, clicking, typing, etc. The purpose is unambiguous and cannot be confused with other chrome_* tools.
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 versus alternatives. It does not mention scenarios where evaluate is preferred (e.g., custom scripting, data extraction) or when other tools like click, type, or navigate should be used instead. There are no prerequisites, edge cases, or exclusionary instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of disclosing behavioral traits. It does not mention that reloading may discard unsaved state, trigger network requests, or that the tab_index parameter allows reloading a different tab than the 'current' one. The phrase 'current page' is potentially misleading given the optional tab_index.
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 a single, concise sentence with no wasted words. It is front-loaded with the action, but it could have included a brief note about the optional parameters or side effects without becoming verbose.
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?
For a simple reload operation, the description covers the core purpose and the schema handles parameters. However, it does not explain the effect of ignore_cache or the scope of tab_index, and there is no mention of return values. Given the tool's simplicity and fully described parameters, it is minimally complete but has clear gaps.
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 input schema provides 100% coverage with descriptions for both parameters (tab_index and ignore_cache), so the description does not need to add parameter details. The description adds no extra semantic meaning beyond the schema, so a baseline score of 3 is appropriate.
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 action ('Reload') and the resource ('current page'), which is specific and distinct from sibling navigation tools like back, forward, and navigate. However, it does not explicitly differentiate itself from these siblings, though the verb alone is unambiguous.
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 (when you want to refresh the current page) but provides no explicit guidance on when to use this tool versus alternatives like navigate or back. It lacks any exclusions or prerequisites, making it minimally adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It merely states 'Check Chrome connection status' without revealing side effects, read-only nature, or what happens if the connection is lost. It provides no additional context about the tool's behavior beyond the literal action.
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, concise sentence that immediately communicates the tool's purpose. There is no filler or redundant content. For a trivial status-check tool, this is appropriately sized and front-loaded.
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?
Given the tool's simplicity (no parameters, no output schema), the description is mostly adequate but still lacks a clear indication of what the output represents. It would benefit from stating whether it returns a boolean, status string, or error. Since the output schema is absent, the description should carry more informational weight, but it does not fully do so.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, and the input schema is an empty object. The baseline for 0-parameter tools is 4, as there is nothing to explain. The description does not mislead or add unnecessary parameter information, so this score is appropriate.
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 'Check Chrome connection status' clearly states the tool's purpose with a specific verb and resource. It distinguishes itself from sibling tools like chrome_connect and chrome_disconnect by focusing on the status check rather than establishing or terminating a connection. However, it does not elaborate on what status information is returned, which could leave some ambiguity.
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 versus alternatives. It does not mention prerequisites (e.g., after connecting) or scenarios where it would be appropriate to use a different tool. This leaves the agent to infer the context on its own.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
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 implies a destructive action (closing a tab) but does not state that the action is irreversible, may lose unsaved data, or what happens with an invalid index. This is a significant transparency gap for a mutation tool.
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, concise sentence with no wasted words. It directly states the action and the key parameter.
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?
For a simple one-parameter tool, the description is adequate but minimal. It does not mention error behavior (e.g., out-of-bounds index), side effects on the current tab, or whether the operation is undoable. Given no output schema and no annotations, a slightly richer description would be expected, but the tool is simple enough that this is borderline acceptable.
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 input schema already documents the 'index' parameter with a description ('Tab index to close (0-based)') at 100% coverage. The description adds no additional meaning beyond repeating that the tab is closed by index, so the baseline of 3 applies.
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 'Close a tab by index' uses a specific verb (Close) and resource (tab), and clearly distinguishes from sibling tools like chrome_select_tab or chrome_list_tabs. The action is unambiguous and unique among the provided siblings.
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 versus alternatives. It does not mention prerequisites, such as ensuring the tab index is valid, or contrast with other tab-related operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the basic action without mentioning side effects, default behavior (e.g., clear_first defaults to true), error handling for invalid selectors, or whether fills are transactional. For a mutating operation, this is a significant gap.
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 a single, front-loaded sentence with zero wasted words. It efficiently states the core purpose. It could arguably include a bit more about the clear_first default without becoming verbose, but as is, it is concise and well-structured.
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?
Although the schema is descriptive, the tool description alone is insufficient for a mutating tool with multiple parameters and behavioral nuances. It does not mention the clear_first flag, behavior when selectors are missing, or any page-state requirements. The context from siblings helps but is indirect. The description does not adequately prepare an agent for safe invocation.
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 input schema covers 100% of parameters with descriptions, so the baseline is 3. The tool description adds no additional meaning beyond what the schema already provides; it merely reiterates the 'fill multiple fields' concept. No parameter-level insight is offered beyond the structured schema.
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 'Fill multiple form fields at once' uses a specific verb ('fill') and resource ('form fields'), and the phrase 'multiple... at once' clearly distinguishes it from sibling tools like chrome_type, which presumably handles single fields. It is unambiguous and immediately conveys the tool's scope.
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 bulk filling of form fields but does not explicitly state when to use this tool versus alternatives like chrome_type for single fields. The context is clear from the phrasing and sibling tool names, but there is no explicit exclusion or alternative guidance, so it falls at 'implied usage' rather than 'clear context with exclusions'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the action but does not disclose side effects (e.g., whether it waits for page load, what happens at the earliest history entry, or whether it affects the specified tab). This is a significant gap for a browser automation tool.
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, front-loaded sentence with zero wasted words. It communicates the core action effectively.
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?
For a simple tool with one optional parameter and no output schema, the description is minimally viable. However, it lacks detail on edge-case behavior like what happens when history is at its earliest entry or whether the action is asynchronous, leaving some ambiguity for an agent.
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 schema provides 100% coverage of the single optional parameter (tab_index) with a clear description, so the description adds no additional meaning. Baseline 3 applies because the schema does the heavy lifting.
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 'Go back in browser history' uses a specific verb and resource, clearly distinguishing the tool from siblings like chrome_forward and chrome_navigate. It unambiguously states the action.
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 (navigate to the previous page in history) but provides no explicit guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites. The purpose is obvious but alternative selection is not discussed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must disclose behavioral traits on its own. It only states the action (Get) with no details on side effects, prerequisites (e.g., page must be loaded), error behavior (e.g., if selector not found), or return format. This is a sparse disclosure for a tool that could have edge cases.
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, front-loaded sentence that directly communicates the tool's purpose without unnecessary words. It is concise and easy to parse, earning a high score.
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 tool is relatively simple, and the schema documents all parameters, so the description does not need to detail return values. However, it lacks important context such as how to handle missing selectors or whether the tool is safe for read-only operations, especially in the absence of annotations. The description is adequate but not rich enough to be fully complete.
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 input schema provides 100% coverage with parameter descriptions for all three optional parameters. The tool description repeats the concept of 'specific element' which aligns with the schema's selector description but adds no new meaning beyond what the schema already provides. Baseline 3 is appropriate.
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 function: 'Get the DOM HTML of the page or a specific element.' This specifies the verb (Get), resource (DOM HTML), and scope (page or element), distinguishing it from sibling tools like chrome_screenshot (visual) or chrome_evaluate (JavaScript execution).
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 retrieving HTML but does not explicitly compare with alternatives like chrome_evaluate or state when to prefer this tool. There is no mention of exclusions or preferred contexts, leaving the agent to infer based on the tool name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden of behavioral disclosure. It only states the action without mentioning side effects, asynchronous behavior, or that it can target a different tab via tab_index. There is no mention of return values, errors, or impact on browser history.
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, concise sentence that clearly communicates the primary function. It is front-loaded and contains no unnecessary words or repetition.
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 tool is straightforward and the schema covers all parameters. However, the description lacks context about observable behavior, such as whether navigation is asynchronous, what the return value is, or how tab_index affects the action. It is adequate but leaves some behavioral questions unanswered.
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 schema provides complete descriptions for all parameters, so the baseline is 3. The description adds no additional parameter semantics beyond what the schema already provides. For instance, the active tab default is already documented in the tab_index parameter description.
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 navigates a tab to a URL, using a specific verb and resource. It distinguishes from sibling navigation tools like back/forward/reload by focusing on loading arbitrary URLs. Although it omits the optional tab_index parameter, the primary purpose is unambiguous.
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?
No explicit guidance is given on when to use this tool versus alternatives. The intended use is implied by the description—navigate to a URL—but there is no mention of exclusions or when other navigation commands (like back or reload) would be more appropriate. With many sibling tools, clearer differentiation would be helpful.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects, error handling for invalid indices, or whether the switch triggers navigation/loading. Minimal transparency.
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?
Description is a single sentence with no fluff: 'Switch to a tab by index (from chrome_list_tabs)'. Every word earns its place, making it highly concise.
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?
For a simple one-parameter action, the description plus schema provide the essentials (what and how). However, absence of behavioral context (e.g., what happens if index is out-of-range) and lack of annotations make it slightly incomplete.
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?
Schema coverage is 100% with index described as 'Tab index (0-based)'. The description adds the source of the index ('from chrome_list_tabs'), but this is marginal beyond what the schema already provides, so baseline 3 is appropriate.
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 'Switch' with a resource 'tab' and method 'by index', clearly distinguishing it from sibling tools like chrome_close_tab (closing) or chrome_list_tabs (listing). The reference to chrome_list_tabs further clarifies scope.
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 phrase 'from chrome_list_tabs' implies a prerequisite (list tabs first to get index) but does not explicitly state when to use this tool vs alternatives or when not to use it. Context is implied but not fully developed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
- Behavior2/5
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description must fully disclose behavioral traits. It only states the action without mentioning side effects, requirements (e.g., visible element), native event dispatch, or return behavior. The description is too bare to be transparent about what happens during selection.
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 sentence, fully front-loaded with the verb and resource, and contains no unnecessary words. It is concise and to the point.
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 no output schema and no annotations, the description is under-specified. It doesn't explain how to choose between label vs. value, any side effects on the page, or error scenarios. The minimal one-liner leaves the agent guessing about important behavioral details.
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?
Schema description coverage is 100%, with each parameter already described in the input schema. The tool description adds no additional parameter semantics beyond what the schema provides. The baseline of 3 applies because the schema does the heavy lifting.
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 function: 'Select an option from a <select> dropdown'. It uses a specific verb (select) and resource (option in a <select> dropdown), which distinguishes it from sibling tools like chrome_click or chrome_type. The scope is unambiguous.
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 description provides clear context that this tool is for selecting options in native <select> dropdowns. However, it doesn't explicitly compare to alternatives (e.g., chrome_click) or warn against use with custom dropdowns. It implies the scenario but lacks explicit exclusions.
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 discloses the return format (base64 image), which is useful. However, it does not mention any side effects, prerequisites, or what happens if no page is loaded. With no annotations provided, the description carries the burden and provides only minimal behavioral context without contradiction.
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 one short sentence that front-loads the action and includes the key output detail. Every word earns its place; there is no redundancy or extraneous 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?
For a tool with five optional parameters and no output schema, the description is minimal. It tells what the tool does and returns, but does not explain the effect of options like full_page or selector, nor any limitations or failure modes. The schema covers parameters, but the tool-level context feels thin.
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?
Schema description coverage is 100%, so the baseline is 3. The description adds the 'current page' context, implying the active tab, but does not elaborate on parameter behavior beyond what the schema already states. It neither enriches nor undermines the parameter documentation.
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 verb 'Take a screenshot' and the resource 'current page', and the parenthetical 'returns base64 image' adds a key output detail. This uniquely distinguishes it from sibling tools like chrome_dump_dom or chrome_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?
Usage is implied: capture what is currently visible. There is no explicit mention of when to use it versus alternatives, nor any prerequisites like requiring an active tab or connected browser. This is acceptable for a straightforward tool but lacks direct guidance.
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?
No annotations are provided, so the description carries the transparency burden. It discloses that the tool connects to an already-running browser (not launching a new one) and requires remote debugging, which is useful. However, it does not explain failure modes, whether the connection is idempotent, or how success is indicated.
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?
Two concise sentences: the first states the core action and method, the second gives the critical prerequisite. No filler or redundancy.
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?
Given the empty schema, no output schema, and a large set of sibling tools, the description provides the essential prerequisite and connection method, but it does not clarify the tool's place in the workflow or how to verify successful connection. It is minimally adequate but could add more integration context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description does not need to define parameter semantics. Baseline is 4 per the rubric, and there is no gap.
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 purpose with a specific verb ('Connect to') and resource ('already-running Chrome browser via DevTools Protocol'). It distinguishes from siblings like chrome_status, chrome_disconnect, and tab operations by focusing on establishing a connection to an existing browser.
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 context by mentioning the necessary prerequisite (remote debugging enabled), but it does not explicitly state when to choose this tool over alternatives, nor does it mention that this connection is a prerequisite for other chrome_* tools. Some guidance is present but not comprehensive.
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?
With no annotations, the description carries the full burden of behavioral disclosure. It clearly indicates a read-only listing operation, but does not describe the exact return structure, such as whether tab IDs are included, which could be relevant for subsequent tab actions.
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, direct sentence that conveys all essential information without any filler. It is front-loaded and immediately understandable.
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?
There is no output schema, so the description must clarify return values. It mentions title and URL but omits any mention of tab identifiers, which are likely needed for sibling tools like chrome_select_tab. This is a notable gap for a tool whose main purpose is to enable tab selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description does not need to add parameter details, and nothing is missing in this regard.
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 specifies the verb 'list', the resource 'open tabs', and the output fields (title and URL). It distinguishes itself from sibling tools like chrome_select_tab and chrome_close_tab, which operate on tabs rather than just listing them.
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 when you need an overview of open tabs, but it does not explicitly state when to use this tool versus alternatives, nor does it mention any prerequisites or exclusions. Since there are no competing list tools, the context is clear but the guidance is implicit.
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?
With no annotations, the description carries the full burden. It discloses the key behavior that the browser is not closed, which is valuable, but it omits other behavioral details such as session state, reversibility, or whether all related resources are released.
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, front-loaded sentence with a short parenthetical clarifier. Every word earns its place and there is no wasted text.
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 zero-parameter tool with no output schema, the description is sufficient. It could be improved by noting what happens after disconnecting (e.g., needing to reconnect for further Chrome operations), but the core purpose is clear and complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Parameters4/5Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the schema is trivially complete. The description adds no parameter-specific meaning, but since there are no parameters, the baseline of 4 applies.
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 'Disconnect' with a clear resource 'Chrome' and adds a critical clarifier that it does not close the browser, clearly distinguishing it from any browser-closing action. This directly sets it apart from related tools like chrome_connect and chrome_close_tab.
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 when to use the tool (to end a Chrome control session) but provides no explicit guidance on alternatives or consequences. It does not mention that chrome_connect is needed to re-establish the connection, leaving usage context mostly implicit.
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/HelloiOS2014/chrome-pilot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server