Skip to main content
Glama
ananddtyagi

Webpage Screenshot MCP Server

by ananddtyagi

Captura de pantalla de la página web del servidor MCP

Un servidor MCP (Protocolo de Contexto de Modelo) que captura capturas de pantalla de páginas web con Puppeteer. Este servidor permite a los agentes de IA verificar visualmente las aplicaciones web y ver su progreso al generarlas.

Grabación de pantalla del 27 de mayo de 2025 (2)

Características

  • Capturas de pantalla de página completa : captura páginas web completas o solo la ventana gráfica

  • Capturas de pantalla de elementos : seleccione elementos específicos mediante selectores CSS

  • Múltiples formatos : Compatibilidad con formatos PNG, JPEG y WebP

  • Opciones personalizables : establezca el tamaño de la ventana gráfica, la calidad de la imagen, las condiciones de espera y los retrasos

  • Codificación Base64 : devuelve capturas de pantalla como imágenes codificadas en base64 para una fácil integración

  • Soporte de autenticación : inicio de sesión manual y persistencia de cookies

  • Integración del navegador predeterminado : utilice el navegador predeterminado de su sistema para una experiencia más natural

  • Persistencia de la sesión : mantenga abiertas las sesiones del navegador para flujos de trabajo de varios pasos

Related MCP server: MCP Browser Screenshot Server

Instalación

# Install globally
npm install -g screenshot-webpage-mcp

# Or use locally in a project
npm install screenshot-webpage-mcp

Uso

Herramientas

Este servidor MCP proporciona varias herramientas:

1. iniciar sesión y esperar

Abre una página web en una ventana visible del navegador para el inicio de sesión manual, espera a que el usuario complete el inicio de sesión y luego guarda las cookies.

{
  "url": "https://example.com/login",
  "waitMinutes": 5,
  "successIndicator": ".dashboard-welcome",
  "useDefaultBrowser": true
}
  • url (obligatorio): La URL de la página de inicio de sesión

  • waitMinutes (opcional): Máximo de minutos de espera para iniciar sesión (predeterminado: 5)

  • successIndicator (opcional): selector CSS o patrón de URL que indica un inicio de sesión exitoso

  • useDefaultBrowser (opcional): si se debe utilizar el navegador predeterminado del sistema (valor predeterminado: verdadero)

2. página de captura de pantalla

Captura una captura de pantalla de una URL determinada y la devuelve como una imagen codificada en base64.

{
  "url": "https://example.com/dashboard",
  "fullPage": true,
  "width": 1920,
  "height": 1080,
  "format": "png",
  "quality": 80,
  "waitFor": "networkidle2",
  "delay": 500,
  "useSavedAuth": true,
  "reuseAuthPage": true,
  "useDefaultBrowser": true,
  "visibleBrowser": true
}
  • url (obligatorio): La URL de la página web de la que se capturará la captura de pantalla.

  • fullPage (opcional): si se debe capturar la página completa o solo la ventana gráfica (valor predeterminado: verdadero)

  • width (opcional): Ancho de la ventana gráfica en píxeles (predeterminado: 1920)

  • height (opcional): altura de la ventana gráfica en píxeles (predeterminado: 1080)

  • format (opcional): Formato de imagen: "png", "jpeg" o "webp" (predeterminado: "png")

  • quality (opcional): Calidad de la imagen (0-100), solo aplicable para jpeg y webp

  • waitFor (opcional): cuándo considerar que la página está cargada: "load", "domcontentloaded", "networkidle0" o "networkidle2" (predeterminado: "networkidle2")

  • delay (opcional): retraso adicional en milisegundos después de la carga de la página (predeterminado: 0)

  • useSavedAuth (opcional): si se deben utilizar cookies guardadas del inicio de sesión anterior (valor predeterminado: verdadero)

  • reuseAuthPage (opcional): si se debe utilizar la página autenticada existente (predeterminado: falso)

  • useDefaultBrowser (opcional): si se debe utilizar el navegador predeterminado del sistema (predeterminado: falso)

  • visibleBrowser (opcional): si se debe mostrar la ventana del navegador (predeterminado: falso)

3. elemento de captura de pantalla

Captura una captura de pantalla de un elemento específico en una página web utilizando un selector CSS.

{
  "url": "https://example.com/dashboard",
  "selector": ".user-profile",
  "waitForSelector": true,
  "format": "png",
  "quality": 80,
  "padding": 10,
  "useSavedAuth": true,
  "useDefaultBrowser": true,
  "visibleBrowser": true
}
  • url (obligatorio): La URL de la página web

  • selector (obligatorio): selector CSS para el elemento que se va a capturar en captura de pantalla

  • waitForSelector (opcional): si se debe esperar a que aparezca el selector (valor predeterminado: verdadero)

  • format (opcional): Formato de imagen: "png", "jpeg" o "webp" (predeterminado: "png")

  • quality (opcional): Calidad de la imagen (0-100), solo aplicable para jpeg y webp

  • padding (opcional): relleno alrededor del elemento en píxeles (predeterminado: 0)

  • useSavedAuth (opcional): si se deben utilizar cookies guardadas del inicio de sesión anterior (valor predeterminado: verdadero)

  • useDefaultBrowser (opcional): si se debe utilizar el navegador predeterminado del sistema (predeterminado: falso)

  • visibleBrowser (opcional): si se debe mostrar la ventana del navegador (predeterminado: falso)

4. borrar cookies de autenticación

Borra las cookies de autenticación guardadas para un dominio específico o para todos los dominios.

{
  "url": "https://example.com"
}
  • url (opcional): URL del dominio para el que se borrarán las cookies. Si no se proporciona, se borran todas las cookies.

Modo de navegador predeterminado

El modo de navegador predeterminado te permite usar el navegador habitual de tu sistema (Chrome, Edge, etc.) en lugar del Chromium incluido en Puppeteer. Esto es útil para:

  1. Usando sus sesiones y extensiones de navegador existentes

  2. Iniciar sesión manualmente en sitios web con sus credenciales guardadas

  3. Tener una experiencia de navegación más natural para flujos de trabajo de varios pasos

  4. Prueba con el mismo entorno de navegador que tus usuarios

Para habilitar el modo de navegador predeterminado, configure useDefaultBrowser: true y visibleBrowser: true en los parámetros de su herramienta.

Cómo funciona el modo de navegador predeterminado

Cuando habilita el modo de navegador predeterminado:

  1. La herramienta intentará localizar el navegador predeterminado de su sistema (Chrome, Edge, etc.)

  2. Inicia su navegador con la depuración remota habilitada en un puerto aleatorio

  3. Puppeteer se conecta a esta instancia del navegador en lugar de iniciar la suya propia.

  4. Sus perfiles, extensiones y cookies existentes están disponibles durante la sesión

  5. La ventana del navegador permanece visible para que puedas interactuar con ella manualmente.

Este modo es particularmente útil para flujos de trabajo que requieren autenticación o interacciones complejas del usuario.

Persistencia del navegador

El servidor MCP puede mantener una sesión de navegador persistente en múltiples llamadas de herramientas:

  1. Cuando utiliza login-and-wait , la sesión del navegador se mantiene abierta

  2. Las llamadas posteriores a screenshot-page o al screenshot-element con reuseAuthPage: true utilizarán la misma página

  3. Esto permite flujos de trabajo de varios pasos sin tener que volver a autenticarse.

Gestión de cookies

Las cookies se guardan automáticamente para cada dominio que visites:

  1. Después de usar login-and-wait , las cookies se guardan en el directorio .mcp-screenshot-cookies en su carpeta de inicio

  2. Estas cookies se cargan automáticamente al visitar nuevamente el mismo dominio con useSavedAuth: true

  3. Puede borrar las cookies utilizando la herramienta clear-auth-cookies

Ejemplo de flujo de trabajo: capturas de pantalla de páginas protegidas

A continuación se muestra un ejemplo de flujo de trabajo para tomar capturas de pantalla de páginas que requieren autenticación:

  1. Fase de inicio de sesión manual

{
  "name": "login-and-wait",
  "parameters": {
    "url": "https://example.com/login",
    "waitMinutes": 3,
    "successIndicator": ".dashboard-welcome",
    "useDefaultBrowser": true
  }
}

Esto abrirá su navegador predeterminado con la página de inicio de sesión. Puede iniciar sesión manualmente y, una vez completado (ya sea al detectar el indicador de éxito o al salir de la página de inicio de sesión), se guardarán las cookies de sesión.

  1. Tomar capturas de pantalla usando una sesión guardada

{
  "name": "screenshot-page",
  "parameters": {
    "url": "https://example.com/account",
    "fullPage": true,
    "useSavedAuth": true,
    "reuseAuthPage": true,
    "useDefaultBrowser": true,
    "visibleBrowser": true
  }
}

Esto tomará una captura de pantalla de la página de la cuenta utilizando las cookies de autenticación guardadas en la misma ventana del navegador.

  1. Tomar capturas de pantalla de elementos específicos

{
  "name": "screenshot-element",
  "parameters": {
    "url": "https://example.com/dashboard",
    "selector": ".user-profile-section",
    "useSavedAuth": true,
    "useDefaultBrowser": true,
    "visibleBrowser": true
  }
}
  1. Borrar cookies cuando termine

{
  "name": "clear-auth-cookies",
  "parameters": {
    "url": "https://example.com"
  }
}

Este flujo de trabajo le permite interactuar con páginas protegidas como si fuera un usuario normal, completando el flujo de autenticación completo en su navegador predeterminado.

Modo sin cabeza vs. modo visible

  • Modo sin cabeza ( visibleBrowser: false ): más rápido y más adecuado para flujos de trabajo automatizados donde no se necesita interacción del usuario.

  • Modo visible ( visibleBrowser: true ): Muestra la ventana del navegador, lo que permite la interacción del usuario y la verificación manual. Obligatorio para useDefaultBrowser: true .

Soporte de plataforma

La detección del navegador predeterminado funciona en:

  • macOS : Detecta Chrome, Edge y Safari

  • Windows : detecta Chrome y Edge a través del registro o rutas de instalación comunes

  • Linux : Detecta Chrome y Chromium mediante comandos del sistema

Solución de problemas

Problemas comunes

  1. Navegador predeterminado no encontrado : si el sistema no puede encontrar su navegador predeterminado, recurrirá al Chromium incluido en Puppeteer.

  2. Problemas de conexión : si hay problemas al conectarse al puerto de depuración del navegador, verifique si otra instancia ya está usando ese puerto.

  3. Problemas con las cookies : si la autenticación no funciona, intente borrar las cookies con la herramienta clear-auth-cookies .

Depuración

El servidor MCP registra mensajes de error útiles en la consola cuando se producen problemas. Consulte estos mensajes para obtener información sobre la solución de problemas.

Available Tools

5 tools
clear-auth-cookiesA

Clears saved authentication cookies for a specific domain or all domains

ParametersJSON Schema
NameRequiredDescriptionDefault
urlNoURL of the domain to clear cookies for. If not provided, clears all cookies.

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, so the description carries the full burden. It states the action ('clears saved authentication cookies') but does not disclose behavioral traits such as whether this requires specific permissions, if it's reversible, potential side effects (e.g., logging out users), or rate limits. The description is minimal and lacks critical context for a mutation tool.

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

Conciseness5/5

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

The description is a single, efficient sentence with zero waste, front-loading the core action and scope. It is appropriately sized for a simple tool with one optional parameter.

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 tool's complexity (simple mutation with one parameter) and lack of annotations or output schema, the description is adequate but has clear gaps. It covers the basic purpose and parameter semantics via the schema, but fails to provide behavioral context needed for safe usage, such as permissions or side effects.

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 100%, with the parameter 'url' documented as 'URL of the domain to clear cookies for. If not provided, clears all cookies.' The description adds no additional meaning beyond this, as it only restates the same information. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the tool's purpose with a specific verb ('clears') and resource ('saved authentication cookies'), and distinguishes its scope ('for a specific domain or all domains'). It directly answers what the tool does without being vague or tautological.

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 usage context by specifying 'for a specific domain or all domains,' but does not explicitly state when to use this tool versus alternatives or provide exclusions. Given the sibling tools (e.g., 'login-and-wait'), it lacks guidance on when to clear cookies relative to login/logout workflows.

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

login-and-waitA

Opens a webpage in a visible browser window for manual login, waits for user to complete login, then saves cookies

ParametersJSON Schema
NameRequiredDescriptionDefault
successIndicatorNoOptional CSS selector or URL pattern that indicates successful login
urlYesThe URL of the login page
useDefaultBrowserNoWhether to use the system's default browser instead of Puppeteer's bundled Chromium
waitMinutesNoMaximum minutes to wait for login (default: 3)

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the tool's behavior well: opening a visible browser, waiting for manual login, and saving cookies. However, it misses details like error handling, what happens after timeout, or how cookies are saved/stored. It does not contradict annotations, as none exist.

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, efficient sentence that front-loads the core purpose and steps. Every word earns its place, with no redundancy or unnecessary details, making it highly concise and well-structured.

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 no annotations and no output schema, the description adequately covers the tool's purpose and high-level behavior. However, for a tool with 4 parameters and no output schema, it lacks details on return values, error cases, or integration with sibling tools like 'signal-login-complete'. It's complete enough for basic understanding but has gaps for full contextual use.

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 100%, so the schema fully documents all parameters. The description does not add any parameter-specific information beyond what the schema provides (e.g., it doesn't explain 'successIndicator' usage or 'waitMinutes' implications). Baseline 3 is appropriate as the schema handles the heavy lifting.

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 specific action sequence: 'Opens a webpage in a visible browser window for manual login, waits for user to complete login, then saves cookies.' It uses precise verbs (opens, waits, saves) and identifies the resource (webpage, cookies), distinguishing it from sibling tools like screenshot tools or cookie-clearing tools.

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 usage for manual login scenarios where user interaction is required, but it does not explicitly state when to use this tool versus alternatives like automated login tools or other authentication methods. It provides clear context (manual login in a browser) but lacks explicit exclusions or named alternatives.

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

screenshot-elementB

Captures a screenshot of a specific element on a webpage using a CSS selector

ParametersJSON Schema
NameRequiredDescriptionDefault
formatNoImage format for the screenshotpng
paddingNoPadding around the element in pixels
qualityNoQuality of the image (0-100), only applicable for jpeg and webp
selectorYesCSS selector for the element to screenshot
urlYesThe URL of the webpage
useDefaultBrowserNoWhether to use the system's default browser instead of Puppeteer's bundled Chromium
useSavedAuthNoWhether to use saved cookies from previous login
visibleBrowserNoWhether to show the browser window (non-headless mode)
waitForSelectorNoWhether to wait for the selector to appear

TDQS

B3.2/5.0
Behavior2/5

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

With no annotations provided, the description carries full burden but only states the basic function. It doesn't disclose important behavioral traits like: whether this navigates to new URLs, requires page loading, handles authentication, has rate limits, or what happens with invalid selectors. The description is minimal beyond the core action.

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

Conciseness5/5

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

Single sentence, zero waste words, front-loaded with the core action. Every word earns its place by specifying element-level capture with CSS selector mechanism.

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 a 9-parameter tool with no annotations and no output schema, the description is inadequate. It doesn't explain what the tool returns (image data? file path? error formats?), doesn't mention authentication dependencies despite sibling login tools, and provides minimal behavioral context for a complex screenshot 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 100%, so the schema fully documents all 9 parameters. The description adds no parameter-specific information beyond implying 'selector' and 'url' are involved. Baseline 3 is appropriate when schema does all parameter documentation work.

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 specific action ('Captures a screenshot') and target resource ('specific element on a webpage'), using precise terminology ('CSS selector'). It distinguishes from sibling 'screenshot-page' by specifying element-level rather than page-level capture.

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 explicit guidance on when to use this tool versus alternatives like 'screenshot-page' or other siblings. The description implies usage for element-specific screenshots but doesn't provide context about prerequisites (e.g., needing authentication via login tools) or exclusions.

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

screenshot-pageA

Captures a screenshot of a given URL and returns it as base64 encoded image. Can use saved cookies from login-and-wait.

ParametersJSON Schema
NameRequiredDescriptionDefault
delayNoAdditional delay in milliseconds to wait after page load
formatNoImage format for the screenshotpng
fullPageNoWhether to capture the full page or just the viewport
heightNoViewport height in pixels
qualityNoQuality of the image (0-100), only applicable for jpeg and webp
reuseAuthPageNoWhether to use the existing authenticated page instead of creating a new one
urlYesThe URL of the webpage to screenshot
useDefaultBrowserNoWhether to use the system's default browser instead of Puppeteer's bundled Chromium
useSavedAuthNoWhether to use saved cookies from previous login
visibleBrowserNoWhether to show the browser window (non-headless mode)
waitForNoWhen to consider the page loadednetworkidle2
widthNoViewport width in pixels

TDQS

A3.9/5.0
Behavior3/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions the ability to use saved cookies, which hints at authentication behavior, but doesn't cover other important traits like performance implications (e.g., page load delays), potential failures (e.g., invalid URLs), or side effects (e.g., browser resource usage). The description adds some value but leaves significant gaps for a tool with 12 parameters.

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, well-structured sentence that efficiently conveys the core functionality and a key feature (cookie reuse). Every word earns its place with no redundancy or fluff, making it appropriately sized and front-loaded.

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 tool's complexity (12 parameters, no annotations, no output schema), the description is incomplete. It covers the basic purpose and authentication context but lacks details on behavioral traits, error handling, or output specifics (beyond base64 encoding). For a screenshot tool with many configuration options, more guidance on usage scenarios or limitations would be helpful.

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 100%, so the schema already documents all 12 parameters thoroughly. The description adds minimal semantic context by mentioning 'saved cookies from login-and-wait,' which loosely relates to the 'useSavedAuth' parameter, but doesn't provide additional meaning beyond what the schema specifies for most parameters. Baseline 3 is appropriate when the schema does the heavy lifting.

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

Purpose5/5

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

The description clearly states the specific action ('captures a screenshot') and resource ('of a given URL'), and distinguishes from sibling tools by mentioning the ability to use saved cookies from 'login-and-wait' (differentiating from 'screenshot-element' which targets specific elements). It also specifies the output format ('returns it as base64 encoded image').

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 mentioning saved cookies from 'login-and-wait', which implies when to use this tool (for authenticated pages). However, it doesn't explicitly state when NOT to use it or name alternatives like 'screenshot-element' for element-specific captures, leaving some guidance implicit rather than explicit.

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

signal-login-completeA

Signals that manual login is complete and the login-and-wait tool should continue

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the full burden. It describes the behavioral trait of signaling completion to another tool, which is useful context. However, it doesn't disclose other aspects like whether it requires specific permissions, has side effects, or how it interacts with authentication states, leaving some 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, efficient sentence that front-loads the key information: signaling login completion. There is zero waste, and it earns its place by clearly stating the tool's role in the workflow.

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 (0 parameters, no output schema, no annotations), the description is complete enough. It explains the purpose and usage in context with sibling tools. However, it could be slightly more complete by mentioning any prerequisites or effects, but for a signaling tool, this is adequate.

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 input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description doesn't add param info, but this is acceptable given the lack of parameters. Baseline is 4 for 0 params, as it doesn't need to compensate for any gaps.

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 purpose: to signal completion of manual login so another tool (login-and-wait) can continue. It specifies the verb 'signals' and the context 'manual login is complete,' but doesn't explicitly differentiate from all sibling tools like clear-auth-cookies or screenshot tools, which serve different purposes.

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

Usage Guidelines5/5

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

The description explicitly states when to use this tool: 'when manual login is complete' and that it should be used to allow 'login-and-wait tool should continue.' It names the specific alternative tool (login-and-wait) and implies usage in a sequence, providing clear context without exclusions.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 5 tool updatesv1.0.0
    • First observedclear-auth-cookies
    • First observedlogin-and-wait
    • First observedscreenshot-element
    • First observedscreenshot-page
    • First observedsignal-login-complete

TDQS

A3.7/5.0

Scored across 5 tools

Disambiguation4/5

Most tools have distinct purposes: screenshot-element and screenshot-page target different screenshot scopes, while login-and-wait and clear-auth-cookies handle authentication. However, signal-login-complete is tightly coupled with login-and-wait, which could cause confusion about whether to use it separately or as part of the login flow.

Naming Consistency3/5

The naming is mixed: screenshot-element and screenshot-page follow a verb-noun pattern, but clear-auth-cookies and login-and-wait use hyphens and compound phrases, while signal-login-complete is a full sentence. This inconsistency makes the set less predictable, though the names remain readable.

Tool Count5/5

With 5 tools, the count is well-scoped for a webpage screenshot server. Each tool serves a clear role in the workflow (authentication, screenshot capture, and cleanup), and there are no extraneous tools, making it efficient for agents to navigate.

Completeness4/5

The toolset covers core screenshot and authentication workflows effectively, including login, cookie management, and element/page capture. A minor gap is the lack of tools for advanced screenshot options (e.g., full-page capture or viewport adjustments), but agents can still accomplish the main tasks without significant workarounds.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers