MCP Server

Spook SEO

com.tryspook/spook
Marketing & Advertising Media & Content Public & reachable MCP 2026-07-28

What this MCP does

Provides SEO analysis, keyword and content generation, AEO checks, ad copy tools and automated article generation and publishing.

ad-copy-generator
Ad Copy Generator
Ad Copy Generator: Generate ad headlines and descriptions. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'topic': {'type': 'string'}, 'product': {'type': 'string'}, 'platform': {'type': 'string', 'description': 'Optional ad platform, e.g. Google, Meta.'}}}
aeo-checker
AEO Content Checker (Answer Engine Optimization)
Score content (0-100) for how easily AI answer engines (ChatGPT, Perplexity, AI Overviews) can quote it, with specific fixes.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
ai-crawler-checker
AI Crawler Access Checker
Check a robots.txt to see which AI crawlers (GPTBot, ClaudeBot, PerplexityBot, Google-Extended, ...) it currently allows or blocks.
Read only
Input schema
{'type': 'object', 'required': ['robotsTxt'], 'properties': {'robotsTxt': {'type': 'string', 'description': 'The contents of a robots.txt file.'}}}
ai-prompt-generator
AI Brand Visibility Prompt Generator
Generate prompts to test whether ChatGPT/Perplexity/Gemini/Claude recommend a brand, and where it's invisible.
Read only
Input schema
{'type': 'object', 'required': ['brand', 'category'], 'properties': {'brand': {'type': 'string'}, 'audience': {'type': 'string'}, 'category': {'type': 'string', 'description': 'What the brand does / its category.'}, 'competitors': {'type': 'array', 'items': {'type': 'string'}, 'description': 'Competitor names (array, or a comma-separated string).'}}}
analyze_domain
Analyze Domain
Free, no-signup SEO snapshot for any domain: the queries it already ranks on page 1-2 for (its quick-win opportunities), with search volume and estimated traffic. Great first look before signing up.
Read only
Input schema
{'type': 'object', 'required': ['domain'], 'properties': {'domain': {'type': 'string', 'description': 'A domain, e.g. example.com'}}}
article-rewriter
AI Article Rewriter
AI Article Rewriter: Rephrase text to be clearer, unique, and engaging. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}, 'tone': {'type': 'string', 'description': 'Optional target tone.'}}}
article-summarizer
AI Article Summarizer
AI Article Summarizer: Condense an article into a TL;DR, key points, and summary. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
blog-keyword-generator
Blog Keyword Generator
Blog Keyword Generator: Generate SEO keyword ideas for a topic, with search intent and difficulty. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
blog-outline-generator
Blog Outline Generator
Blog Outline Generator: Produce a structured, SEO-friendly blog post outline. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
business-name-generator
Business Name Generator
Business Name Generator: Generate brandable business name ideas. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'style': {'type': 'string', 'description': 'Optional naming style.'}, 'topic': {'type': 'string', 'description': 'What the business is about.'}, 'keywords': {'type': 'string', 'description': 'Optional words to work in.'}}}
canonical-tag-generator
Canonical Tag Generator
Generate a rel=canonical link tag for a URL.
Read only
Input schema
{'type': 'object', 'required': ['url'], 'properties': {'url': {'type': 'string'}}}
character-counter
Character Counter
Count characters (with and without spaces), words, sentences, and paragraphs in text.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
content-brief-generator
Content Brief Generator
Content Brief Generator: Create a detailed SEO content brief for a target keyword. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['keyword'], 'properties': {'keyword': {'type': 'string'}, 'audience': {'type': 'string', 'description': 'Optional target audience.'}}}
content-coverage-checker
Content Coverage Checker
Content Coverage Checker: List the terms and entities an article targeting a keyword is expected to cover. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'properties': {'keyword': {'type': 'string'}, 'language': {'type': 'string'}}}
content-idea-generator
Content Idea Generator
Content Idea Generator: Generate content ideas with formats and angles for a niche. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
conversion-rate-calculator
Conversion Rate Calculator
Calculate Conversion rate.
Read only
Input schema
{'type': 'object', 'required': ['conversions', 'visitors'], 'properties': {'visitors': {'type': 'number', 'description': 'Visitors'}, 'conversions': {'type': 'number', 'description': 'Conversions'}}}
cpc-calculator
CPC Calculator
Calculate Cost per click (CPC).
Read only
Input schema
{'type': 'object', 'required': ['cost', 'clicks'], 'properties': {'cost': {'type': 'number', 'description': 'Total cost'}, 'clicks': {'type': 'number', 'description': 'Clicks'}}}
cpm-calculator
CPM Calculator
Calculate Cost per 1,000 impressions (CPM).
Read only
Input schema
{'type': 'object', 'required': ['cost', 'impressions'], 'properties': {'cost': {'type': 'number', 'description': 'Total cost'}, 'impressions': {'type': 'number', 'description': 'Impressions'}}}
create_checkout
Create Checkout
Get a Stripe Checkout URL to add the first paid site to the account. Return the URL to the user to approve payment. Needed before create_site if the account has no available slot. (requires an agent API key)
Input schema
{'type': 'object', 'properties': {}}
create_site
Create Site
Add a new site to the account. Language/market is auto-detected from the homepage. Requires an available paid site slot (use create_checkout first if none). Returns the new siteId. (requires an agent API key)
Input schema
{'type': 'object', 'required': ['name', 'domain'], 'properties': {'name': {'type': 'string'}, 'niche': {'type': 'string'}, 'domain': {'type': 'string', 'description': 'Bare domain, e.g. example.com'}, 'brandVoice': {'type': 'string'}, 'description': {'type': 'string'}, 'publishWebhookUrl': {'type': 'string'}, 'publishIntegration': {'enum': ['none', 'webhook', 'wordpress', 'ghost', 'shopify', 'webflow', 'rest', 'nextjs'], 'type': 'string'}}}
cta-generator
CTA Generator
CTA Generator: Write effective call-to-action phrases. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'goal': {'type': 'string', 'description': 'Optional CTA goal, e.g. sign up, buy.'}, 'topic': {'type': 'string'}, 'product': {'type': 'string'}}}
ctr-calculator
CTR Calculator
Calculate Click-through rate.
Read only
Input schema
{'type': 'object', 'required': ['clicks', 'impressions'], 'properties': {'clicks': {'type': 'number', 'description': 'Clicks'}, 'impressions': {'type': 'number', 'description': 'Impressions'}}}
faq-generator
FAQ Generator
FAQ Generator: Generate a set of frequently asked questions and answers for a topic. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
generate_article
Generate Article
Generate a new SEO article draft for a site targeting a search query. Returns an articleId immediately; generation runs in the background - poll get_article/list_articles, or pass callbackUrl to be notified. Idempotent per query (a repeat returns the existing article). Requires an active subscription. (requires an agent API key)
Input schema
{'type': 'object', 'required': ['siteId', 'query'], 'properties': {'query': {'type': 'string', 'description': 'The search query the article should target.'}, 'siteId': {'type': 'string'}, 'callbackUrl': {'type': 'string', 'description': 'Optional https URL to POST { articleId, status, ... } to when generation finishes.'}}}
get_article
Get Article
Fetch one article by id: full markdown body, meta, FAQs, SEO score, status, and published URL. Use to review a draft before publishing. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'required': ['articleId'], 'properties': {'articleId': {'type': 'string'}}}
get_site
Get Site
Get one site's details and status by its id. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'required': ['siteId'], 'properties': {'siteId': {'type': 'string'}}}
get_site_metrics
Get Site Metrics
Read a site's performance: daily Search Console clicks/impressions trend plus cached SEO metrics (domain rating, organic traffic estimate, top keywords). No cost. Use to check whether Spook is working. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'required': ['siteId'], 'properties': {'days': {'type': 'integer', 'default': 28}, 'siteId': {'type': 'string'}}}
grammar-checker
AI Grammar Checker
AI Grammar Checker: Fix grammar, spelling, and punctuation, and list the corrections. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
hashtag-generator
Hashtag Generator
Hashtag Generator: Generate relevant hashtags for a topic and platform. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}, 'platform': {'type': 'string', 'description': 'Optional network, e.g. Instagram, TikTok.'}}}
headline-analyzer
Blog Headline Analyzer
Score a headline (0-100) on length, word balance, power/emotional words, numbers, and brackets.
Read only
Input schema
{'type': 'object', 'required': ['headline'], 'properties': {'headline': {'type': 'string'}}}
headline-generator
Headline Generator
Headline Generator: Generate catchy, click-worthy headlines. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
hreflang-generator
Hreflang Tag Generator
Generate hreflang link tags for international/multilingual pages, plus an optional x-default.
Read only
Input schema
{'type': 'object', 'required': ['rows'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'lang': {'type': 'string'}}}}, 'xDefault': {'type': 'string'}}}
keyword-density-checker
Keyword Density Checker
Analyze text for the most frequent words and phrases with their density, to spot keyword stuffing or thin coverage.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'n': {'enum': [1, 2, 3], 'type': 'integer', 'default': 1, 'description': 'Phrase length (n-gram).'}, 'text': {'type': 'string'}, 'limit': {'type': 'integer', 'default': 15}, 'removeStopwords': {'type': 'boolean', 'default': True}}}
list_articles
List Articles
Recent articles for a site with their status (draft/review/published) and generation status. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'required': ['siteId'], 'properties': {'limit': {'type': 'integer', 'default': 20}, 'siteId': {'type': 'string'}}}
list_opportunities
List Opportunities
The winnable search queries Spook has found for a site (scored, ranked). No cost. Pass questionsOnly to get only question-shaped queries. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'required': ['siteId'], 'properties': {'limit': {'type': 'integer', 'default': 20}, 'siteId': {'type': 'string'}, 'questionsOnly': {'type': 'boolean'}}}
list_sites
List Sites
List the Spook sites on the account this API key belongs to, with each site's id, domain, autopilot state, and publishing setup. (requires an agent API key)
Read only
Input schema
{'type': 'object', 'properties': {}}
llms-txt-generator
llms.txt Generator
Generate an llms.txt file from a site name, one-line summary, optional details, and sections of links.
Read only
Input schema
{'type': 'object', 'required': ['siteName'], 'properties': {'details': {'type': 'string'}, 'summary': {'type': 'string'}, 'sections': {'type': 'array', 'items': {'type': 'object', 'properties': {'links': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'notes': {'type': 'string'}, 'title': {'type': 'string'}}}}, 'title': {'type': 'string'}}}}, 'siteName': {'type': 'string'}}}
meta-description-generator
Meta Description Generator
Meta Description Generator: Write SEO meta descriptions that maximize click-through rate. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['keyword'], 'properties': {'tone': {'type': 'string', 'description': 'Optional tone, e.g. professional, playful.'}, 'topic': {'type': 'string'}, 'keyword': {'type': 'string'}}}
meta-robots-generator
Meta Robots Tag Generator
Build a meta robots tag (and X-Robots-Tag header) from index/follow and snippet directives.
Read only
Input schema
{'type': 'object', 'properties': {'index': {'type': 'boolean', 'default': True}, 'follow': {'type': 'boolean', 'default': True}, 'noarchive': {'type': 'boolean'}, 'nosnippet': {'type': 'boolean'}, 'maxSnippet': {'type': 'string'}, 'noimageindex': {'type': 'boolean'}, 'maxImagePreview': {'enum': ['', 'none', 'standard', 'large'], 'type': 'string'}, 'maxVideoPreview': {'type': 'string'}}}
meta-tag-generator
Meta Tag Generator
Generate a complete set of HTML meta tags: title, description, canonical, Open Graph, and Twitter Cards.
Read only
Input schema
{'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Canonical URL.'}, 'image': {'type': 'string', 'description': 'Social share image URL.'}, 'title': {'type': 'string'}, 'ogType': {'enum': ['website', 'article', 'product', 'profile'], 'type': 'string', 'default': 'website'}, 'twitter': {'type': 'string', 'description': 'Twitter handle.'}, 'siteName': {'type': 'string'}, 'description': {'type': 'string'}}}
paragraph-generator
Paragraph Generator
Paragraph Generator: Expand a topic or sentence into a well-written paragraph. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'tone': {'type': 'string', 'description': 'Optional tone.'}, 'topic': {'type': 'string'}}}
product-description-generator
Product Description Generator
Product Description Generator: Write persuasive product descriptions. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['product'], 'properties': {'product': {'type': 'string'}, 'features': {'type': 'string', 'description': 'Optional key features.'}}}
publish_article
Publish Article
Publish a generated article to the site's connected CMS. Enforces Spook's SEO-score floor - a draft below it is refused (returns published:false with a reason). (requires an agent API key)
Input schema
{'type': 'object', 'required': ['articleId'], 'properties': {'articleId': {'type': 'string'}}}
readability-checker
Readability Score Checker
Score text readability with Flesch Reading Ease and Flesch-Kincaid Grade, plus a reading level.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
roas-calculator
ROAS Calculator
Calculate ROAS, ROAS (percentage).
Read only
Input schema
{'type': 'object', 'required': ['revenue', 'adSpend'], 'properties': {'adSpend': {'type': 'number', 'description': 'Ad spend'}, 'revenue': {'type': 'number', 'description': 'Revenue from ads'}}}
robots-txt-generator
Robots.txt Generator
Build a valid robots.txt: allow or block crawlers, disallow paths, block specific bots, and link a sitemap.
Read only
Input schema
{'type': 'object', 'properties': {'mode': {'enum': ['allow', 'disallow'], 'type': 'string', 'default': 'allow'}, 'sitemap': {'type': 'string'}, 'disallow': {'type': 'array', 'items': {'type': 'string'}}, 'crawlDelay': {'type': 'number'}, 'blockedBots': {'type': 'array', 'items': {'type': 'string'}}}}
robots-txt-tester
Robots.txt Tester
Test whether a robots.txt allows or blocks a given URL path for a given user-agent.
Read only
Input schema
{'type': 'object', 'required': ['robotsTxt', 'url'], 'properties': {'url': {'type': 'string'}, 'robotsTxt': {'type': 'string'}, 'userAgent': {'type': 'string', 'default': '*'}}}
schema-generator
Schema Markup Generator (JSON-LD)
Build valid JSON-LD structured data (FAQ, Article, Organization, or Product) for rich results.
Read only
Input schema
{'type': 'object', 'required': ['type'], 'properties': {'faqs': {'type': 'array', 'items': {'type': 'object', 'properties': {'a': {'type': 'string'}, 'q': {'type': 'string'}}}}, 'type': {'enum': ['FAQ', 'Article', 'Organization', 'Product'], 'type': 'string'}, 'article': {'type': 'object'}, 'product': {'type': 'object'}, 'organization': {'type': 'object'}}}
seo-title-generator
SEO Title Generator
SEO Title Generator: Write catchy, SEO-friendly title tags for a topic. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['keyword'], 'properties': {'topic': {'type': 'string'}, 'keyword': {'type': 'string'}}}
serp-preview
Google SERP Snippet Preview
Preview how a page's title and meta description render in Google search, with pixel-width truncation for desktop and mobile.
Read only
Input schema
{'type': 'object', 'required': ['title'], 'properties': {'url': {'type': 'string', 'description': 'The page URL.'}, 'title': {'type': 'string', 'description': 'The page title tag.'}, 'device': {'enum': ['desktop', 'mobile'], 'type': 'string', 'default': 'desktop'}, 'description': {'type': 'string', 'description': 'The meta description.'}}}
set_autopilot
Set Autopilot
Turn a site's autopilot on or off. When on, Spook plans, writes, and publishes articles automatically. (requires an agent API key)
Input schema
{'type': 'object', 'required': ['siteId', 'enabled'], 'properties': {'siteId': {'type': 'string'}, 'enabled': {'type': 'boolean'}}}
sitemap-generator
XML Sitemap Generator
Build an XML sitemap from a list of URLs, with an optional lastmod date.
Read only
Input schema
{'type': 'object', 'required': ['urls'], 'properties': {'urls': {'type': 'array', 'items': {'type': 'string'}}, 'lastmod': {'type': 'string'}}}
slug-generator
URL Slug Generator
Turn a title into a clean, SEO-friendly URL slug: lowercase, hyphenated, accent-safe, optional stopword removal.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}, 'separator': {'type': 'string', 'default': '-'}, 'removeStopwords': {'type': 'boolean', 'default': True}}}
social-post-generator
Social Media Post Generator
Social Media Post Generator: Write platform-specific social media posts. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}, 'platform': {'type': 'string', 'description': 'Optional network, e.g. LinkedIn, X.'}}}
subject-line-generator
Email Subject Line Generator
Email Subject Line Generator: Write high-converting email subject lines. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
update_publishing
Update Publishing
Configure where a site publishes. Set publishIntegration to 'nextjs' for a credential-free Spook-hosted blog (returns a blog API key), or 'webhook' with publishWebhookUrl. publishMode 'draft' or 'live'. (requires an agent API key)
Input schema
{'type': 'object', 'required': ['siteId'], 'properties': {'siteId': {'type': 'string'}, 'publishMode': {'enum': ['draft', 'live'], 'type': 'string'}, 'publishWebhookUrl': {'type': 'string'}, 'publishIntegration': {'enum': ['none', 'webhook', 'wordpress', 'ghost', 'shopify', 'webflow', 'rest', 'nextjs'], 'type': 'string'}, 'publishWebhookSecret': {'type': 'string'}}}
utm-builder
UTM Campaign URL Builder
Append UTM tracking parameters (source, medium, campaign, term, content) to a destination URL.
Read only
Input schema
{'type': 'object', 'required': ['url', 'source', 'medium', 'campaign'], 'properties': {'url': {'type': 'string'}, 'term': {'type': 'string'}, 'medium': {'type': 'string'}, 'source': {'type': 'string'}, 'content': {'type': 'string'}, 'campaign': {'type': 'string'}}}
word-counter
Word & Character Counter
Count words, characters, sentences, and paragraphs in text, plus reading and speaking time.
Read only
Input schema
{'type': 'object', 'required': ['text'], 'properties': {'text': {'type': 'string'}}}
youtube-title-generator
YouTube Title & Description Generator
YouTube Title & Description Generator: Write a YouTube title, description, and tags for a video topic. (free, AI-generated, rate-limited).
Read only
Input schema
{'type': 'object', 'required': ['topic'], 'properties': {'topic': {'type': 'string'}}}
Added
hashtag-generator
Sept. 17, 2026, 12:38 p.m.
Added
content-coverage-checker
Sept. 17, 2026, 12:38 p.m.
Added
paragraph-generator
Sept. 17, 2026, 12:38 p.m.
Added
youtube-title-generator
Sept. 17, 2026, 12:38 p.m.
Added
business-name-generator
Sept. 17, 2026, 12:38 p.m.
Added
product-description-generator
Sept. 17, 2026, 12:38 p.m.
Added
faq-generator
Sept. 17, 2026, 12:38 p.m.
Added
grammar-checker
Sept. 17, 2026, 12:38 p.m.
Added
article-rewriter
Sept. 17, 2026, 12:38 p.m.
Added
article-summarizer
Sept. 17, 2026, 12:38 p.m.
Added
social-post-generator
Sept. 17, 2026, 12:38 p.m.
Added
ad-copy-generator
Sept. 17, 2026, 12:38 p.m.
Added
cta-generator
Sept. 17, 2026, 12:38 p.m.
Added
subject-line-generator
Sept. 17, 2026, 12:38 p.m.
Added
headline-generator
Sept. 17, 2026, 12:38 p.m.
Added
meta-description-generator
Sept. 17, 2026, 12:38 p.m.
Added
seo-title-generator
Sept. 17, 2026, 12:38 p.m.
Added
content-idea-generator
Sept. 17, 2026, 12:38 p.m.
Added
blog-outline-generator
Sept. 17, 2026, 12:38 p.m.
Added
content-brief-generator
Sept. 17, 2026, 12:38 p.m.
Added
blog-keyword-generator
Sept. 17, 2026, 12:38 p.m.
Added
set_autopilot
Sept. 17, 2026, 12:38 p.m.
Added
publish_article
Sept. 17, 2026, 12:38 p.m.
Added
create_checkout
Sept. 17, 2026, 12:38 p.m.
Added
update_publishing
Sept. 17, 2026, 12:38 p.m.
Added
create_site
Sept. 17, 2026, 12:38 p.m.
Added
get_site_metrics
Sept. 17, 2026, 12:38 p.m.
Added
get_article
Sept. 17, 2026, 12:38 p.m.
Added
generate_article
Sept. 17, 2026, 12:38 p.m.
Added
list_articles
Sept. 17, 2026, 12:38 p.m.