Skip to main content
Glama

Server Details

Headless browser primitives for AI agents when sites need real JS rendering.

Status
Healthy
Last Tested
Transport
Streamable HTTP
URL

Glama MCP Gateway

Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.

MCP client
Glama
MCP server

Full call logging

Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.

Tool access control

Enable or disable individual tools per connector, so you decide what your agents can and cannot do.

Managed credentials

Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.

Usage analytics

See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.

100% free. Your data is private.
Tool DescriptionsA

Average 3.7/5 across 15 of 17 tools scored. Lowest: 3.1/5.

Server CoherenceA
Disambiguation5/5

Each tool targets a specific browser automation action with no meaningful overlap. For example, fill_form handles multiple fields while type_text handles a single input, and extract_table/get_text/get_links/get_html are clearly distinct extraction modes.

Naming Consistency4/5

All tool names use lowercase snake_case and mostly follow a verb_noun pattern (e.g., get_text, set_cookies, select_option). The only minor inconsistency is page_pdf, which is a noun_noun construction rather than a verb-prefixed name.

Tool Count4/5

With 17 tools, the server covers navigation, interaction, extraction, cookies, screenshots, and PDF generation. This is slightly above the ideal 3-15 range but still well-scoped for a browser automation server, so it feels reasonable rather than bloated.

Completeness4/5

The tool set covers the core page lifecycle: navigate, interact (click/type/select/scroll), wait, extract content, and capture output (screenshot/PDF). Missing advanced features like back/forward or frame handling, but these are minor gaps that can be worked around.

Available Tools

17 tools
clickBInspect

Click an element matched by CSS selector or visible text.

ParametersJSON Schema
NameRequiredDescriptionDefault
textNo
buttonNoleft
selectorNo
double_clickNo
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose side effects, such as triggering navigation, form submission, or waiting behavior. It also fails to mention error handling or how the click is performed. The annotations only indicate that the tool is not read-only and interacts with an open world, which the description does not expand upon.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the core action. Every word contributes meaning, with no repetition or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but the description still lacks critical context: it does not specify button options, double-click behavior, or the visible-text matching semantics in detail. The lack of usage guidelines and partial parameter coverage leaves the agent under-informed for reliable invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for lack of parameter documentation. It addresses 'selector' and 'text' but completely omits 'button' and 'double_click'. Parameters like 'button' default to 'left' but without further explanation, the agent may not know valid values or behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Click') and identifies the resource (an element) and matching mechanisms (CSS selector or visible text). It clearly communicates the tool's function and distinguishes it from sibling tools like type_text or fill_form.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided about when to use this tool versus alternatives, and no exclusions or prerequisites are mentioned. The description solely states what the tool does, leaving usage decisions entirely to the agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

close_browserAInspect

Close the underlying browser, freeing resources.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The annotations already indicate readOnlyHint=false (a state-changing operation) and openWorldHint=true (external side effects). The description adds useful context that the browser is 'underlying' and that resources are freed, clarifying the consequence of the action beyond what the annotations provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the primary action and result. Every word contributes to understanding, with no filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with zero parameters and no output schema, this description is fully self-contained. It explains what the tool does and why it's useful (freeing resources), which is sufficient for the agent to understand its role.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the input schema is trivially fully covered. The description doesn't need to explain parameter semantics, and the baseline for zero parameters is 4.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Close' and identifies the resource as 'the underlying browser', clearly distinguishing it from sibling tools like navigate or click. It states exactly what the tool does, with no ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool: when you are done with the browser and want to free resources. Although it doesn't explicitly mention alternatives, the sibling list contains no other close or cleanup tool, making the usage context clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

evaluateBInspect

Evaluate JavaScript in the page context. Use return for values or an expression.

ParametersJSON Schema
NameRequiredDescriptionDefault
scriptYes
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description does not disclose side effects or behavioral nuances beyond the annotations. Since readOnlyHint=false indicates non-read-only behavior, the agent knows it can mutate state, but the description adds no additional context like page modification risks, network access, or execution context. openWorldHint=true is also not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is exceptionally concise: two short sentences that are front-loaded. The first sentence states the core purpose, and the second adds a key usage detail. No unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an arbitrary code execution tool, the description is under-specified. It does not explain what the tool returns (e.g., the evaluated value, its type, or serialization), error handling, or potential side effects on the page. With no output schema and sparse annotations, this is a significant gap for an agent to use it safely.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It meaningfully explains that the `script` parameter should contain JavaScript evaluated in the page context and clarifies how to produce values (using `return` or an expression). This goes beyond the bare schema and gives practical guidance.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool evaluates JavaScript in the page context with a specific verb and resource, distinguishing it from sibling tools that perform specific actions (e.g., click, type_text). It is immediately obvious what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides only a syntax hint ('Use `return` for values or an expression') but no guidance on when to use this tool vs alternatives, nor any exclusions or prerequisites. It lacks context for choosing evaluate over other browser automation tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

extract_tableA
Read-only
Inspect

Extract a standard HTML table as a list of row objects keyed by header.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNotable
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds useful behavioral context beyond the readOnlyHint annotation by disclosing the return format as a list of row objects keyed by header. It does not mention error handling (e.g., if no table matches) but the annotation covers the read-only nature, so the bar is lower.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single sentence that front-loads the verb and resource, then specifies the output shape. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple single-parameter design and readOnlyHint annotation, the description covers the core purpose and output reasonably well. However, it lacks parameter semantics and usage guidance, making it only minimally complete for an agent trying to invoke it optimally.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description must compensate for the 'selector' parameter, but it never mentions it. The default value 'table' is implicit, but the user gets no explanation about how to target a specific table or what a valid selector looks like.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'extract' and a resource 'standard HTML table' with a clear output format 'list of row objects keyed by header'. This cleanly distinguishes it from sibling tools like get_text or get_html that return raw content.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The phrase 'standard HTML table' implies a scope (probably not nested or malformed tables), but there is no explicit guidance on when to use this tool over alternatives, nor are any exclusions stated. The context of siblings is not leveraged in the description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

fill_formAInspect

Fill multiple form fields from a list of {selector, value} and optionally submit.

ParametersJSON Schema
NameRequiredDescriptionDefault
fieldsYes
submitNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false and openWorldHint=true, covering the mutation and side-effect aspects. The description adds the 'optionally submit' behavior, which is useful. It does not go deeper into overwriting or navigation effects, but with annotations present, this is adequate.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, appropriately sized sentence that is front-loaded with the core action. No filler or unnecessary repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with two parameters, the description covers the essential action and the optional submit. Annotations provide safety context, and no output schema is needed. The description is complete enough for an agent to select and invoke the tool correctly for a bulk fill operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, but the description provides the {selector, value} structure for the fields array, adding meaning beyond the bare schema. It does not specify the types or semantics of selector and value, nor the exact behavior of the submit parameter beyond the schema's boolean default.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'fill' with the resource 'multiple form fields', clearly distinguishing it from sibling tools like type_text (single field) and click. It also notes the optional submit action, which conveys the full scope of the tool.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly implies this tool is for filling multiple form fields at once, with an optional submit. It provides context, though it does not explicitly exclude single-field use or name alternatives. The sibling list provides a natural contrast, but the description itself does not mention when not to use it.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_cookiesA
Read-only
Inspect

Return all cookies for the current browser context.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and openWorldHint=true, setting the safety context. The description adds the scope 'current browser context' but does not detail return format, cookie properties, or behavior with no cookies. No contradiction with 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that conveys all essential information without redundancy. 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.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity, no output schema, and clear annotations, the description is largely complete. It specifies what is returned (all cookies) and the scope (current browser context). It does not explicitly mention return format, but this is likely understood from the context and sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, so no parameter documentation is needed. The schema coverage is effectively 100%, and the baseline for 0 params is 4. The description adds no parameter-specific semantics, which is acceptable.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Return all cookies for the current browser context', using a specific verb ('Return'), resource ('cookies'), and scope ('current browser context'). This distinguishes it from sibling tools like set_cookies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives. The sibling list includes set_cookies, but the description does not mention it or any context-specific usage. The agent is left to infer the intended use.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_htmlB
Read-only
Inspect

Return the HTML of the page or a specific element.

ParametersJSON Schema
NameRequiredDescriptionDefault
outerNo
selectorNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already mark the tool as readOnlyHint=true and openWorldHint=true, so the safety profile is covered. The description adds that the HTML can be for the whole page or a specific element, but it does not explain the behavior of the 'outer' parameter (outerHTML vs innerHTML) or how null selector is handled. No contradiction with 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single, front-loaded sentence with no filler. It conveys the essential purpose in 11 words, making it highly concise.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the simple nature of the tool and the annotations covering safety, the description adequately communicates the core function. However, it lacks parameter semantics (especially 'outer') and does not explicitly describe the return format or error behavior. This makes it minimal but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It implicitly references the selector via 'or a specific element', but it completely omits the 'outer' parameter, leaving its meaning and default behavior unexplained. With two parameters and zero schema descriptions, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Return') and the resource ('the HTML of the page or a specific element'). This distinguishes it from sibling tools like get_text (returns text) and get_links (returns links).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No usage guidance is provided. It does not mention when to use this tool over alternatives such as get_text, nor does it specify conditions for using a selector vs the whole page. Usage is only implied by the name and basic description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_textA
Read-only
Inspect

Extract visible text from the page or a specific element.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The readOnlyHint annotation already covers safety, and the description adds the behavioral nuance that only 'visible' text is extracted, which is a useful qualifier. However, it does not clarify behaviors like handling of hidden elements, multiple matches, or return format beyond what is implied.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that front-loads the primary action and scope. Every word adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter tool with no output schema, the description covers the core functionality well. It does not describe return details, but the phrase 'extract text' implies the return value, and the annotations provide read-only context. Slightly incomplete regarding selector usage edge cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one parameter 'selector' with no description, and schema description coverage is 0%. The description only hints that a selector can target 'a specific element' but does not specify the selector format (e.g., CSS, XPath) or default behavior with null. This is insufficient compensation for the lack of schema documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool extracts visible text from the page or a specific element, using a specific verb ('extract') and resource ('visible text'). It distinguishes from sibling tools like get_html and get_links by specifying 'visible text' rather than HTML or links.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage context: use for extracting visible text, optionally from a specific element. However, it does not explicitly state when to prefer this over alternatives like get_html or get_links, nor does it mention any exclusions or prerequisites.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

page_pdfA
Read-only
Inspect

Render the current page as PDF (headless only). Returns base64 PDF.

ParametersJSON Schema
NameRequiredDescriptionDefault
format_NoA4
landscapeNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, so the agent knows it is a safe read operation. The description adds valuable behavioral context beyond this by disclosing the 'headless only' requirement and the base64 PDF return format. There is no contradiction with 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly concise: two short sentences totaling 12 words. It front-loads the primary action and includes the key constraint and return type. Every word contributes meaning, with no redundant text or fluff.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has a simple interface (two optional params, no output schema), and the description covers the core purpose and return value. However, it omits parameter semantics, particularly valid format_ values, and does not mention what happens if used outside headless mode. For a tool this simple, it is adequate but has room for improvement.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has 0% description coverage and the description does not mention either parameter (format_ or landscape). This leaves format_ ambiguous (e.g., what string values are accepted?) and requires the agent to rely on parameter names alone. Since the description does not compensate for the schema's lack of explanation, this is a significant gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: render the current page as PDF. It uses a specific verb ('Render') and identifies the resource ('the current page'), which distinguishes it from sibling tools like screenshot or get_html. The 'headless only' constraint and the return format are also specified, leaving no ambiguity about what the tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context by noting that the tool is 'headless only', which serves as an exclusion when the browser is not in headless mode. While it does not explicitly name alternative tools, the phrase 'headless only' guides the agent on when not to use this tool, and the purpose itself implies its use for PDF generation.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screenshotA
Read-only
Inspect

Take a PNG screenshot of the current page (or a specific element). Returns base64 PNG.

ParametersJSON Schema
NameRequiredDescriptionDefault
selectorNo
full_pageNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds valuable context by stating the return format (base64 PNG), which is essential since there is no output schema. It also clarifies element-level capture. Annotations already declare readOnlyHint and openWorldHint, so the extra behavioral details are helpful. However, it does not disclose other traits like waiting for page load.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence with no redundant words. It front-loads the action and result format, making it highly concise and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple with two optional parameters and no output schema. The description covers the main behavior and return format, but fails to explain the 'full_page' parameter's behavior, which is a meaningful gap for a screenshot tool. Given the annotations, it is mostly adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%. The description partially maps 'specific element' to the 'selector' parameter but says nothing about 'full_page', leaving its purpose ambiguous. The agent must rely solely on the parameter name, which is insufficient.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function with a specific verb ('Take') and resource ('PNG screenshot'), and it distinguishes between current page and specific element capture. It does not explicitly name sibling tools like page_pdf, but the resource is distinct enough for basic identification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (for visual capture of the page or an element) but provides no explicit guidance on choosing it over alternatives like page_pdf or get_html. It offers context about scope but lacks exclusions or alternative references.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

scrollAInspect

Scroll the page (or an element) in the given direction by amount pixels.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountNo
selectorNo
directionNodown
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate readOnlyHint=false and openWorldHint=true, which already suggest side effects. The description adds the fact that scrolling can target an element, but does not disclose other behaviors like return values or error handling. No contradiction with 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/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence that is easy to read and front-loaded with the action and target. It contains no unnecessary words or information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is relatively simple, but the description lacks details about possible direction values, the effect of a null selector, and any output or return behavior. Given the absence of an output schema and limited annotations, the description is incomplete for full context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, and the description only partially explains parameters. It references 'amount' and 'direction' but not 'selector', leaving its meaning ambiguous. Defaults are in the schema, but the description doesn't add meaningful context for all parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool scrolls a page or element by a pixel amount in a direction. It uses a specific verb and resource, and distinguishes from sibling tools by describing a unique 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/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use the tool (to scroll) but does not explicitly discuss alternatives or scenarios when not to use it. There is no exclusion guidance, so it is minimally adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

select_optionAInspect

Choose an option from a element by value or visible label.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelNo
valueNo
selectorYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=false, signaling this is a mutating operation. The description adds that selection can be by value or visible label, but does not disclose edge-case behaviors such as what happens if both are provided, which takes precedence, or what occurs if no matching option is found.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single sentence that is direct and front-loaded with the verb 'Choose'. It wastes no words and conveys the core purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple tool with no output schema or nested objects, the description covers the essential action and parameters. It lacks details on parameter precedence or error handling, but overall provides sufficient context for an agent to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains that 'label' and 'value' refer to the option's visible text and value attribute, respectively, but it does not clarify the 'selector' parameter's format or the precedence when both label and value are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Choose an option') and the target resource ('<select> element'), and specifies the two methods ('by value or visible label'). This distinguishes it from sibling tools like 'click' and 'fill_form' in the context of browser automation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for selecting options in a dropdown, but does not explicitly state when to use this tool over alternatives like 'fill_form' or 'type_text'. There is no mention of exclusions or when-not-to-use, so the guidance is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_cookiesBInspect

Set cookies for the current browser context.

ParametersJSON Schema
NameRequiredDescriptionDefault
cookiesYes
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare this is a mutating operation (readOnlyHint=false), so the description adds value with the scope 'current browser context.' However, it does not disclose whether cookies are overwritten or appended, persistence semantics, or potential side effects on subsequent navigation/requests.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, focused sentence with no filler or redundancy. It is appropriately front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite the low complexity, the description is under-specified for correct invocation. With no output schema and 0% schema description coverage, the agent lacks critical details about cookie object structure and behavioral semantics, making the description incomplete for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema has one required parameter 'cookies' with no descriptions and schema coverage at 0%. The description does not explain the expected shape of cookie objects (e.g., name, value, domain) or how multiple cookies are handled, relying only on the parameter name for meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses the specific verb 'Set' with the resource 'cookies' and scopes it to 'the current browser context.' This clearly states what the tool does and distinguishes it from the sibling get_cookies.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. It only states the operation itself, leaving usage context entirely implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

type_textAInspect

Type text into an input/textarea. Optionally clear first or press Enter after.

ParametersJSON Schema
NameRequiredDescriptionDefault
textYes
clearNo
selectorYes
press_enterNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds context beyond annotations by explaining the optional clear and press_enter behaviors, indicating that clearing happens before typing and Enter can be pressed after. Annotations only state readOnlyHint=false, so the description supplements with behavior. However, it doesn't clarify append vs replace when clear is false or event simulation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, two short sentences, with the main action first. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple, but with no output schema and no parameter descriptions, the description could be more complete about the selector format and behavior when the element is not found. It covers core functionality but leaves selector unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 0% schema description coverage, the description compensates somewhat by explaining text, clear, and press_enter. However, the selector parameter is not explained at all (format, CSS selector, etc.), which is a gap for correct usage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool types text into an input/textarea, with a specific verb and resource. It is distinguishable from siblings like click and fill_form by focusing on typing into a single input/textarea, and mentions optional clear and press_enter behaviors.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for typing text into input fields, but does not explicitly state when to prefer this over fill_form or other alternatives. It gives no exclusions or context for choosing this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

wait_forAInspect

Wait until a selector reaches a given state (visible|hidden|attached|detached).

ParametersJSON Schema
NameRequiredDescriptionDefault
stateNovisible
timeoutNo
selectorNo
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description adds the allowed state values and indicates blocking behavior ('wait until'), but it does not disclose what happens on timeout, whether it throws an error, or what the return value is. Annotations (readOnlyHint: false, openWorldHint: true) are present and not contradicted, but they do not compensate for these behavioral gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, succinct sentence that is front-loaded with the action and object. It contains no filler or redundant details, earning full marks for conciseness and structure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool is simple and has no output schema, but the description does not explain return values or error/timeout behavior. It covers the core purpose and states, but leaves notable gaps for an agent that needs to know what happens after the wait or if it fails. Sibling tools are all action-oriented, so the description is adequate but not fully complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It does enumerate the options for 'state' (visible|hidden|attached|detached), clarifying that parameter. However, it does not explain 'timeout' units or behavior, and 'selector' is only minimally described. The description adds value for 'state' but not for the other parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb 'wait until' with a specific resource 'selector' and a set of target states (visible|hidden|attached|detached). It clearly distinguishes this tool from sibling tools like click or navigate, and there is no other wait tool in the list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use it (when you need to wait for a selector to reach a particular state), but it does not provide explicit guidance on when not to use it or mention alternatives. No exclusions or prerequisites are given, so it is clear but not actively instructive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Discussions

No comments yet. Be the first to start the discussion!

Related MCP Servers

  • F
    license
    -
    quality
    C
    maintenance
    Headless browser automation for LLM agents via REST API or MCP tools. Enables navigating pages, reading structured content, clicking elements, filling forms, and executing JavaScript.
  • A
    license
    -
    quality
    C
    maintenance
    Agent-native headless browser for AI agents. Converts web pages to a Semantic Object Model (SOM) instead of raw HTML — 17x average token reduction across real-world sites (up to 117x on complex pages). Native MCP server with fetch_page, extract_text, extract_links, and full browser automation. No API key required.
    34
    Apache 2.0

View all MCP Servers

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources