Skip to main content

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": { ... }
}