SEOcrawl AI
SEO MCP server: Search Console, GA4, Crawler and AI visibility (ChatGPT, Gemini, AI Overviews). 91 tools, hosted, OAuth.
Hosted MCP Server
npx add-mcp 'https://mcp.seocrawl.ai'Installs into Claude Code, Codex, Cursor and more
Documentation
mcp.seocrawl.ai
Google Search Console MCP
The hosted SEO MCP server: your Search Console, GA4, Crawler and AI visibility data inside Claude, ChatGPT and Cursor.
One connector, 91 tools. Ask in plain language and your assistant pulls live Search Console and GA4 numbers, lists the pages behind every Crawler issue, shows how ChatGPT, Gemini, Perplexity, Claude, Google AI Overviews and AI Mode talk about your brand, and turns the answer into a task. Included on every SEOcrawl AI plan.
Or add it in one click
Claude · SEOcrawl AI MCP
What are the top keywords of seocrawl.ai in the last 28 days, by clicks, with the change vs the previous 28?
MCP · get_top_keywords
Top 5 queries of seocrawl.ai by clicks, last 28 days vs the 28 before:
QueryClicksImpr.Δ clicksseocrawl350561+11.8%seocrawl ai89112+71.2%seo crawl84532-18.5%ai visibility checker632,269+173.9%seo crawler572,148+35.7%
Real MCP output · seocrawl.ai · Oct 25, 2026
“ai visibility checker” almost tripled its clicks (+174%). Want the pages that rank for it?

What is an SEO MCP server?
An SEO MCP server is a connector that lets an AI assistant such as Claude, ChatGPT or Cursor read and act on your SEO data through the open Model Context Protocol (MCP). Instead of exporting reports, you ask a question in plain language: the assistant calls the server’s tools, gets live numbers from your own accounts and answers with them. SEOcrawl AI’s SEO MCP server is hosted at mcp.seocrawl.ai and connects Google Search Console, GA4, the Crawler and AI visibility tracking, with nothing to install.
Set up in 60 seconds
One URL for everyone. You sign in with your SEOcrawl AI account (OAuth) and your assistant sees the same projects you see in the app.
MCP server URL
https://mcp.seocrawl.ai
- 1
Open SEOcrawl AI in the Claude directory and click Connect. Or go to Customize → Connectors → + Add → Add custom connector and paste the URL:
https://mcp.seocrawl.ai - 2 Sign in with your SEOcrawl AI account and allow access.
- 3 In a chat, open + → Connectors, switch SEOcrawl AI on and ask your first question.
Claude.ai, Claude Desktop and Cowork. On the Free plan, Claude allows one custom connector.
What you can ask
Six real conversations. Every number below is the actual MCP answer for seocrawl.ai on 25 October 2026, not a mock-up.
Claude · SEOcrawl AI MCP
Compare seocrawl.ai’s last 28 days with the 28 days before: clicks, impressions, CTR and average position.
MCP · compare_date_ranges
seocrawl.ai, period A vs period B (Search Console data complete to 22 Oct):
MetricPeriod APeriod BΔClicks2,7633,431-19.5%Impressions704,3621,325,299-46.9%CTR0.39%0.26%+51.3%Avg. position19.318.3+1.0
A: 2026-09-28 → 2026-10-25 · B: 2026-08-28 → 2026-09-24
Real MCP output · seocrawl.ai · Oct 25, 2026
Clicks −19.5% while CTR rose 51%: most of the lost impressions never brought a click. Want the pages that moved most?
compare_date_ranges
Search Console recap, in one question
Skip the export. Ask for any two periods and the assistant returns clicks, impressions, CTR and average position with the change already calculated, so you go straight to the why.
Example prompt
“Compare seocrawl.ai’s last 28 days with the 28 days before: clicks, impressions, CTR and average position.”
Claude · SEOcrawl AI MCP
Which pages of seocrawl.ai gained or lost the most clicks in the last 28 days?
MCP · list_winners_losers
Biggest page movers by clicks, last 28 days vs the previous 28:
PageClicksΔ /blog/how-to-find-a-sitemap 302-137 /ai-visibility-checker 232+131 /blog/ai-overview-ranking-factors 62-59 /seo-tools/seo-extension 45-40 /ko/free-seo-tools/sitemap-checker 24-38
Real MCP output · seocrawl.ai · Oct 25, 2026
The free AI Visibility Checker more than doubled (+130%). The sitemap guide is the biggest loser: want its keywords to see where it slipped?
list_winners_losers
Winners and losers, ranked
One call returns the pages (or keywords) that gained or lost the most between two periods, with the deltas pre-computed. No drilling into each URL to find out what happened.
Example prompt
“Which pages of seocrawl.ai gained or lost the most clicks in the last 28 days?”
Claude · SEOcrawl AI MCP
Which pages of seocrawl.ai rank for “seo mcp”? Is more than one URL competing?
MCP · list_pages_for_keyword
Pages showing for “seo mcp” in the last 3 months:
PageImpr.Pos./mcp 1,53844.3 /de/seo-api 1236.4 /ko/mcp 33.7 /es/mcp 223.5
Real MCP output · seocrawl.ai · Oct 25, 2026
/mcp gets 99% of the impressions; the other URLs barely appear, so there is no real cannibalization here.
list_pages_for_keyword
Check keyword cannibalization
Give the assistant a query and it lists every URL of your site that Google shows for it, with impressions and position. You see at once whether two pages split the same intent.
Example prompt
“Which pages of seocrawl.ai rank for “seo mcp”? Is more than one URL competing?”
Claude · SEOcrawl AI MCP
What are the main issues of the latest seocrawl.ai crawl, and how many pages does each affect?
MCP · get_site_audit_summary → list_site_audit_issues
Latest crawl of the “SEOcrawl AI Top-100” project (23 Oct):
Health
97.0
Pages crawled
92
IssuePagesStructured data: rich results error35Internal links to redirects (3xx)3Images without ALT56Heading gaps8Meta description too long8
Real MCP output · seocrawl.ai · Oct 25, 2026
35 pages have a rich-results error in their structured data. Want me to list them and open a task?
get_site_audit_summary · list_site_audit_issues
Crawler issues and the pages behind them
Read the health score of your latest crawl, the issues by severity and the exact URLs affected. Then trigger a fresh crawl or compare two crawls to see what regressed, all from the chat.
Example prompt
“What are the main issues of the latest seocrawl.ai crawl, and how many pages does each affect?”
Claude · SEOcrawl AI MCP
Which sources did the AI engines cite this week for our prompt “What SEO tools integrate with Model Context Protocol (MCP)?”
MCP · list_prompt_citations
6 answers (one per engine), 33 cited domains. Top 5 by cited URLs:
DomainURLsgithub.com20dataforseo.com6frase.io5seranking.com3semrush.com3seocrawl.ai (you)not cited
Real MCP output · seocrawl.ai · Oct 25, 2026
seocrawl.ai is not cited yet: GitHub lists and directories carry most citations. Want a task to get listed on them?
list_prompt_citations
See which sources AI engines cite
For any tracked prompt, get the domains and URLs that ChatGPT, Gemini, Perplexity, Claude, AI Overviews and AI Mode cited, and whether your own domain is among them. That is your GEO outreach list.
Example prompt
“Which sources did the AI engines cite this week for our prompt “What SEO tools integrate with Model Context Protocol (MCP)?””
Claude · SEOcrawl AI MCP
How many sessions did AI assistants send us in the last 28 days, by engine, vs the previous 28?
MCP · get_ga4_ai_referrers
AI referral sessions, last 28 days vs the previous 28:
EngineSessionsKey eventsΔ sessionsClaude1,1322,059+59.9%ChatGPT379590+28%OpenAI374-76.9%
Real MCP output · SEOcrawl AI’s own GA4 · Oct 25, 2026
Claude sends three times the sessions ChatGPT does, and both are growing. Want a monthly annotation to track it?
get_ga4_ai_referrers
Measure the traffic AI assistants send you
Visibility is half of GEO; visits are the other half. The assistant reads AI referral sessions from your GA4 (no regex filters), per engine, with key events and the change vs the previous period.
Example prompt
“How many sessions did AI assistants send us in the last 28 days, by engine, vs the previous 28?”
AI visibility via MCP
Most SEO MCP servers stop at Google. SEOcrawl AI also runs your prompts on the AI engines and lets you read the results from the same chat: who gets mentioned, which sources get cited and how much traffic those answers send.
Engines tracked
- ChatGPT
- Gemini
- Perplexity
- Claude
- Google AI Overviews
- Google AI Mode
- Microsoft Copilot · coming soon
get_prompt_detail · list_prompt_runs
Mention rate per engine for each prompt, with the trend and the actual answer text.
list_prompt_citations
Every domain and URL each engine cited, with your own domain flagged.
get_ai_visibility_share_of_voice
Your share of voice against competitors across all tracked prompts.
get_ga4_ai_referrers
Sessions and key events from ChatGPT, Claude, Perplexity, Gemini and other assistants, from your GA4.
Try asking
“Which of my tracked prompts mention a competitor but not us?”
“What is our share of voice against our top competitor this month?”
“Which URLs did Google AI Mode cite for our main prompt this week?”
“Create a prompt “best SEO MCP server” on all engines, weekly, in the US.”
How Prompt Tracking works → AI traffic in GA4 (AI Tracker) →
SEOcrawl AI vs other SEO MCP servers
What each vendor’s own MCP documentation says, checked on 25 October 2026. “Not in MCP docs” means their MCP documentation doesn’t mention it, not that the vendor can’t do it elsewhere.
| Feature | SEOcrawl AI | Ahrefs | Semrush | DataForSEO | mcp-gsc | Peec AI |
|---|---|---|---|---|---|---|
| Hosted server, nothing to install | ✓ | ✓ | ✓ | Hosted or local | Local install (uvx) | ✓ |
| Your own Google Search Console data | ✓ | ✓ | Not in MCP docs | Not in MCP docs | ✓ Needs a Google Cloud OAuth client | Not in MCP docs |
| Your own GA4 data | ✓ | Its own Web Analytics, not GA4 | Not in MCP docs | Not in MCP docs | Paid hosted version only | Not in MCP docs |
| Site crawler / audit | ✓ Crawler | ✓ Site Audit | Not in MCP docs | ✓ On-Page API | — | Not in MCP docs |
| AI visibility (prompts across AI engines) | ✓ 6 engines | ✓ Brand Radar | Not in MCP docs | Not in MCP docs | — | ✓ |
| Tasks and annotations | ✓ | Not in MCP docs | Not in MCP docs | Not in MCP docs | — | Not in MCP docs |
| Entry price with MCP | €49/mo (Starter) | $129/mo (Lite plan) | Paid plans with MCP API units | Free server, pay-as-you-go data ($50 minimum top-up) | Free, open source (MIT) | Paid plans (price not listed) |
Every cell comes from the vendor’s own MCP page or documentation. Prices are list prices with monthly billing.
Sources: Ahrefs · Ahrefs (tool groups) · Ahrefs pricing · Semrush · DataForSEO · mcp-gsc · Peec AI · Peec AI pricing
Plans and MCP credits
MCP access is included on every plan, with a 30-day free trial. Each call uses 1 to 6 MCP credits depending on the tool; fetch_url, health and the three render tools are free.
| Plan | Price | MCP credits / month |
|---|---|---|
| Starter | €49/mo | 30,000 |
| Growth | €99/mo | 100,000 |
| Pro | €199/mo | 300,000 |
| Agency | €399/mo | 1,000,000 |
| Enterprise | Custom | Unlimited |
Prompt Tracking answers use AI credits from your plan, separate from MCP credits: 1 per answer, 5 for Claude.
All 91 MCP tools
91 tools in 19 groups. The names match the real MCP tool IDs, so you or your assistant can call them directly.
Show all 91 tools
Properties
1 tool
Discover which Search Console properties (projects) are connected to the account before any other query.
list_properties
List every GSC property the authenticated user can access. Returns the property ID (UUID) and URL (sc-domain:…) you pass to all other tools.
Performance overview
3 tools
High-level Search Console performance for any property, plus apples-to-apples comparison between two date windows.
get_gsc_summary
Clicks, impressions, CTR and average position for a property over a chosen window. Accepts presets (last_7_days, last_28_days, last_3_months, last_year) or absolute from/to dates. Also returns a branded_breakdown that splits clicks, impressions, CTR and position into branded vs non-branded — driven by the property's Brand tag.
compare_date_ranges
Compare two GSC windows side by side and get diff + change_pct for clicks, impressions, CTR and position. Period A can be a preset; Period B is absolute.
list_winners_losers
The biggest movers between two periods, with deltas pre-computed so your assistant skips drilling each item. Pick dimension=keywords or pages, a metric (clicks, impressions or position) and direction=up / down / both to get gainers, decliners or the largest swings either way. Period B defaults to the window immediately before Period A.
Keywords
5 tools
Find which queries actually drive traffic, then zoom into any single keyword's day-by-day trend.
get_top_keywords
Top keywords for a property ranked by clicks, impressions, CTR or position — with period-over-period comparison. Paginated via next_cursor. Filter by branded: true|false to split brand-driven queries from SEO-earned ones; the summary returns a branded_breakdown you can read in one shot.
get_keyword_detail
Daily time series (clicks, impressions, CTR, position) for a single search query in a property. Same date-range options as the summary.
list_pages_for_keyword
Given a single query, list the pages on your property that earn its clicks and impressions — ranked by clicks, impressions, CTR or position, with period-over-period deltas and next_cursor pagination. Handy for spotting keyword cannibalization or finding the canonical page for a term.
find_keyword_opportunities
Keyword ideas from a keyword research run started in the app (seed keywords, a page or a competitor domain), with Google Ads search volume, competition and bids next to your own Search Console presence. By default it keeps the content gap: the ideas you don't rank for yet.
list_keyword_clusters
Your Search Console keywords grouped into topic clusters (built in the Keyword Map), each with clicks, impressions, average position, Google Ads search volume, traffic value and its 12-month demand curve.
Pages
3 tools
See which URLs carry the traffic, where they lost ground, and pull a daily breakdown for any one of them.
get_top_pages
Top pages for a property ranked by clicks, impressions, CTR or position — every row returns clicks, impressions, CTR and position with period-over-period deltas. Paginated via next_cursor.
get_page_detail
Daily time series (clicks, impressions, CTR, position) for a single page URL in a property. Drop-in compatible with the summary's date-range syntax.
list_keywords_for_page
Given a page URL, list the search queries driving its clicks and impressions — ranked by your chosen metric, with period-over-period deltas and next_cursor pagination. The inverse of list_pages_for_keyword: start from a URL and see exactly which queries feed it.
Google Discover
3 tools
Google Discover is its own Search Console surface with its own clicks and impressions — read it here without mixing it into your Search numbers.
get_discover_summary
Discover clicks, impressions and CTR for the range, each compared with the equal-length window immediately before it: *_current, *_prev, *_delta and *_change_pct (ctr is a 0–1 fraction). Discover carries no query, position, country or device breakdown, so none is returned.
get_discover_history
The daily Discover trend: two series, clicks and impressions, as {date, value} points with missing days back-filled with 0 and ready to chart, plus the number of points and an insufficient_history flag.
get_discover_top_pages
The property's top Discover pages ranked by clicks — or by impressions or CTR — each with its clicks, impressions and ctr for the range and the change against the preceding window. Cursor-paginated via next_cursor.
Index coverage
4 tools
How much of your site Google actually indexes — coverage totals, the daily indexed trend, the URLs stuck in each state, and a live URL Inspection for any single page, straight from chat.
get_indexation_summary
Index-coverage summary for a property: known (sitemap-submitted) URLs, how many Google indexes, indexed_pct and a by_state breakdown (Submitted and indexed, Crawled – currently not indexed, Discovered – currently not indexed, Excluded by 'noindex', Page with redirect, Not found 404, Soft 404…). indexed carries a true prev/delta; date range via preset or absolute from/to.
get_indexation_history
The daily indexed-pages trend — one "indexed" series of {date, value} points, summed across the property's sitemaps and ready for a time-series chart. Returns points (days with real data) and flags insufficient_history when there are too few days to chart meaningfully.
list_indexation_pages
The URLs currently in a given Google coverage state (pass the state exactly as get_indexation_summary reports it). Each row returns url, state, last_crawled, google_canonical vs declared_canonical and discovered_via (sitemap or referring page). Cursor-paginated (limit max 200).
get_url_inspection
Live Google URL Inspection for one page: coverage_state, verdict (PASS / NEUTRAL / FAIL), indexing_allowed, Google vs user canonical, last_crawl_time, robots_txt_state, page_fetch_state, sitemaps, a referring-URLs sample, rich_results and mobile_usability. Cache-first — returns a fresh cached result or refreshes live from GSC within the property's inspection quota.
Tasks
8 tools
The SEOcrawl AI Task Manager — fully wired into the MCP. Create work, edit it, comment on it, never leave the chat.
list_tasks
All tasks for a property. Filter by status (open / done), assignee, taskbox (column) or q (case-insensitive title search). Paginated via next_cursor.
list_taskboxes
The task board's columns (taskboxes) for a property: id, name, status (todo / in_progress / done) and order. Pass a returned taskbox id — or the status keyword — to create_task or update_task to move a task into that column.
get_task
Full detail for a single task. Accepts a UUID, a slug, or a full browser task URL (the property arg is optional when you pass a URL).
create_task
Create a task on a property with title (required) plus optional description, assignee, priority (1–5, default 3) and taskbox (defaults to the TO-DO column).
update_task
Partially update a task — any combination of title, description, assignee, priority, taskbox, or unassign:true to clear the owner.
add_comment
Append a comment to a task. Same flexible ticket reference (UUID / slug / URL) as get_task and update_task.
get_comments
List the comments on a task, including nested replies. Same flexible ticket reference (UUID / slug / URL) as get_task — the property arg is optional when you pass a URL.
add_task_follower
Add a teammate as a follower of a task, or drop them with remove:true. The user is an email or a user UUID and has to be a member of that board already; adding one sends the same notification the app does, and the call is idempotent.
Roadmap milestones
4 tools
Milestones live on the same task board: group tasks into a dated roadmap, move the dates when the plan moves, and read progress straight from the DONE column.
list_milestones
Every roadmap milestone on a property's board: id, slug, name, description, start_date and end_date (Y-m-d), color, progress (0–100, computed from the tasks sitting in the DONE column), state (upcoming / active / overdue / done / at_risk) and the task and done counts. Pass a returned id or slug to update_milestone or assign_task_to_milestone.
create_milestone
Create a dated roadmap milestone. name plus startDate and endDate (Y-m-d, start on or before end) are required; description and a #RRGGBB color are optional. Tasks are attached afterwards with assign_task_to_milestone.
update_milestone
Partially update a milestone by id or slug — any combination of name, description, startDate, endDate and color. A milestone can be moved but never unscheduled, and startDate must stay on or before endDate.
assign_task_to_milestone
Link a task to a milestone, or unlink it by leaving the milestone out. The ticket takes a UUID, a slug or a full browser task URL, and a task belongs to at most one milestone.
Annotations
4 tools
Chart notes for any property — record what changed and when, then read the timeline back so context never gets lost next to your Search Console trends.
add_annotation
Create a chart note on a property for a given date (Y-m-d) with the note text — plus optional longer description, category and a linked task UUID. Added as a custom, site-wide note authored by you.
list_annotations
List a property's annotations within a date range, newest first. Use a preset (last_7_days, last_28_days, last_3_months, last_year) or absolute from/to dates, with optional substring search on the note text and pagination (limit capped at 200).
get_annotation
Full detail for a single annotation by its id — date, note, description, category, linked task, author and the property it belongs to. Use list_annotations to find the id.
delete_annotation
Delete a custom annotation by its id. Only your own custom notes can be removed — official or global notes are rejected. Returns the id with deleted: true.
Crawler
11 tools
Drive the Crawler from chat: create and edit crawl projects, read the health summary, list issues and the URLs behind them, drill into any page, trigger a fresh crawl and diff two crawls to see what regressed. The tool IDs keep their site_audit prefix.
list_site_audit_projects
List the property's Crawler projects (crawl configurations) to find the audit_id to target. Each returns audit_id, name, mode (list / complete / organic_traffic), device, start_urls, status, progress, last_crawl_date, pages_crawled and the latest health_score. Most other Crawler tools default to the most recently finished crawl, so you only need this to target a specific project.
create_crawler_project
Create a Crawler project (write action): crawl the whole site, discovered from Search Console and sitemaps, or a fixed list of your own URLs. Creating it crawls nothing and spends no credits; start it with trigger_site_audit_crawl, and it re-crawls weekly after that.
update_crawler_project
Rename a Crawler project, switch it between complete and list mode, or replace its URL list (write action). Nothing is crawled until you trigger the next crawl.
delete_crawler_project
Delete a Crawler project (write action, cannot be undone): it disappears from the app and from the read tools, and its weekly re-crawl stops.
get_site_audit_summary
Technical-health summary of the latest crawl: health_score (current plus prev and delta), pages_crawled, crawl_date, issues_by_severity (critical / warning / notice, each with issue_types and pages_affected vs the previous crawl), issues_by_category (OnPage, Links, International, Robots, Social) and per-area category_scores. Defaults to the most recent crawl.
list_site_audit_issues
The technical issues detected by the latest crawl, most severe first — each with issue_code (pass it to list_site_audit_issue_pages), title, severity, category, pages_affected (with prev and delta), how_to_fix guidance and priority. Filter by severity and/or category; cursor-paginated (limit max 200).
list_site_audit_issue_pages
The exact URLs affected by one issue — pass its issue_code and get each offending url with the per-page value. Cursor-paginated (limit max 200). Turns any Crawler issue straight into a concrete fix list.
get_site_audit_page
Full crawl detail for a single URL: status_code, crawl_depth, indexability_score and health_score, category_scores, issue_counts and issues[] — the page's failing checks, each with issue_code, severity, category, the per-page description and how_to_fix.
page_explorer
Find crawled pages that match technical SEO criteria in your latest crawl. Filter by status_code (e.g. 404), no_canonical, missing_h1 or check_title (any Crawler check shown in the app, e.g. "Title Tag too short"). Sort by health, status_code, url or depth, paginated via next_cursor. Every row returns url, status_code, title, indexability, performance_score (health 0–100), last_crawled_at, count_errors and count_warnings, plus a check_description when a check filter is active.
trigger_site_audit_crawl
Start a fresh crawl (write action) — queues the crawl and spends the project's crawler credits (separate from MCP credits) in proportion to the pages crawled. Supports complete and list modes; returns audit_id, status, started_at and pages_queued. Results become available to the read tools once the crawl finishes.
compare_site_audit_crawls
Diff two crawls to answer "what regressed or improved since last time?" — health_diff plus counts and four lists: new_issues, resolved_issues, worsened and improved, each issue carrying pages_affected, prev and delta. Defaults to the latest crawl vs the previous one.
Code Monitor
4 tools
Track on-page HTML/code changes across your monitored pages from chat — see which pages are watched with their status, read the project-wide change feed or a single page's history, pull the exact before/after diff of any detected change, and get a page's latest captured snapshot, without opening the dashboard.
list_code_monitor_pages
List the pages a property tracks in Code Monitor, each with its monitoring status — url, last_change_at (most recent detected change) and changes_count (total changes detected). Filter by url substring; cursor-paginated (limit max 200). Returns feature_not_available when the plan doesn't include Code Monitor.
list_code_monitor_changes
List detected on-page code/HTML changes, newest first — each with url, date and change_types (Title, Canonical, Meta Description, noindex, robots.txt, sitemap.xml, H1, Status code, Hreflang, Open Graph, Twitter image, Analytics, Tag Manager). Filter to one page with seoMonitorId or page, or omit for the project-wide recent-changes feed; narrow with from/to. Cursor-paginated (limit max 200).
get_code_monitor_change
Get the before/after values for a single detected change, addressed by url + createdAt — one entry per changed field with type, property, before and after (arrays for multi-valued fields). Pass changeType to return just one field. Returns not_found when no change matches and invalid_change_type for an unknown field label.
get_code_monitor_snapshot
Get the most recent captured state of a monitored page — the current extracted on-page fields (title, canonical, meta description, meta robots, robots.txt, sitemap.xml, H1, headings, status code, hreflang, Open Graph image, Twitter image, Analytics, Tag Manager). Address the page by seoMonitorId or url; raw HTML and screenshots are not stored. Returns not_found for an unknown page.
Prompt Tracking (AI visibility)
15 tools
Prompt Tracking (GEO / AI visibility), end to end: see which prompts a property monitors across ChatGPT, Gemini, Perplexity, Claude, Google AI Overviews and Google AI Mode, read per-engine mention rates and the exact sources each engine cited, run a prompt on demand, and create, edit or organize prompts and topics, all from chat.
list_prompts
List the prompts a property tracks. Every row returns prompt_id, prompt_text, engines_tracked, last_run_at (ISO-8601) and runs_in_range (engine executions inside the window). Scope runs_in_range with a preset (last_7_days, last_28_days, last_3_months, last_year) or absolute from/to dates; the full prompt list always comes back. Filter by engine (chatgpt, claude, gemini, perplexity, ai_overview, ai_mode) or by text, keep only the prompts where a competitor appears and you don't (gapOnly), and page via limit (max 200) and next_cursor.
get_prompt_detail
Per-engine visibility for a single prompt: runs, mentions, mention_rate (%) and the change in percentage points vs the preceding period, for each engine it runs on (ChatGPT, Claude, Gemini, Perplexity, Google AI Overviews, Google AI Mode), with totals across engines. For AI Overviews only a citation counts as a mention. Date range via preset or absolute from/to (defaults to last_28_days).
list_prompt_runs
The individual engine executions behind one prompt — one row per run with date, engine, mentioned / mentioned_in_text flags and a response_excerpt (up to 600 chars of the actual AI answer). Filter by engine, scope by date range, paginate via limit (max 200) and next_cursor.
list_prompt_citations
The sources the AI engines cited when answering one prompt, aggregated over the range: own_domain plus every cited domain and URL flagged with is_own_domain and url_count — so you can see which of your pages earn citations and which competitors win them.
trigger_prompt_run
Run a tracked prompt now on every engine it tracks instead of waiting for its schedule (write action). The answers land in list_prompt_runs within a few minutes; one on-demand run per prompt per hour, shared with the app's Run now.
create_prompt
Create a tracked prompt: the question that runs against the AI engines. Set the engine list (chatgpt, claude, gemini, perplexity, ai_overview, ai_mode), country, response language and cadence (daily, week or month), and optionally file it under a topic by topicId or topicTitle (find-or-create). The first run is queued at once.
update_prompt
Partially update a tracked prompt — any combination of its text, engine list, country, response language or run cadence; omitted fields are left unchanged. The prompt keeps its current topic and must stay unique within it.
delete_prompt
Delete a tracked prompt and all of its recorded engine responses. Irreversible; the prompt's topic is left untouched.
list_prompt_topics
List the prompt topics that group prompts on the Prompt Tracking page — each with topic_id and title. Pass a topic to create_prompt / update_prompt to file a prompt under it.
create_prompt_topic
Create (or fetch) a prompt topic by title — an idempotent upsert, so re-creating an existing title returns it unchanged with created=false. Topics group prompts on the Prompt Tracking page.
update_prompt_topic
Rename a prompt topic by its topicId. The new title must be non-empty and unique within the property (renaming to the same title is a no-op success).
delete_prompt_topic
Delete a prompt topic. Cascades: every prompt filed under it, and all of those prompts' recorded responses, are permanently deleted too. Returns prompts_deleted. Irreversible.
get_ai_visibility_share_of_voice
The aggregate share-of-voice view: your domain against its competitors across every tracked prompt, each domain ranked by share of voice (0–100 average visibility) with its change vs the preceding period, plus a head-to-head count of the prompts you win and lose against the top competitor. Use list_prompts / get_prompt_detail for the per-prompt breakdown.
get_ai_visibility_mentions
How often the brand is named across all tracked prompts in the range: total_prompts plus three mutually exclusive buckets — mentioned (named prominently), mentioned_in_text (only in the body of the answer) and absent — each with a count and a percentage. This is presence, not sentiment.
get_ai_visibility_history
The daily AI-visibility trend: one series of {date, value} points where value is the percentage of tracked prompts whose answers linked to the brand that day, ready to chart. Also returns the number of points in range and an insufficient_history flag for windows too short to read.
GA4 Web Analytics
6 tools
Google Analytics 4 in the same connector — sessions, conversions, traffic sources and the AI/LLM referral traffic behind your GEO work, straight from chat.
list_ga4_properties
List the GA4 properties connected to your projects. Each entry returns the project id and URL (either works as the property argument for the other GA4 tools), the underlying GA4 property ID and the connection date. Only projects with a connected GA4 property are returned.
get_ga4_summary
Sessions, users, new users, conversions, engagement rate and sessions per user for a property over a chosen window — presets (last_7_days, last_28_days, last_3_months, last_year) or absolute from/to dates. Every metric returns current, prev and delta vs the immediately preceding period.
compare_ga4_date_ranges
Compare two GA4 windows side by side — sessions, users, new users, conversions and engagement rate, with both values plus diff and change_pct per metric. Period A can be a preset; Period B is absolute. The GA4 twin of compare_date_ranges.
get_ga4_traffic_by_source
Sessions broken down by acquisition source. Pick dimension=source_medium (default) or channel for GA4's default channel grouping — rows come sorted by sessions, each with its share_pct of the period total, capped by limit (default 25, max 100).
get_ga4_top_pages
GA4 metrics per page (landing / URL), ranked so you see which pages drive the most sessions, signups (conversions) or users. Every row returns the page plus sessions, users, conversions and engagement_rate, each with the prior-period prev and change_pct. Sort by sessions (default), conversions or users; capped by limit (default 25, max 100). The page-level companion to get_ga4_traffic_by_source.
get_ga4_ai_referrers
AI/LLM referral traffic by engine — ChatGPT, Perplexity, Gemini, Claude, Copilot and more, detected from the GA4 session source/medium. Each engine returns sessions, key events and average session duration, with the change vs the previous period. Your GEO traffic, measured.
Tags
8 tools
Build a custom taxonomy over your keywords and pages, then slice Search Console by it. Create tags, assign them by hand or with auto-rules, and pass them to the tags filter on get_top_keywords, get_top_pages and list_winners_losers.
list_tags
List a property's keyword and page tags. Each tag returns tag_id, name, type (keyword|page), color, rule_count (auto-assignment rules) and member_count (keywords or pages currently carrying it). Pass tag names to the tags filter on get_top_keywords, get_top_pages and list_winners_losers.
create_tag
Create a tag on a property. type is keyword (tags keywords), url (tags pages) or both. Optional color is a hex string used by the SEOcrawl AI UI. Tag identity is name + type, so re-creating an existing tag just updates its color.
apply_tag
Manually apply a tag to specific keywords and/or pages, on top of any auto-rules. Pass keywords (exact strings) and/or urls (exact page URLs); at least one is required. The tag is created for the relevant type if it does not exist yet.
remove_tag
Remove a tag from specific keywords and/or pages — the inverse of apply_tag. Only unassigns the tag from those items; it does not delete the tag itself or touch auto-assignment rules.
delete_tag
Delete a tag entirely: unassign it from every keyword/page and remove the tag. type is keyword, url or both. The built-in Brand / Non-Brand tags cannot be deleted. Auto-rules targeting the tag are left intact — use delete_tag_rule for those.
list_tag_rules
List a property's auto-assignment rules — the patterns that tag keywords/pages automatically. Optionally filter by tag. Each rule returns rule_id, tag, field (keyword|url), country and its conditions (match + value).
create_tag_rule
Create an auto-assignment rule that tags every matching keyword or page — current and future. field is keyword or url; match is contains, not_contains, exact, starts_with, ends_with or regex (a safe RE2 pattern); value is the pattern. One rule per tag+field; tagging of existing items runs asynchronously.
delete_tag_rule
Delete an auto-assignment rule by its rule_id (from list_tag_rules). Stops future auto-tagging for that pattern; items already carrying the tag keep it (use remove_tag or delete_tag to unassign).
Smart Views
3 tools
Saved, named tag selections that show up in the SEOcrawl AI UI exactly like natively-built views. Build a reusable segment from your keyword or page tags, read them back, or remove one — your saved views, managed from chat.
list_smart_views
List the keyword and page Smart Views defined for a property — each with view_id, name, type (keyword | page) and the tag names it groups. Per-tag member counts come from list_tags.
create_smart_view
Create a Smart View from a set of tags (read them from list_tags). type is keyword (over keyword tags) or page (over page tags). The view appears in the SEOcrawl AI UI exactly like a natively-created one and can be edited there.
delete_smart_view
Delete a Smart View by its view_id. Permanent and removes the view from the SEOcrawl AI UI too; the underlying tags are not affected. A regular applied-filter id returns not_found.
Reporting
4 tools
Your SEO Reporting, from chat — list the reports and templates built for a property, read any report's full widget composition, generate a shareable snapshot link, and see which reports are scheduled for recurring delivery, all without opening the dashboard.
list_reports
List the SEO Reporting reports built for a property — each with id, name, is_template, is_automate, created_at and owner. Returns plain reports by default; pass templates: true to list report templates instead. Recurring reports are excluded (use list_report_schedules). Cursor-paginated via next_cursor.
get_report
Get one report's metadata (name, is_template, is_automate, owner, created_at, plus period and recipients when scheduled) and its full widget structure — every widget's type, title, position, config and filters. Returns the report's composition, not rendered analytics numbers (read those with the GSC / GA4 tools).
generate_report
Generate a shareable snapshot of an existing report and return its public URL (write action). Snapshots the report's current widget state, deduped by content hash — it takes no date range, so edit the report's widgets first if you need a different period. Returns report_id, snapshot_id and url.
list_report_schedules
List the reports configured for automated recurring delivery on a property — each with id, name, owner, period (week or month) and the recipient user IDs. Reflects the stored schedule configuration (period + recipients). Cursor-paginated via next_cursor.
Web Fetch
1 tool
Inspect any live page mid-conversation — parsed SEO elements, clean markdown content and raw HTML, no crawl required.
fetch_url
Fetch a single live URL on demand (plain HTTP GET, no JavaScript) and get the response details back — final URL, status code, full redirect chain, response time and decoded page size — plus optional blocks: parsed SEO elements (title, meta description, meta robots, canonical, hreflang, headings, OG/Twitter tags, JSON-LD types, word count, link counts, images missing alt), the main content as clean markdown, and the raw HTML. Transport failures return structured errors (dns_error, timeout, blocked_url…). Free — it never burns MCP credits; rate-limited per user.
Visual rendering
3 tools
Turn any result into a rich visual widget instead of raw JSON — KPI scorecards, sortable tables and interactive trend charts. Data tools flag a render_with hint and your assistant calls these automatically; all three are free.
render-scorecard
Render a KPI card grid from summary data — each card carries a label, a raw value, an optional unit ($ prefix, % suffix, or s for a duration), a period-over-period change with up/down direction, and optional grouping into sections when there are more than four cards. Auto-called when a summary tool (get_gsc_summary, get_ga4_summary…) returns render_with: render-scorecard. Free.
render-data-table
Render an interactive table with client-side sort, search and pagination from any list result — top keywords, top pages, biggest movers, prompts, backlinks and more. Columns are typed from the data and array cells stay as chips. Auto-called when a list tool returns render_with: render-data-table. Free.
render-time-series-chart
Render an interactive line chart with hover tooltip and crosshair, a toggleable legend, and an automatic dual Y-axis when two series use different units. Fed by any history / daily-series tool (get_page_detail, get_keyword_detail, performance history…) that returns render_with: render-time-series-chart. Free.
Platform health
1 tool
Check the connector itself before you build on it — one free call shows whether every surface is up right now.
health
Live status of the MCP backend per surface (Search Console, GA4, Crawler, Prompt Tracking, Tasks) and per data store, each reported as ok, degraded or down with last_check_at and a sample_error. Free and takes no arguments: poll it before a multi-step workflow so a broken endpoint is visible up front.
SEO MCP server — FAQ
What is an SEO MCP server?
A server that exposes SEO data and actions as tools an AI assistant can call through the Model Context Protocol, the open standard Anthropic introduced in November 2024. You ask in plain language and the assistant runs the right query against your accounts. SEOcrawl AI’s server is hosted at https://mcp.seocrawl.ai.
Which is the best SEO MCP server?
It depends on the data you need. Ahrefs, Semrush and DataForSEO give you their keyword and backlink databases. SEOcrawl AI is built for your own first-party data: Search Console, GA4, the Crawler and AI visibility across six AI engines, plus tasks and annotations, in one hosted connector. The comparison table above shows what each vendor’s MCP documentation covers.
Is it free? Which plans include it?
MCP access is included on every SEOcrawl AI plan, from Starter at €49/month with 30,000 MCP credits, and every plan starts with a 30-day free trial. See the pricing page for the full breakdown.
Does it work with Claude, ChatGPT, Cursor and Claude Code?
Yes. SEOcrawl AI is listed in the Claude directory and the ChatGPT apps directory, and works in Cursor and Claude Code with the same URL. Any MCP client that supports remote servers over HTTP with OAuth sign-in can connect.
Is it a Google Search Console MCP?
Yes, and a hosted one: no Google Cloud project, service account or local install. It reads the Search Console properties connected to your SEOcrawl AI account and adds period comparisons, biggest movers, branded vs non-branded splits, index coverage and URL Inspection.
Does it track AI visibility?
Yes. Prompt Tracking runs your prompts on ChatGPT, Gemini, Perplexity, Claude, Google AI Overviews and Google AI Mode (Microsoft Copilot is coming soon). Through the MCP you read mention rates, share of voice and cited sources, and you measure AI referral traffic from GA4.
Is my data safe?
You sign in with OAuth, so your assistant never sees your password, and it only reaches the projects your SEOcrawl AI user can open. Data is never shared across accounts. Write actions, such as creating a task or starting a crawl, are separate tools, so you can review them in your AI client before they run.
Where is the SEOcrawl AI MCP listed?
In the Claude directory, the ChatGPT apps directory and on Glama. Whichever you use, it is the same hosted endpoint: https://mcp.seocrawl.ai.
Get a Guided Tour of SEOcrawl AI
Book a 30-minute call with our team — we'll walk you through SEOcrawl AI on your own data.