MCP Server

MCP Tools Reference

Complete reference for all 14 tools available in the Surfaceable MCP server.


Overview

The Surfaceable MCP server exposes 14 tools. All tools accept a url parameter as a fully-qualified URL (including https://). Most tools return a structured JSON object with score, issues, and data fields.


page_seo

Full single-page SEO analysis covering title, meta description, headings, images, links, word count, canonical, and hreflang.

Parameters:

Name Type Required Description
url string Yes The page URL to analyse

Returns: Score + issues + data.title, data.metaDescription, data.headings, data.images, data.canonical, etc.


check_indexability

Checks whether a page is indexable — robots.txt rules, noindex tags, canonicals, sitemap presence, and redirect chains.

Parameters:

Name Type Required Description
url string Yes The page URL to check

Returns: Score + issues + indexability status flags.


analyze_schema

Detects and validates JSON-LD structured data on the page against Schema.org specifications.

Parameters:

Name Type Required Description
url string Yes The page URL to analyse

Returns: Score + issues + list of detected schema types and their properties.


analyze_content

Content analysis: readability (Flesch-Kincaid score), word count, keyword density, and heading structure.

Parameters:

Name Type Required Description
url string Yes The page URL to analyse

Returns: Score + issues + data.wordCount, data.readabilityScore, data.keywordDensity, data.headingStructure.


check_links

Internal and external link map with optional broken link detection.

Parameters:

Name Type Required Description
url string Yes The page URL to analyse
check_broken boolean No Whether to check for broken links (default: true)

Returns: Score + issues + data.internalLinks[], data.externalLinks[], data.brokenLinks[].

Note: Setting check_broken: false is significantly faster as it skips HTTP requests to each linked URL.


analyze_headers

HTTP header analysis: cache directives, compression, security headers, HSTS, and response time.

Parameters:

Name Type Required Description
url string Yes The URL to analyse

Returns: Score + issues + data.headers{}, data.responseTime, data.compressed.


check_social_meta

Validates Open Graph and Twitter Card meta tags for correct social sharing previews.

Parameters:

Name Type Required Description
url string Yes The page URL to check

Returns: Score + issues + data.openGraph{}, data.twitterCard{}.


check_vitals

Core Web Vitals via the Google PageSpeed Insights API: LCP, INP, CLS, TTFB, and performance scores.

Parameters:

Name Type Required Description
url string Yes The page URL to test
strategy string No "mobile" (default) or "desktop"

Returns: Score + issues + data.lcp, data.inp, data.cls, data.ttfb, data.performanceScore.

Note: Requires GOOGLE_API_KEY environment variable. Without it, returns simulated data.


check_security

Security audit via Mozilla Observatory: grade, HTTP security headers, and vulnerability flags.

Parameters:

Name Type Required Description
url string Yes The page URL to audit

Returns: Score + issues + data.grade, data.score, data.tests{}.


check_dns

DNS record analysis, SPF/DMARC email authentication check, and SSL certificate validation.

Parameters:

Name Type Required Description
url string Yes The URL whose domain to check

Returns: Score + issues + data.a[], data.mx[], data.spf, data.dmarc, data.ssl{}.


validate_html

HTML5 validation against W3C standards.

Parameters:

Name Type Required Description
url string Yes The page URL to validate

Returns: Score + issues + data.errors[], data.warnings[].


detect_tech

Technology detection: CMS, frameworks, analytics platforms, CDN, and other tools in use.

Parameters:

Name Type Required Description
url string Yes The page URL to inspect

Returns: Score + data.technologies[] with name, category, and confidence fields.


check_accessibility

WCAG 2.1 AA accessibility checks: images, headings, forms, viewport, and language.

Parameters:

Name Type Required Description
url string Yes The page URL to check

Returns: Score + issues + data.violations[] with WCAG criterion references.


site_audit

Full site audit — crawls multiple pages and aggregates SEO issues across the site.

Parameters:

Name Type Required Description
url string Yes The starting URL to crawl from
max_pages number No Maximum pages to crawl (default: 25)
max_depth number No Maximum crawl depth from the start URL (default: 3)

Returns: Aggregated score + issues across all crawled pages + data.pages[] with per-page summaries.

Note: This tool makes many HTTP requests and may take 30–120 seconds depending on site size and max_pages.


Response shape

All tools return a consistent JSON object:

{
  "url": "https://example.com",
  "timestamp": "2026-03-31T10:00:00.000Z",
  "tool": "page_seo",
  "score": 85,
  "issues": [
    {
      "severity": "warning",
      "category": "page-seo",
      "message": "Title is too short (18 chars)",
      "detail": "Aim for 50–60 characters to maximise SERP display"
    }
  ],
  "data": { ... }
}