playwright-mcp-server
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.
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.
Tool Definition Quality
Average 3.4/5 across 17 of 17 tools scored. Lowest: 2.6/5.
Each tool has a clearly distinct purpose: navigation, interaction (click, type, scroll, select), data extraction (get_html, get_text, get_links, extract_table), state management (cookies, PDF, screenshot), and JavaScript evaluation. No two tools overlap in functionality.
All tool names follow a consistent verb_noun or verb_preposition pattern in snake_case (e.g., get_cookies, fill_form, close_browser). No mixing of conventions or ambiguous verb styles.
With 17 tools, the count is slightly above the typical well-scoped range (3-15) but still reasonable for a comprehensive browser automation server. Each tool serves a distinct purpose, and the set does not feel bloated.
The tool set covers core browser automation tasks: navigation, interaction, data extraction, and state management. Minor gaps exist (e.g., no hover, double-click, or file upload), but the provided tools handle the majority of common workflows effectively.
Available Tools
17 toolsclickBInspect
Click an element matched by CSS selector or visible text.
| Name | Required | Description | Default |
|---|---|---|---|
| text | No | ||
| button | No | left | |
| selector | No | ||
| double_click | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false (mutation) and openWorldHint=true (external side effects). The description adds no additional behavioral context beyond stating the action. It does not disclose, for instance, whether a navigation event follows the click or if there are any prerequisites.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, short sentence that conveys the core purpose without any fluff. Every word is meaningful and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having 4 parameters and no output schema, the description omits important details: what the tool returns, whether double clicks are supported, and potential navigational consequences. It is too minimal for an autonomous agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for parameter meanings. It clarifies that selector and text are alternative locators, but it does not explain the button parameter (left/right) or double_click behavior. The defaults are not mentioned.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the verb 'click' and the resource 'element', and specifies two matching methods: CSS selector or visible text. This clearly differentiates 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives. For example, it does not mention that select_option should be used for dropdowns or that fill_form is for filling multiple fields. The description is too vague to help the agent decide.
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.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a destructive operation (readOnlyHint false). The description adds 'freeing resources' but does not clarify post-close behavior or any side effects beyond the browser closure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence that conveys the core action without any extraneous words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is minimal but sufficient for a zero-parameter, no-output tool. However, mentioning that subsequent tool calls on the closed browser will fail would add completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters exist, and schema coverage is 100%. The description needs no parameter details; baseline 4 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Close' and resource 'underlying browser', clearly indicating the tool's action. It is easily distinguishable from sibling tools like navigate or click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives. While the tool is simple, stating when to call it (e.g., at end of session) would improve usability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
evaluateAInspect
Evaluate JavaScript in the page context. Use return for values or an expression.
| Name | Required | Description | Default |
|---|---|---|---|
| script | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=false (destructive possible) and openWorldHint=true. The description adds that it runs in 'page context' but does not elaborate on the potential to modify page state or execution side effects. It provides minimal additional behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two short sentences with no unnecessary words. It is front-loaded with the purpose and includes a practical usage tip. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (one parameter, no output schema), the description covers the essential purpose and usage. It could explicitly mention that the result is returned, but the hint about `return` implies this. Annotations fill some gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema description coverage at 0%, the description partially compensates by noting that `script` should contain JavaScript with optional `return`. However, it does not explain parameter format, constraints, or how results are returned. More detail would be beneficial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool evaluates JavaScript in the page context, which is a specific verb+resource. It also provides a usage hint about using `return`. This distinguishes it from all sibling tools, which are about DOM actions like clicking or navigating.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a clear usage hint ('Use `return` for values or an expression') but does not explicitly state when to use this tool versus alternatives. However, since no sibling tool does JavaScript evaluation, the context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_tableBRead-onlyInspect
Extract a standard HTML table as a list of row objects keyed by header.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | table |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds the output format detail. However, it does not disclose edge cases like missing tables, multiple tables, or malformed HTML, which would be helpful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of 13 words, starting with the action. It is concise and waste-free.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is incomplete for a tool with no output schema and minimal parameter documentation. It fails to mention behavior on no match, multiple matches, or tables without headers, leaving significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The only parameter 'selector' has a default value but no description in the schema or in the tool description. With 0% schema coverage, the description should explain what the selector does, but it does not, leaving the agent to guess.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Extract' and the resource 'standard HTML table', and specifies the output format as 'list of row objects keyed by header', which is distinct from sibling tools like get_html or get_text.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., get_html, get_text), nor when not to use it. The description lacks explicit usage context.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | ||
| submit | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it is not read-only (readOnlyHint=false) and may have side effects (openWorldHint=true). The description adds the optional submit behavior but does not explain other aspects like how errors are handled or whether form submission triggers navigation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the key action and input format. It is concise and to the point, though it could benefit from structuring the submit behavior separately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters and no output schema, the description is adequate but lacks details on submission behavior (e.g., whether it waits for page load after submit) and error handling. It covers the basic purpose but leaves questions for an agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 0% schema description coverage, the description adds meaning by specifying that 'fields' is a list of {selector, value} objects, clarifying the expected structure beyond the vague 'additionalProperties: true' in the schema. This is helpful for understanding parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: filling multiple form fields from a list of selector-value pairs with optional submission. It uses a specific verb ('fill') and resource ('form fields'), distinguishing it from siblings like 'type_text' (single field) or 'select_option'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool over alternatives (e.g., when to use 'fill_form' vs 'type_text' or 'select_option' for individual fields). Also, no context is given for the 'submit' parameter's implications.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cookiesARead-onlyInspect
Return all cookies for the current browser context.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so the description adds no additional behavioral context. No mention of output format, domain scope, or potential errors. Adequate but not exemplary.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence with no wasted words. Information is front-loaded and immediately actionable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read operation with strong annotations, the description is sufficient. Lacks detail on cookie format or filtering, but with no output schema and zero parameters, the tool is straightforward.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameters, schema coverage 100%. Baseline score of 4 is appropriate as there is nothing to explain.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'Return all cookies for the current browser context' uses a specific verb ('Return') and resource ('cookies'), clearly distinguishing it from sibling tools like set_cookies. Scope is explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives such as set_cookies or other browser context tools. No when-not conditions or explicit context provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_htmlCRead-onlyInspect
Return the HTML of the page or a specific element.
| Name | Required | Description | Default |
|---|---|---|---|
| outer | No | ||
| selector | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true, so the description does not need to reinforce safety. However, it fails to disclose behaviors such as what happens if the selector is not found, the difference between outer and inner HTML, or any performance implications. The added value beyond annotations is minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence, which is concise but lacks structure. It front-loads the purpose but omits parameter details, which are critical for correct usage. The brevity sacrifices necessary information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two parameters, no output schema, and moderate complexity, the description is incomplete. It does not explain how to use 'selector' or 'outer', nor does it describe the return format. This is insufficient for an agent to reliably invoke the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate by explaining the two parameters. It does not mention that 'selector' is a CSS selector for targeting elements or that 'outer' controls whether the outer HTML is returned. The hint 'page or a specific element' is too vague, leaving the agent to guess parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states that it returns the HTML of the page or a specific element, using a specific verb and resource. It distinguishes itself from sibling tools like 'get_text' (which returns text) and 'get_links' (which returns links), making its purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives such as 'get_text' or 'get_links'. There is no mention of when to specify a selector or how to choose between outer/inner HTML. The agent receives no context for appropriate usage scenarios.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_linksBRead-onlyInspect
Collect all anchor hrefs, optionally filtered by regex.
| Name | Required | Description | Default |
|---|---|---|---|
| pattern | No | ||
| selector | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint and openWorldHint. Description adds minimal context beyond these, not contradicting them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded. One sentence that covers the core purpose without unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks return format details and does not explain all parameters. With no output schema, the description should compensate but does not.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%. Description mentions regex filtering but does not explain the 'selector' parameter nor provide details on pattern usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool collects all anchor hrefs with optional regex filtering. It is specific and distinguishes from sibling tools like get_text or get_html.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings. No exclusion criteria or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_textARead-onlyInspect
Extract visible text from the page or a specific element.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint. The description adds that it extracts visible text, which is the basic behavior. No further behavioral traits (e.g., limitations on visibility, selector failure handling) are disclosed. Adequate but not enriched beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise single sentence, front-loaded with the purpose. Every word earns its place with no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only tool with one optional param and no output schema, the description is somewhat minimal. It doesn't specify return type or more details about the extraction context. Adequate but could be more complete for agent understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so description must compensate. It mentions 'from the page or a specific element', implying the selector parameter targets an element, but doesn't specify syntax (e.g., CSS selector) or behavior when null (page text). Adds some meaning but insufficient detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description is specific: 'Extract visible text from the page or a specific element.' It clearly identifies the verb (extract) and resource (visible text), and distinguishes from siblings like get_html (HTML) and get_links (links).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit guidance on when to use this tool vs alternatives. The description implies usage via context, but lacks when-not-to-use or comparisons to similar sibling tools like extract_table or get_html.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
page_pdfARead-onlyInspect
Render the current page as PDF (headless only). Returns base64 PDF.
| Name | Required | Description | Default |
|---|---|---|---|
| format_ | No | A4 | |
| landscape | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and openWorldHint=true. The description adds that PDF rendering is only supported in headless mode and returns base64-encoded data, which are behavioral traits beyond the annotations. This provides useful context for the agent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: one sentence with two clear clauses. Every word is necessary and the key information (action, constraint, output) is front-loaded without any fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, no output schema), the description covers the core functionality and output format. However, it lacks parameter details needed for correct invocation, such as acceptable format_ values. Overall, it is minimally adequate but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the parameters (format_, landscape). The agent is left to infer acceptable values for format_ (likely paper sizes) and the effect of landscape. The description adds no semantic meaning beyond the parameter names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool renders the current page as a PDF, including the constraint 'headless only' and the return format 'base64 PDF'. This specifies the verb, resource, and scope, distinguishing it from siblings like screenshot or get_html.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description mentions 'headless only' which implies a usage constraint, but does not provide explicit context on when to use this tool versus alternatives (e.g., screenshot for images). There is no when-not-to-use guidance or mention of alternative tools for PDF generation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
screenshotBRead-onlyInspect
Take a PNG screenshot of the current page (or a specific element). Returns base64 PNG.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | No | ||
| full_page | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'Returns base64 PNG' beyond the annotations (readOnlyHint, openWorldHint). However, it does not disclose that the screenshot may capture only the viewport unless full_page is used, or that the selector parameter requires a CSS selector. Without annotations, the description would be insufficient, but with them, it provides modest additional context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with two concise clauses, no repetition or filler. It is front-loaded with the core action and provides all essential information efficiently, earning its place without waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has two optional parameters and no output schema, the description lacks crucial details: how to use the parameters (e.g., format of selector, effect of full_page), and the precise format of the returned base64 PNG (e.g., data URL vs raw). Without these, an agent may misuse the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description must compensate for missing parameter details. It partially explains the selector parameter ('or a specific element') but completely omits any mention of full_page's effect (e.g., capturing the full page). This adds some meaning but is incomplete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Take a PNG screenshot'), the resource ('current page or a specific element'), and the output format ('Returns base64 PNG'). This distinguishes it from siblings like page_pdf, which creates PDFs, making the purpose unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
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 like page_pdf or click. It does not specify prerequisites (e.g., page must be loaded) or when not to use it. An agent would need to infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
scrollBInspect
Scroll the page (or an element) in the given direction by amount pixels.
| Name | Required | Description | Default |
|---|---|---|---|
| amount | No | ||
| selector | No | ||
| direction | No | down |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Minimal disclosure beyond the basic action. Annotations indicate it is not read-only (mutation) and has side effects, but the description does not elaborate on scrolling behavior (smooth vs instant, event triggering, or waiting for content).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single, concise sentence with no wasted words. Ideal length for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers core functionality but lacks details on units, default behavior when no selector is given, error handling, or return value. Adequate for a basic tool but has gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description explains 'amount' and 'direction' but not 'selector', despite the schema listing it. With 0% schema description coverage, the tool description partially compensates but leaves the selector parameter unclear.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description clearly states the tool scrolls a page or element by a direction and amount, distinguishing it from siblings like click or navigate. However, it could be more explicit about scrolling the viewport or a specific element.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool vs alternatives like navigate, or when not to use it. The description lacks context for appropriate usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_optionBInspect
Choose an option from a element by value or visible label.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | ||
| value | No | ||
| selector | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations provide readOnlyHint=false and openWorldHint=true, but the description adds no extra behavioral context such as what happens on failure, multiple matches, or precedence between label and value. With annotations present, a score of 3 is appropriate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single focused sentence. It is concise and wastes no words, though it could benefit from slightly more detail without becoming verbose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of three parameters and no output schema, the description is insufficient. It does not cover behavior such as error handling, return values, or what happens when both label and value are provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions 'by value or visible label' but does not explain the role of each parameter, which takes precedence, or how selector is used. This leaves ambiguity for a 3-parameter tool.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (choose an option) and the target resource (<select> element), and specifies the method (by value or visible label). It distinguishes from sibling tools like fill_form and click.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives (e.g., fill_form, click) or when not to use it. The description lacks context about prerequisites or edge cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_cookiesCInspect
Set cookies for the current browser context.
| Name | Required | Description | Default |
|---|---|---|---|
| cookies | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false (mutation) and openWorldHint=true (state may change), but the description adds no behavioral traits beyond 'set'. It doesn't disclose whether cookies are appended or overwritten, or if any side effects (e.g., affecting other tabs) occur. The description does not contradict annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise (one sentence) but lacks necessary detail. While front-loaded with the verb, it does not earn its place because it omits crucial parameter and behavior information. A more structured description would balance brevity with completeness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's mutation nature, single parameter (with no schema description), and lack of output schema, the description is incomplete. It fails to explain the expected input structure or what happens after execution. An agent cannot reliably use this tool without additional context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. However, it only says 'Set cookies' and does not explain the structure of the 'cookies' parameter (e.g., required fields like name, value, domain). The schema defines it as an array of objects with additionalProperties: true, but without guidance, agents may provide malformed input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool does: 'Set cookies for the current browser context.' The verb 'set' and resource 'cookies' are specific, and it clearly distinguishes itself from sibling tools like 'get_cookies' (which retrieves cookies). No ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites (e.g., page must be loaded) or scenarios where setting cookies is appropriate. Without context, an AI agent has little to decide when to invoke this tool.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | ||
| clear | No | ||
| selector | Yes | ||
| press_enter | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate a write operation (readOnlyHint=false) and possible side effects (openWorldHint=true). The description adds that the tool can clear or press Enter, but does not elaborate on other behavioral aspects like event triggering or error handling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise with two sentences, no redundant information, and front-loaded purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple typing tool, the description covers the main functionality and optional behaviors. However, it lacks details on selector format, element existence handling, and comparative context with fill_form.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It mentions text, clear, and press_enter implicitly, but does not explain the selector parameter or provide format details beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Type text into an input/textarea.' It also specifies optional behaviors (clear first, press Enter). This distinguishes it from sibling tools like click 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides some usage context by mentioning optional clearing and pressing Enter, but it does not explicitly compare to alternative tools (e.g., fill_form) or state when not to use 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).
| Name | Required | Description | Default |
|---|---|---|---|
| state | No | visible | |
| timeout | No | ||
| selector | No |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate readOnlyHint=false and openWorldHint=true, but the description does not elaborate on behavioral traits such as timeout handling, error conditions, or side effects. It adds minimal context beyond the annotation hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that conveys the core functionality without unnecessary words. It is front-loaded and efficient, though it could be slightly more structured by listing parameters.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 3 parameters, no output schema, and no error handling info, the description is incomplete. It fails to mention return values, behavior on timeout, or any prerequisites, which are important for a waiting tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It adds meaning by enumerating the allowed states (visible, hidden, attached, detached) for the 'state' parameter, but does not explain 'timeout' or 'selector' in detail. This is partial coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool waits for a selector to reach a given state, listing the four possible states. This distinguishes it from sibling tools like click or navigate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for waiting, but does not explicitly state when to use this tool versus alternatives, nor when not to use it. No exclusions or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!