Skip to main content
Glama
ananddtyagi

Webpage Screenshot MCP Server

by ananddtyagi

웹페이지 스크린샷 MCP 서버

Puppeteer를 사용하여 웹 페이지의 스크린샷을 캡처하는 MCP(Model Context Protocol) 서버입니다. 이 서버를 통해 AI 에이전트는 웹 애플리케이션을 시각적으로 검증하고 웹 애플리케이션 생성 시 진행 상황을 확인할 수 있습니다.

2025년 5월 27일 화면 녹화 (2)

특징

  • 전체 페이지 스크린샷 : 전체 웹 페이지 또는 뷰포트만 캡처

  • 요소 스크린샷 : CSS 선택기를 사용하여 특정 요소를 타겟팅합니다.

  • 다양한 포맷 지원: PNG, JPEG, WebP 포맷 지원

  • 사용자 정의 옵션 : 뷰포트 크기, 이미지 품질, 대기 조건 및 지연 설정

  • Base64 인코딩 : 간편한 통합을 위해 Base64로 인코딩된 이미지로 스크린샷을 반환합니다.

  • 인증 지원 : 수동 로그인 및 쿠키 지속성

  • 기본 브라우저 통합 : 보다 자연스러운 경험을 위해 시스템의 기본 브라우저를 사용하세요

  • 세션 지속성 : 여러 단계의 워크플로를 위해 브라우저 세션을 열어 둡니다.

Related MCP server: MCP Browser Screenshot Server

설치

지엑스피1

용법

도구

이 MCP 서버는 여러 가지 도구를 제공합니다.

1. 로그인 후 대기

수동 로그인을 위해 눈에 보이는 브라우저 창에서 웹 페이지를 열고, 사용자가 로그인을 완료할 때까지 기다린 후 쿠키를 저장합니다.

{
  "url": "https://example.com/login",
  "waitMinutes": 5,
  "successIndicator": ".dashboard-welcome",
  "useDefaultBrowser": true
}
  • url (필수): 로그인 페이지의 URL

  • waitMinutes (선택 사항): 로그인을 기다리는 최대 시간(분)(기본값: 5)

  • successIndicator (선택 사항): 로그인 성공을 나타내는 CSS 선택기 또는 URL 패턴

  • useDefaultBrowser (선택 사항): 시스템의 기본 브라우저를 사용할지 여부(기본값: true)

2. 스크린샷 페이지

주어진 URL의 스크린샷을 캡처하여 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 (필수): 스크린샷을 찍을 웹페이지의 URL

  • fullPage (선택 사항): 전체 페이지를 캡처할지 아니면 뷰포트만 캡처할지(기본값: true)

  • width (선택 사항): 픽셀 단위의 뷰포트 너비(기본값: 1920)

  • height (선택 사항): 픽셀 단위의 뷰포트 높이(기본값: 1080)

  • format (선택 사항): 이미지 형식 - "png", "jpeg" 또는 "webp"(기본값: "png")

  • quality (선택 사항): 이미지 품질(0-100), jpeg 및 webp에만 적용 가능

  • waitFor (선택 사항): 페이지가 로드된 것으로 간주할 시기 - "load", "domcontentloaded", "networkidle0" 또는 "networkidle2"(기본값: "networkidle2")

  • delay (선택 사항): 페이지 로드 후 추가 지연 시간(밀리초)(기본값: 0)

  • useSavedAuth (선택 사항): 이전 로그인에서 저장된 쿠키를 사용할지 여부(기본값: true)

  • reuseAuthPage (선택 사항): 기존 인증된 페이지를 사용할지 여부(기본값: false)

  • useDefaultBrowser (선택 사항): 시스템의 기본 브라우저를 사용할지 여부(기본값: false)

  • visibleBrowser (선택 사항): 브라우저 창을 표시할지 여부(기본값: false)

3. 스크린샷 요소

CSS 선택기를 사용하여 웹페이지의 특정 요소의 스크린샷을 캡처합니다.

{
  "url": "https://example.com/dashboard",
  "selector": ".user-profile",
  "waitForSelector": true,
  "format": "png",
  "quality": 80,
  "padding": 10,
  "useSavedAuth": true,
  "useDefaultBrowser": true,
  "visibleBrowser": true
}
  • url (필수): 웹페이지의 URL

  • selector (필수): 스크린샷을 찍을 요소에 대한 CSS 선택기

  • waitForSelector (선택 사항): 선택자가 나타날 때까지 기다릴지 여부(기본값: true)

  • format (선택 사항): 이미지 형식 - "png", "jpeg" 또는 "webp"(기본값: "png")

  • quality (선택 사항): 이미지 품질(0-100), jpeg 및 webp에만 적용 가능

  • padding (선택 사항): 요소 주위의 픽셀 패딩(기본값: 0)

  • useSavedAuth (선택 사항): 이전 로그인에서 저장된 쿠키를 사용할지 여부(기본값: true)

  • useDefaultBrowser (선택 사항): 시스템의 기본 브라우저를 사용할지 여부(기본값: false)

  • visibleBrowser (선택 사항): 브라우저 창을 표시할지 여부(기본값: false)

4. clear-auth-cookies

특정 도메인이나 모든 도메인에 대해 저장된 인증 쿠키를 지웁니다.

{
  "url": "https://example.com"
}
  • url (선택 사항): 쿠키를 삭제할 도메인의 URL입니다. 지정하지 않으면 모든 쿠키가 삭제됩니다.

기본 브라우저 모드

기본 브라우저 모드를 사용하면 Puppeteer에 기본으로 제공되는 Chromium 대신 시스템의 일반 브라우저(Chrome, Edge 등)를 사용할 수 있습니다. 이 기능은 다음과 같은 경우에 유용합니다.

  1. 기존 브라우저 세션 및 확장 프로그램 사용

  2. 저장된 자격 증명을 사용하여 웹사이트에 수동으로 로그인

  3. 여러 단계로 구성된 워크플로에 대해 보다 자연스러운 검색 환경을 제공합니다.

  4. 사용자와 동일한 브라우저 환경에서 테스트

기본 브라우저 모드를 활성화하려면 도구 매개변수에서 useDefaultBrowser: true 및 visibleBrowser: true 설정합니다.

기본 브라우저 모드 작동 방식

기본 브라우저 모드를 활성화하는 경우:

  1. 이 도구는 시스템의 기본 브라우저(Chrome, Edge 등)를 찾으려고 시도합니다.

  2. 원격 디버깅이 활성화된 임의의 포트에서 브라우저를 시작합니다.

  3. Puppeteer는 자체 인스턴스를 시작하는 대신 이 브라우저 인스턴스에 연결합니다.

  4. 세션 중에 기존 프로필, 확장 프로그램 및 쿠키를 사용할 수 있습니다.

  5. 브라우저 창은 계속 표시되므로 수동으로 상호 작용할 수 있습니다.

이 모드는 인증이나 복잡한 사용자 상호 작용이 필요한 워크플로에 특히 유용합니다.

브라우저 지속성

MCP 서버는 여러 도구 호출에 걸쳐 지속적인 브라우저 세션을 유지할 수 있습니다.

  1. login-and-wait 사용하면 브라우저 세션이 계속 열려 있습니다.

  2. reuseAuthPage: true 사용하여 screenshot-page 또는 screenshot-element 에 대한 후속 호출은 동일한 페이지를 사용합니다.

  3. 이를 통해 재인증 없이도 여러 단계의 워크플로가 가능합니다.

쿠키 관리

방문하는 각 도메인에 대한 쿠키가 자동으로 저장됩니다.

  1. login-and-wait 사용한 후 쿠키는 홈 폴더의 .mcp-screenshot-cookies 디렉토리에 저장됩니다.

  2. 이 쿠키는 useSavedAuth: true 로 동일한 도메인을 다시 방문할 때 자동으로 로드됩니다.

  3. clear-auth-cookies 도구를 사용하여 쿠키를 지울 수 있습니다.

워크플로 예시: 보호된 페이지 스크린샷

인증이 필요한 페이지의 스크린샷을 찍는 워크플로의 예는 다음과 같습니다.

  1. 수동 로그인 단계

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

기본 브라우저에서 로그인 페이지가 열립니다. 수동으로 로그인할 수 있으며, 로그인이 완료되면(성공 표시기를 감지하거나 로그인 페이지에서 나가서) 세션 쿠키가 저장됩니다.

  1. 저장된 세션을 사용하여 스크린샷 찍기

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

이렇게 하면 동일한 브라우저 창에 저장된 인증 쿠키를 사용하여 계정 페이지의 스크린샷이 만들어집니다.

  1. 특정 요소의 스크린샷 찍기

{
  "name": "screenshot-element",
  "parameters": {
    "url": "https://example.com/dashboard",
    "selector": ".user-profile-section",
    "useSavedAuth": true,
    "useDefaultBrowser": true,
    "visibleBrowser": true
  }
}
  1. 완료되면 쿠키 지우기

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

이 워크플로를 사용하면 일반 사용자처럼 보호된 페이지와 상호 작용하여 기본 브라우저에서 전체 인증 흐름을 완료할 수 있습니다.

헤드리스 모드 vs. 표시 모드

  • 헤드리스 모드 ( visibleBrowser: false ): 사용자 상호 작용이 필요 없는 자동화된 워크플로에 더 적합하고 더 빠릅니다.

  • 표시 모드 ( visibleBrowser: true ): 브라우저 창을 표시하여 사용자 상호 작용 및 수동 확인이 가능합니다. useDefaultBrowser: true 에 필수입니다.

플랫폼 지원

기본 브라우저 감지 기능은 다음에서 작동합니다.

  • macOS : Chrome, Edge, Safari 감지

  • Windows : 레지스트리 또는 일반 설치 경로를 통해 Chrome 및 Edge 감지

  • Linux : 시스템 명령을 통해 Chrome 및 Chromium 감지

문제 해결

일반적인 문제

  1. 기본 브라우저를 찾을 수 없음 : 시스템이 기본 브라우저를 찾을 수 없는 경우 Puppeteer의 기본 제공 Chromium을 사용합니다.

  2. 연결 문제 : 브라우저의 디버깅 포트에 연결하는 데 문제가 있는 경우 다른 인스턴스가 이미 해당 포트를 사용하고 있는지 확인하세요.

  3. 쿠키 문제 : 인증이 작동하지 않는 경우 clear-auth-cookies 도구를 사용하여 쿠키를 지워보세요.

디버깅

MCP 서버는 문제 발생 시 콘솔에 유용한 오류 메시지를 기록합니다. 문제 해결 정보는 이 메시지를 확인하세요.

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