Skip to main content
Glama
carsonroell-debug

sitehealth-mcp

SiteHealth MCP

npm License: MIT MCPize

Full website health audit in one MCP tool call. Zero API keys required.

One call. Six checks. Scored report.

One-click install: Install on MCPize | npx sitehealth-mcp

Features

  • SSL Certificate — validity, expiry, issuer, protocol, SANs

  • DNS Health — A/AAAA/MX/NS/CNAME/TXT/SOA, IPv6, resolution time

  • Email Auth — DMARC, SPF, DKIM validation with fix recommendations

  • Page Performance — TTFB, load time, page weight, compression, caching

  • Uptime — HTTP ping with response time

  • Broken Links — extract and check page links for 4xx/5xx responses

  • Health Score — weighted 0-100 score with letter grade (A-F)

Related MCP server: mcp-check-links

Quick Start

{
  "mcpServers": {
    "sitehealth": {
      "command": "npx",
      "args": ["-y", "sitehealth-mcp"]
    }
  }
}

Then ask your AI agent:

"Audit the health of example.com"

Tools

Tool

Description

audit_site

Full audit — all 6 checks, scored report

check_ssl

SSL cert validity and expiry

check_dns

DNS records and resolution

check_email_auth

DMARC/SPF/DKIM validation

check_performance

TTFB, load time, page weight

check_uptime

HTTP ping + response time

check_links

Broken link detection

Free vs Pro

Tool

Free

Pro ($19/mo)

check_ssl

Yes

Yes

check_dns

Yes

Yes

audit_site

-

Yes

check_email_auth

-

Yes

check_performance

-

Yes

check_uptime

-

Yes

check_links

-

Yes

Free tier gives you SSL and DNS checks. Pro unlocks the full 6-check audit with A-F scoring, email authentication, performance, uptime, and broken link detection.

Upgrade to Pro on MCPize — $19/mo or $190/yr.

Example Output

{
  "url": "https://example.com",
  "overallScore": 82,
  "overallGrade": "B",
  "criticalIssues": [
    "No DMARC record — required by Gmail/Yahoo/Microsoft for deliverability"
  ],
  "warnings": [
    "SSL certificate expires in 28 days — renew soon",
    "2 broken links found out of 47 checked"
  ],
  "recommendations": [
    "Add a DMARC record: v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com",
    "Enable gzip/brotli compression to reduce transfer size"
  ]
}

How It Works

All checks use Node.js builtins (tls, dns/promises, fetch) — no external API keys, no costs, no rate limits.

audit_site("example.com")
  ├── SSL check     (tls socket)      → cert validity, expiry
  ├── DNS check     (dns/promises)    → record resolution
  ├── Email auth    (DNS TXT lookups) → DMARC, SPF, DKIM
  ├── Performance   (timed fetch)     → TTFB, page weight
  ├── Uptime        (HEAD request)    → reachability
  └── Broken links  (page crawl)     → link validation
        ↓
  Weighted score (0-100) + grade (A-F) + recommendations

Scoring Weights

Check

Weight

SSL

20%

Performance

20%

Uptime

20%

Email Auth

15%

Links

15%

DNS

10%

Install

One-click install with managed hosting: Install on MCPize

npm

npx sitehealth-mcp

License

MIT — Built by Freedom Engineers

Available Tools

7 tools
audit_siteFull Site Health AuditA
Read-only

Run a comprehensive website health audit — SSL, DNS, DMARC/SPF/DKIM, page performance, uptime, and broken links. Returns a 0-100 health score with letter grade, critical issues, warnings, and actionable recommendations. All checks run in parallel for speed.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to audit (e.g. 'https://example.com' or 'example.com')
checkLinksNoInclude broken link check (adds ~10-20s). Default: true
maxLinksNoMax links to check for broken links. Default: 50

TDQS

A4.6/5.0
Behavior5/5

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

Annotations already declare readOnlyHint=true, and the description adds behavioral context like parallel checks, return value structure (score, grade, issues, recommendations), and performance implications. No contradiction.

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?

Two sentences with no wasted words. The main purpose is front-loaded, followed by return value and performance note. Every sentence serves a purpose.

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 sibling tools exist, the description effectively differentiates. Return values are described in detail. No output schema, so description handles that well. Missing error scenarios or limitations, but overall 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?

Schema coverage is 100%, so parameters are already clear. The description adds value by noting that checkLinks adds ~10-20s and default is true, and maxLinks has a default of 50, which helps in selecting parameter values.

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 states 'Run a comprehensive website health audit' with specific components (SSL, DNS, etc.), clearly distinguishing from sibling tools that check individual aspects. The verb and resource are explicit and unique.

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 using this for a full audit instead of individual checks, but does not explicitly state when to use or not use alternatives. The mention of parallel execution for speed aids decision-making.

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

check_dnsDNS Health CheckA
Read-only

Resolve all DNS records (A, AAAA, MX, NS, CNAME, TXT, SOA) and check for IPv6 support, MX records, nameserver redundancy, and resolution time.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to check

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, indicating a safe read operation. The description adds value by detailing the specific checks performed (IPv6, MX records, nameserver redundancy, resolution time) and the record types resolved, which goes beyond the annotation. However, it does not mention potential timeouts or error conditions.

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 sentence that efficiently conveys the full scope of the tool. It front-loads the main action ('Resolve all DNS records') and lists the checks, with no redundant words.

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?

For a simple read-only tool with one parameter and no output schema, the description covers what the tool does but does not describe the return format or any limitations (e.g., whether it returns raw records or a summary). It is adequate but could include a note about the output to be more complete.

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?

The input schema has one parameter 'url' with a description ('Website URL or domain to check'), covering 100% of parameters. The tool description explains the overall operation but does not add specific meaning or constraints to the parameter itself, such as accepted formats or handling of relative URLs.

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 it resolves all common DNS record types (A, AAAA, MX, NS, CNAME, TXT, SOA) and checks for IPv6 support, MX records, nameserver redundancy, and resolution time. The verb 'resolve' and the list of record types make the purpose specific and distinct from sibling tools like check_ssl or check_uptime.

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

Usage Guidelines3/5

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

The description implies that the tool is for comprehensive DNS health checks, but it does not explicitly state when to use it versus alternatives or when not to use it. For example, it does not clarify if it should be used when only a specific record type is needed. The sibling tool names provide some context, but no direct guidance is given.

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

check_email_authEmail Authentication CheckA
Read-only

Validate DMARC, SPF, and DKIM records for a domain. Checks for common misconfigurations, missing records, and provides fix recommendations. DMARC is now mandatory for Gmail/Yahoo/Microsoft.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to check

TDQS

A4.3/5.0
Behavior4/5

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

Annotations indicate readOnlyHint=true, and the description aligns by describing validation and recommendations without mention of destructive actions. It adds context beyond annotations (e.g., mandatory DMARC requirement).

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?

Three sentences with no fluff. The purpose is front-loaded, and every sentence provides essential information (what it does, what it checks, a relevant note).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with one parameter and no output schema, the description is complete. It covers the full scope of the tool's functionality and adds practical context about mandatory DMARC, making it self-contained.

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 schema describes the parameter 'url' as 'Website URL or domain to check'. The description adds meaning by specifying it checks email authentication records, which clarifies the domain extraction logic. Baseline 3 due to high schema coverage, but description adds value.

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 it validates DMARC, SPF, and DKIM records for a domain, checks for misconfigurations, and provides fix recommendations. This distinguishes it from sibling tools like audit_site or check_dns which have 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 Guidelines3/5

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

The description implies use for checking email authentication but does not explicitly state when to use versus alternatives like check_dns. No exclusion criteria or when-not-to-use guidance is provided.

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

check_performancePage Performance CheckA
Read-only

Measure TTFB, total load time, page weight, redirect chain, compression, and cache headers. Returns performance grade with specific optimization recommendations.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL to check

TDQS

A4/5.0
Behavior4/5

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

Annotations (readOnlyHint: true) indicate no destructive side effects. The description adds context by listing specific metrics measured and the type of output (grade with recommendations). This aligns with annotations and provides useful behavioral details beyond what annotations convey.

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 two sentences, front-loading the key actions (measure, returns) without waste. Every sentence adds unique value; concise and efficient.

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 a single parameter and no output schema, the description adequately explains the tool's purpose and output (performance grade with recommendations). It could benefit from mentioning grading scale or units, but is sufficiently complete for the low complexity.

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?

The sole parameter 'url' is described in the input schema as 'Website URL to check'. The description does not add any extra meaning or format requirements beyond the schema. With 100% schema coverage, baseline 3 is appropriate.

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 measures TTFB, load time, page weight, redirect chain, compression, and cache headers, and returns a performance grade with recommendations. It distinguishes itself from sibling tools like check_dns and check_ssl by focusing on page performance metrics.

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

Usage Guidelines3/5

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

The description implies use for evaluating page performance but does not explicitly state when to use this tool over siblings (e.g., vs. audit_site). No exclusions or alternatives are provided, relying on natural distinction from context.

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

check_sslSSL Certificate CheckA
Read-only

Check SSL/TLS certificate validity, expiry date, issuer, protocol version, and SANs. Returns a grade (A-F) based on days until expiry and cert validity.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL or domain to check

TDQS

A3.8/5.0
Behavior4/5

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

Annotations declare readOnlyHint=true, so the description appropriately adds behavioral context by specifying the output (grade A-F) and the metrics considered (expiry, validity). It does not contradict annotations and provides reasonable transparency for a read-only 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, well-structured sentence that front-loads the purpose ('Check SSL/TLS certificate validity') and includes key details without unnecessary words. Every part earns its place.

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 (one parameter, no output schema, read-only), the description provides adequate context for selection and invocation. It covers the grade output and certificate aspects, though a brief note on failure modes could enhance completeness.

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 coverage is 100% with a description for the 'url' parameter. The tool description does not add further semantic meaning beyond what the schema provides, so the baseline score of 3 is appropriate.

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 checks SSL/TLS certificate validity, expiry date, issuer, protocol version, and SANs, using a specific verb and resource. It distinguishes from sibling tools (e.g., check_dns) by focusing on certificate data.

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?

The description does not provide explicit guidance on when to use this tool versus alternatives, nor does it mention when not to use it or any prerequisites. The context of sibling tools is present but not leveraged for differentiation.

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

check_uptimeUptime CheckA
Read-only

HTTP ping to check if a site is reachable and measure response time.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYesWebsite URL to ping

TDQS

A3.5/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the description's mention of 'HTTP ping' and 'measure response time' adds minor context. However, it does not disclose details like timeout behavior or error handling.

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

Conciseness5/5

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

A single, front-loaded sentence with 14 words. Every word earns its place with no redundancy.

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 simplicity (1 param, no output schema), the description is adequate but incomplete. It omits the return format (e.g., boolean, response time) which would be needed for invocation confidence.

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 coverage is 100%, so baseline 3 applies. The description adds no additional meaning beyond the schema's 'Website URL to ping'—it does not specify format or constraints.

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 uses a specific verb 'ping' and resource 'site reachability' along with measuring response time, clearly distinguishing it from sibling tools that handle DNS, SSL, or performance.

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 guidance is provided on when to use this tool versus siblings like check_performance or check_links. The agent is left to infer usage without explicit context.

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. 7 tool updatesv0.1.1
    • First observedaudit_site
    • First observedcheck_dns
    • First observedcheck_email_auth
    • First observedcheck_links
    • First observedcheck_performance
    • First observedcheck_ssl
    • First observedcheck_uptime

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct aspect of site health: comprehensive audit, DNS, email auth, links, performance, SSL, and uptime. No overlap in purpose.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern (audit_site, check_dns, etc.), making them predictable and easy to understand.

Tool Count5/5

Seven tools is well-scoped for a site health server, covering all major areas without excess or deficiency.

Completeness4/5

The tools cover all core site health checks (SSL, DNS, email auth, links, performance, uptime) plus a comprehensive audit. Minor omissions like security headers but overall very complete.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers