Web Validator by DigestSEO

Audit public webpages and supplied markup for HTML, CSS, SEO, JSON-LD, and link issues.

사용해야 할까요

품질 및 안전성

A
설명 품질
100%
스키마 완전성
100%
이름 품질
100%
오염 위험
100%
권한 일치
100%
프로토콜 준수
100%

도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.

컨텍스트 비용

~6,458토큰 (도구 정의)
~8.8 KB일반적인 응답 크기
상당한 주의 영향 (128k 컨텍스트의 5.05%)

이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.

설치

원클릭 설치

`claude_desktop_config.json` 파일에 다음을 추가하세요:

{
  "mcpServers": {
    "mcp-web-validator": {
      "command": "npx",
      "args": [
        "mcp-web-validator"
      ]
    }
  }
}

실행 가능한 패키지

npmmcp-web-validator1.3.42stdio

원격 엔드포인트

https://web-validator-mcp.digestseo.com/mcpstreamable-http

할 수 있는 일

도구 목록

도구 (8)

🟢 읽기 전용🟡 쓰기🔴 삭제⚪ 알 수 없음
🟢validate_html(html)

Use this when raw HTML markup is supplied. Sends that markup to the Nu HTML Checker hosted at validator.nu and returns validation messages. For a live URL, use audit_public_webpage.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw HTML markup supplied by the user; this is not a webpage URL."
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "message": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "column": {
            "type": "number"
          }
        },
        "required": [
          "type",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "total_messages": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "messages",
    "total_messages",
    "truncated",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢validate_css(css)

Use this when raw CSS source is supplied. Parses it inside the Worker and returns syntax messages without contacting an external service.

입력 스키마

{
  "type": "object",
  "properties": {
    "css": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw CSS source supplied by the user."
    }
  },
  "required": [
    "css"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "errors": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "line": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "line",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "errors",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢audit_seo_metadata(html)

Use this for a focused SEO/accessibility-signal check of supplied HTML. It does not fetch a live webpage; use audit_public_webpage for a URL.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw HTML markup supplied by the user; this is not a webpage URL."
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "total_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "issues",
    "total_issues",
    "truncated",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢validate_schema_markup(html)

Use this for a focused JSON-LD syntax check of supplied HTML. It parses JSON only and does not validate Schema.org vocabulary semantics.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw HTML markup supplied by the user; this is not a webpage URL."
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "issues": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "total_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    },
    "blocks_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "issues",
    "total_issues",
    "truncated",
    "overview",
    "blocks_checked"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢check_broken_links(html, base_url, max_links)

Use this for a focused check of up to 20 public HTTP(S) links found in supplied HTML. It does not fetch base_url, follow redirects, or retain response bodies.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw HTML markup supplied by the user; this is not a webpage URL."
    },
    "base_url": {
      "description": "Only resolves relative links; it does not fetch this webpage.",
      "type": "string",
      "format": "uri"
    },
    "max_links": {
      "default": 15,
      "description": "Maximum links to check, from 1 to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": [
                  "blocked",
                  "failed"
                ]
              }
            ]
          },
          "ok": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "status",
          "ok"
        ],
        "additionalProperties": false
      }
    },
    "links_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "healthy_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "redirects": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "unreachable_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "links",
    "links_checked",
    "healthy_links",
    "redirects",
    "unreachable_links",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢generate_validation_report(html, css, check_links, base_url, max_links)

Use this when HTML markup is already supplied. Combines Nu HTML validation with local CSS, SEO, accessibility-signal, and JSON-LD syntax checks. It does not fetch a webpage from base_url; use audit_public_webpage for a live URL.

입력 스키마

{
  "type": "object",
  "properties": {
    "html": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200000,
      "description": "Raw HTML markup supplied by the user; this is not a webpage URL."
    },
    "css": {
      "description": "Optional raw CSS source. Linked stylesheets are not fetched.",
      "type": "string",
      "maxLength": 200000
    },
    "check_links": {
      "default": false,
      "description": "Whether to contact eligible public links found in the supplied HTML.",
      "type": "boolean"
    },
    "base_url": {
      "description": "Only resolves relative links when check_links is true; it does not fetch this webpage.",
      "type": "string",
      "format": "uri"
    },
    "max_links": {
      "default": 15,
      "description": "Maximum links to check, from 1 to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "html"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "html_errors": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "css_errors": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "seo_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "schema_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "links_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "broken_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_warnings": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_info": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "message": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "column": {
            "type": "number"
          }
        },
        "required": [
          "type",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "css_messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "line": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "line",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "seo_findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "schema_findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": [
                  "blocked",
                  "failed"
                ]
              }
            ]
          },
          "ok": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "status",
          "ok"
        ],
        "additionalProperties": false
      }
    },
    "seo_truncated": {
      "type": "boolean"
    },
    "schema_truncated": {
      "type": "boolean"
    },
    "html_total_messages": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_truncated": {
      "type": "boolean"
    },
    "schema_blocks_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "healthy_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "redirects": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "unreachable_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "links_requested": {
      "type": "boolean"
    },
    "css_checked": {
      "type": "boolean"
    },
    "failed_checks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "fetch",
          "html",
          "css",
          "links"
        ]
      }
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "html_errors",
    "css_errors",
    "seo_issues",
    "schema_issues",
    "links_checked",
    "broken_links",
    "html_warnings",
    "html_info",
    "html_messages",
    "css_messages",
    "seo_findings",
    "schema_findings",
    "links",
    "seo_truncated",
    "schema_truncated",
    "html_total_messages",
    "html_truncated",
    "schema_blocks_checked",
    "healthy_links",
    "redirects",
    "unreachable_links",
    "links_requested",
    "css_checked",
    "failed_checks",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢audit_public_webpage(url, check_links, max_links)

Use this when the user provides one live public webpage URL. Fetches one bounded static HTML response, then runs HTML validation, SEO/accessibility-signal, and JSON-LD syntax checks. It checks links only when requested and does not crawl, execute JavaScript, authenticate, or fetch linked stylesheets. Use only URLs the user owns or is authorized to inspect.

입력 스키마

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri",
      "description": "One authorized public HTTP(S) webpage URL; private pages, credentials, and custom ports are rejected."
    },
    "check_links": {
      "default": false,
      "description": "Whether to contact eligible public links found on the fetched page.",
      "type": "boolean"
    },
    "max_links": {
      "default": 15,
      "description": "Maximum links to check, from 1 to 20.",
      "type": "integer",
      "minimum": 1,
      "maximum": 20
    }
  },
  "required": [
    "url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "html_errors": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "css_errors": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "seo_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "schema_issues": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "links_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "broken_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_warnings": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_info": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "message": {
            "type": "string"
          },
          "line": {
            "type": "number"
          },
          "column": {
            "type": "number"
          }
        },
        "required": [
          "type",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "css_messages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "line": {
            "type": "number"
          },
          "message": {
            "type": "string"
          },
          "context": {
            "type": "string"
          }
        },
        "required": [
          "line",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "seo_findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "schema_findings": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "severity",
          "category",
          "message"
        ],
        "additionalProperties": false
      }
    },
    "links": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "status": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "string",
                "enum": [
                  "blocked",
                  "failed"
                ]
              }
            ]
          },
          "ok": {
            "type": "boolean"
          },
          "message": {
            "type": "string"
          }
        },
        "required": [
          "url",
          "status",
          "ok"
        ],
        "additionalProperties": false
      }
    },
    "seo_truncated": {
      "type": "boolean"
    },
    "schema_truncated": {
      "type": "boolean"
    },
    "html_total_messages": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "html_truncated": {
      "type": "boolean"
    },
    "schema_blocks_checked": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "healthy_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "redirects": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "unreachable_links": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "links_requested": {
      "type": "boolean"
    },
    "css_checked": {
      "type": "boolean"
    },
    "failed_checks": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "fetch",
          "html",
          "css",
          "links"
        ]
      }
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    },
    "requested_url": {
      "type": "string"
    },
    "fetched_url": {
      "type": "string"
    },
    "redirects_followed": {
      "type": "integer",
      "minimum": 0,
      "maximum": 3
    },
    "http_status": {
      "type": "integer",
      "minimum": 200,
      "maximum": 299
    },
    "content_type": {
      "type": "string",
      "const": "text/html"
    },
    "page_fetched": {
      "type": "boolean"
    }
  },
  "required": [
    "html_errors",
    "css_errors",
    "seo_issues",
    "schema_issues",
    "links_checked",
    "broken_links",
    "html_warnings",
    "html_info",
    "html_messages",
    "css_messages",
    "seo_findings",
    "schema_findings",
    "links",
    "seo_truncated",
    "schema_truncated",
    "html_total_messages",
    "html_truncated",
    "schema_blocks_checked",
    "healthy_links",
    "redirects",
    "unreachable_links",
    "links_requested",
    "css_checked",
    "failed_checks",
    "overview",
    "page_fetched"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}
🟢audit_public_site(site_url, max_pages, page_offset)

Use this for a bounded, sitemap-first audit of a public website the user owns or is authorized to inspect. It fetches at most 8 same-origin HTML pages per call, respects robots.txt, and returns compact page summaries plus deduplicated findings. It does not recursively follow HTML links, authenticate, execute JavaScript, fetch assets, or run site-wide link checks. Use page_offset to continue when more sitemap pages remain.

입력 스키마

{
  "type": "object",
  "properties": {
    "site_url": {
      "type": "string",
      "maxLength": 2048,
      "format": "uri",
      "description": "Authorized public website URL. The final public origin becomes the crawl boundary."
    },
    "max_pages": {
      "default": 5,
      "description": "Maximum same-origin pages to audit in this call, from 1 to 8.",
      "type": "integer",
      "minimum": 1,
      "maximum": 8
    },
    "page_offset": {
      "default": 0,
      "description": "Zero-based sitemap-page offset for continuing a capped audit batch.",
      "type": "integer",
      "minimum": 0,
      "maximum": 250
    }
  },
  "required": [
    "site_url"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#"
}

출력 스키마

{
  "type": "object",
  "properties": {
    "site_url": {
      "type": "string"
    },
    "sitemap_url": {
      "type": "string"
    },
    "discovery": {
      "type": "string",
      "enum": [
        "sitemap",
        "root_only",
        "partial"
      ]
    },
    "discovery_error": {
      "type": "string",
      "enum": [
        "robots_unavailable",
        "sitemap_unavailable",
        "sitemap_invalid"
      ]
    },
    "pages_discovered": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pages_selected": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pages_audited": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pages_partial": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pages_failed": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "pages_skipped_robots": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "next_page_offset": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "audit_health_score": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "score_coverage_percent": {
      "type": "integer",
      "minimum": 0,
      "maximum": 100
    },
    "pages": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string"
          },
          "fetched_url": {
            "type": "string"
          },
          "status": {
            "type": "string",
            "enum": [
              "passed",
              "needs_attention",
              "partial",
              "failed",
              "skipped"
            ]
          },
          "http_status": {
            "type": "integer",
            "minimum": 200,
            "maximum": 299
          },
          "redirects_followed": {
            "type": "integer",
            "minimum": 0,
            "maximum": 3
          },
          "page_fetched": {
            "type": "boolean"
          },
          "html_validation_status": {
            "type": "string",
            "enum": [
              "completed",
              "timeout",
              "unavailable",
              "not_run"
            ]
          },
          "html_errors": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "html_warnings": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "seo_errors": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "seo_warnings": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "schema_errors": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "schema_warnings": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "notes": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "health_score": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100
          },
          "failure_code": {
            "type": "string"
          },
          "top_findings": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "severity": {
                  "type": "string",
                  "enum": [
                    "error",
                    "warning",
                    "info"
                  ]
                },
                "category": {
                  "type": "string",
                  "enum": [
                    "HTML",
                    "SEO",
                    "Schema",
                    "Accessibility"
                  ]
                },
                "message": {
                  "type": "string"
                }
              },
              "required": [
                "severity",
                "category",
                "message"
              ],
              "additionalProperties": false
            }
          }
        },
        "required": [
          "url",
          "status",
          "page_fetched",
          "html_validation_status",
          "html_errors",
          "html_warnings",
          "seo_errors",
          "seo_warnings",
          "schema_errors",
          "schema_warnings",
          "notes",
          "top_findings"
        ],
        "additionalProperties": false
      }
    },
    "issue_groups": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "severity": {
            "type": "string",
            "enum": [
              "error",
              "warning",
              "info"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "HTML",
              "SEO",
              "Schema",
              "Accessibility"
            ]
          },
          "message": {
            "type": "string"
          },
          "affected_pages": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "example_urls": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "severity",
          "category",
          "message",
          "affected_pages",
          "example_urls"
        ],
        "additionalProperties": false
      }
    },
    "issue_groups_truncated": {
      "type": "boolean"
    },
    "overview": {
      "type": "object",
      "properties": {
        "kind": {
          "type": "string",
          "enum": [
            "html",
            "css",
            "seo",
            "schema",
            "links",
            "report",
            "site"
          ]
        },
        "status": {
          "type": "string",
          "enum": [
            "passed",
            "needs_attention",
            "partial",
            "failed",
            "not_applicable"
          ]
        },
        "title": {
          "type": "string"
        },
        "headline": {
          "type": "string"
        },
        "detail": {
          "type": "string"
        },
        "total": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "shown": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991
        },
        "truncated": {
          "type": "boolean"
        },
        "counts": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string"
              },
              "label": {
                "type": "string"
              },
              "value": {
                "type": "integer",
                "minimum": 0,
                "maximum": 9007199254740991
              },
              "tone": {
                "type": "string",
                "enum": [
                  "error",
                  "warning",
                  "info",
                  "success"
                ]
              }
            },
            "required": [
              "key",
              "label",
              "value",
              "tone"
            ],
            "additionalProperties": false
          }
        },
        "next_action": {
          "type": "string"
        }
      },
      "required": [
        "kind",
        "status",
        "title",
        "headline",
        "detail",
        "total",
        "shown",
        "truncated",
        "counts"
      ],
      "additionalProperties": false
    },
    "error": {
      "type": "string"
    }
  },
  "required": [
    "site_url",
    "discovery",
    "pages_discovered",
    "pages_selected",
    "pages_audited",
    "pages_partial",
    "pages_failed",
    "pages_skipped_robots",
    "truncated",
    "score_coverage_percent",
    "pages",
    "issue_groups",
    "issue_groups_truncated",
    "overview"
  ],
  "$schema": "http://json-schema.org/draft-07/schema#",
  "additionalProperties": false
}

커뮤니티

이 서버 평가하기

증거

최근 관측

검증됨버전이 기록되지 않음도구 8개
검증됨버전이 기록되지 않음도구 8개