Vibe Doctor
Server Details
Check a deployed web app for security headers, SEO, accessibility and performance, with a grade.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
The three tools map to clearly distinct stages: start a scan, retrieve scan results, and explain a single finding. An agent can unambiguously pick the right tool based on whether it needs to initiate, fetch, or interpret.
All tools share the consistent `vibe_doctor_` prefix and follow a predictable verb_noun pattern (start_scan, get_scan, explain_finding). No mixing of conventions.
Three tools is on the lean side but fits the narrow scope of a single-URL scan workflow. The set is well-scoped with each tool earning its place, though it is admittedly thin.
The start/get/explain trio covers the core scan lifecycle from initiation to interpreting findings. Minor gaps exist (e.g., listing or comparing multiple scans, cancelling), but the primary workflow has no dead ends.
Available Tools
3 toolsvibe_doctor_explain_findingVibe Doctor 수정 방법 설명BInspect
검사에서 나온 항목 하나의 관찰 근거, 수정 방법, 재검증 방법과 공식 참고 링크를 설명합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| itemId | Yes | ||
| scanId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It usefully discloses the content of the output (evidence, fix, re-verification, official link), which substitutes somewhat for a missing output schema, but it says nothing about read-only nature, permissions, rate limits, or error behavior.
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?
A single, tight sentence that front-loads the action and lists the payload contents without any waste. Nothing is redundant or padded.
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 low-complexity, two-required-parameter read tool with no annotations and no output schema, the description covers what the result contains but omits parameter meaning, prerequisites, and any failure modes. It is minimally adequate but has clear 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%, so the description should compensate for the two undocumented parameters. It only implicitly references a 'scan' and 'one item', giving no meaning, format, or constraint details for scanId (a UUID) or itemId (pattern like SEC-001).
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 a specific verb (설명합니다/explains) and resource (검사에서 나온 항목 하나/one item from a scan), and enumerates what is explained: observation basis, fix method, re-verification method, and reference links. It does not explicitly differentiate itself from the sibling tools (get_scan, start_scan), but the scope is clear enough to distinguish implicitly.
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?
There is no explicit when-to-use, when-not-to-use, or alternative-tool guidance. The presence of scanId and itemId implies this is used after a scan exists, but no prerequisite or sequencing information (e.g., that a completed scan is required) is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_doctor_get_scanVibe Doctor 검사 결과 조회CInspect
같은 MCP 세션에서 시작한 검사 결과와 관찰 한계를 조회합니다.
| Name | Required | Description | Default |
|---|---|---|---|
| scanId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full behavioral burden. It does disclose one meaningful constraint — the scan must have been started in the same MCP session — which is genuine context beyond the schema. It says nothing about error behavior (e.g., what happens for an out-of-session or expired scanId), permissions, or the shape of the returned observation limits.
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?
A single short sentence with no padding, and the session-scoping constraint is placed up front. It is efficient, though the dense Korean phrasing with an undefined term ('관찰 한계') costs some clarity.
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 one-parameter lookup with no annotations and no output schema, the description does at least state what is returned (results plus observation limits). It remains thin on failure modes and does not resolve what the observation limits represent, leaving a retrieval tool only minimally specified.
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%, but the single parameter is fully constrained structurally (uuid type, format, regex pattern), so much of the semantics is machine-readable. The description adds only an indirect hint that the scanId originates from a scan started in the same session; it does not explain the parameter beyond that.
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 gives a verb (조회/retrieve) and a resource (검사 결과 results and 관찰 한계 observation limits), which is more than a restatement of the title. However, the scope clause '같은 MCP 세션에서 시작한' does the differentiating work implicitly rather than naming how it differs from vibe_doctor_start_scan or vibe_doctor_explain_finding, and '관찰 한계' is not defined.
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 phrase '같은 MCP 세션에서 시작한' hints at a precondition (the scan must originate in the same MCP session), which is the closest thing to usage guidance. There is no explicit when-to-use, no when-not, and no mention of the sibling tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
vibe_doctor_start_scanVibe Doctor 검사 시작BInspect
공개 HTTPS URL 한 개를 현재 무료 스캔 범위에서 검사합니다. 내부망·로그인·저장소는 검사하지 않습니다.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | ||
| requestId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full behavioral burden. It adds useful scope boundaries (what is not scanned) but omits critical traits: whether the scan is asynchronous or synchronous, whether authentication is required, rate limits, and what the tool returns or initiates. This is a substantial gap for a start-scan operation.
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 tightly written sentences with no filler, and the primary scope constraint is placed first. Every sentence earns its place.
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 no annotations and no output schema, the description is too sparse for a tool that likely initiates a scan. It should explain that it starts a scan (and perhaps returns a scan ID for retrieval via vibe_doctor_get_scan), describe the requestId purpose, and mention any async behavior or rate limits. These omissions leave the agent with insufficient context to invoke the tool correctly.
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 clarifies that the url parameter must be a public HTTPS URL and that only one URL is accepted, which is meaningful. However, it says nothing about the requestId parameter, leaving half of the required parameters undocumented in both schema and description.
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 names a specific verb (검사합니다, inspects/scans) and resource (공개 HTTPS URL 한 개, one public HTTPS URL), and states the scope (현재 무료 스캔 범위). It does not distinguish this tool from its siblings (vibe_doctor_get_scan, vibe_doctor_explain_finding), so it falls short of full sibling differentiation.
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 clear applicability constraints (public HTTPS, free scan scope) and exclusions (내부망·로그인·저장소, i.e. no internal networks, logins, or repositories), which implies when the tool can be used. However, it never names the alternative tools or says when to prefer this over vibe_doctor_get_scan or vibe_doctor_explain_finding.
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.
3 tool updates
- First observed
vibe_doctor_explain_finding - First observed
vibe_doctor_get_scan - First observed
vibe_doctor_start_scan
Related MCP Connectors
Scan a web page for accessibility, security, privacy, quality and SEO issues, with fixes.
Scan a website for vulnerabilities: OWASP Top 10, CVEs, SSL, headers - with plain-English fixes
Free front-end security check for any website: a grade plus the secrets and keys it exposes.
Check a live app you own for public databases, leaked keys and exposed files.
Related MCP Servers
- AlicenseAqualityDmaintenanceAudit any website for privacy, security, accessibility, and performance issues — with scores, grades, and actionable fix instructions. No account required.34 npmMIT
- AlicenseAqualityBmaintenanceEnables live website health checks including TLS, HTTPS, and security headers, returning an A-F grade with specific fixes.2MIT
- AlicenseAqualityCmaintenanceCheck whether a website is visible to AI search engines (ChatGPT, Perplexity, Claude, Google AI Overviews). Returns a 0-100 readiness score, a grade, and a specific fix for each gap. Dependency-free, no API keys.28 npmMIT
- AlicenseAqualityDmaintenancePerforms comprehensive website health audits including SSL, DNS, email authentication, performance, uptime, and broken link checks, all without requiring API keys. Returns a scored report with weighted metrics and actionable recommendations.768 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.