
VibeSEO
Remote OAuth-secured MCP that connects Claude, ChatGPT, Cursor, or VS Code to VibeSEO's API for live SEO work. Ask for keyword research with volume and difficulty, run site audits and read crawl issues, pull backlink profiles and referring domains, query Google Search Console data for connected properties, or manage content workflow from idea generation to scheduling. Each tool maps directly to VibeSEO's platform features. Auth is OAuth 2.1 with PKCE, tokens are revocable per client, and the approval gate for publishing stays inside VibeSEO. Reach for this when you want conversational access to a full SEO research and content ops stack without leaving your editor or chat interface.
- GitHub stars
- 2
- tools
- 70
- transport
- HTTP
- last updated
- Sep 24, 2026
Tools
70 toolsPublic tool metadata for what this MCP can expose to an agent.
get_location_by_codeLook up a single location by its DataForSEO location code, e.g. 2840 for United States.1 params
Look up a single location by its DataForSEO location code, e.g. 2840 for United States.
codeintegerscore_keywordScore a candidate keyword against this project's archetype to get a 0-100 priority score with breakdown. The keyword must already appear in the project's top-100 ranking set.2 params
Score a candidate keyword against this project's archetype to get a 0-100 priority score with breakdown. The keyword must already appear in the project's top-100 ranking set.
keywordstringprojectIdintegerupdate_site_informationSave the project's site information. All optional fields default to existing values when omitted.18 params
Save the project's site information. All optional fields default to existing values when omitted.
audienceSummarystringblogThemestringctaButtonStylestringPrimary · Secondary · Inlinedefault: PrimaryctaButtonTextstringctaButtonUrlstringfoundersstringinlineImageBrandingDescriptionstringkeyFeaturesstringmainImageBrandingDescriptionstringpainPointsstringpricingPlansstringprimaryCountrystringprimaryLanguagestringproductUsagestringprojectIdintegersiteTypestringUnknown · Saas · Ecommerce · Educational · Entertainment · FinancialServicessiteTypeCustomstringsummarystringlist_languagesList supported languages (language code + display name).
List supported languages (language code + display name).
No parameter schema in public metadata yet.
list_publicationsList published article snapshots (read-only history) for the project, with traffic signals.1 params
List published article snapshots (read-only history) for the project, with traffic signals.
projectIdintegergsc_query_detailsGSC performance for a specific list of queries.3 params
GSC performance for a specific list of queries.
daysintegerprojectIdintegerqueriesarraylist_domain_historyReturn the calling user's recent domain search history.
Return the calling user's recent domain search history.
No parameter schema in public metadata yet.
keyword_gapKeywords the competitor ranks for that the primary domain doesn't (highest-opportunity gap targets), or common keywords. Returns { totalCount, items }.6 params
Keywords the competitor ranks for that the primary domain doesn't (highest-opportunity gap targets), or common keywords. Returns { totalCount, items }.
competitorstringdomainstringlanguageCodestringlimitintegerlocationCodeintegermodestringGap · Commonlist_audit_issuesFiltered list of issues from an audit. Filter by category (on-page, technical, content, performance, ...) or severity (critical, warning, info).3 params
Filtered list of issues from an audit. Filter by category (on-page, technical, content, performance, ...) or severity (critical, warning, info).
auditIdintegercategorystringseveritystringautocomplete_keywords_batchBulk autocomplete suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.10 params
Bulk autocomplete suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.
cpcMaxnumbercpcMinnumberintentstringkeywordsarraylanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerautocomplete_keywordsGoogle-autocomplete-style keyword suggestions for a seed keyword. Filter results by volume, CPC, difficulty, intent. Each suggestion comes back with its own locationCode/languageCode — use this tool (or related_keywords) to discover the right market before calling get_keyword_...10 params
Google-autocomplete-style keyword suggestions for a seed keyword. Filter results by volume, CPC, difficulty, intent. Each suggestion comes back with its own locationCode/languageCode — use this tool (or related_keywords) to discover the right market before calling get_keyword_...
cpcMaxnumbercpcMinnumberintentstringkeywordstringlanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerquestion_keywordsQuestion-format suggestions (what/how/why/when/...) for a seed keyword. Useful for FAQ and informational content.10 params
Question-format suggestions (what/how/why/when/...) for a seed keyword. Useful for FAQ and informational content.
cpcMaxnumbercpcMinnumberintentstringkeywordstringlanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegercomparison_keywords_batchBulk comparison-style suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.10 params
Bulk comparison-style suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.
cpcMaxnumbercpcMinnumberintentstringkeywordsarraylanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerclear_domain_historyClear the calling user's domain search history.
Clear the calling user's domain search history.
No parameter schema in public metadata yet.
gsc_top_queriesTop search queries from GSC for a project.3 params
Top search queries from GSC for a project.
daysintegerlimitintegerprojectIdintegerdomain_traffic_historyMonthly organic traffic history for a domain.3 params
Monthly organic traffic history for a domain.
domainstringlanguageCodestringlocationCodeintegerreject_postReject a Ready post: clears the body and returns it to Drafting with the reason recorded.2 params
Reject a Ready post: clears the body and returns it to Drafting with the reason recorded.
postIdintegerreasonstringgsc_statusGSC connection status for a project: connected/pending/invalid, bound site, last sync time.1 params
GSC connection status for a project: connected/pending/invalid, bound site, last sync time.
projectIdintegerlist_competitorsList the project's tracked competitors.1 params
List the project's tracked competitors.
projectIdintegerbacklink_historyHistorical backlink count trend for the domain.1 params
Historical backlink count trend for the domain.
domainstringrefill_queueAppend new Idea-status posts to the queue (additive — does not touch existing posts).2 params
Append new Idea-status posts to the queue (additive — does not touch existing posts).
countintegerprojectIdintegerlist_audits_for_projectAll audits previously run for a project, newest first.1 params
All audits previously run for a project, newest first.
projectIdintegerlist_gsc_sitesList Google Search Console sites accessible via a previously-connected GSC connection.1 params
List Google Search Console sites accessible via a previously-connected GSC connection.
connectionIdintegerget_audit_summaryCondensed audit scorecard: category breakdown, top recurring rule codes, average response time, indexable pages percent.1 params
Condensed audit scorecard: category breakdown, top recurring rule codes, average response time, indexable pages percent.
auditIdintegerget_projectGet a single project by ID.1 params
Get a single project by ID.
idintegerlist_projectsList the calling user's VibeSEO projects.
List the calling user's VibeSEO projects.
No parameter schema in public metadata yet.
get_auditAudit metadata + summary scores by audit ID.1 params
Audit metadata + summary scores by audit ID.
auditIdintegeranalyze_for_onboardingRun the onboarding analyzer on a domain: surfaces opportunity gaps, audit issues, and competitor insights as initial recommendations.1 params
Run the onboarding analyzer on a domain: surfaces opportunity gaps, audit issues, and competitor insights as initial recommendations.
domainstringupdate_projectRename or change the domain of an existing project.3 params
Rename or change the domain of an existing project.
domainstringidintegernamestringstart_site_auditTrigger a new site audit (crawl + on-page/technical analysis). Runs asynchronously; poll get_audit until status="completed".2 params
Trigger a new site audit (crawl + on-page/technical analysis). Runs asynchronously; poll get_audit until status="completed".
maxPagesintegerprojectIdintegerclear_keyword_historyClear the calling user's keyword search history.
Clear the calling user's keyword search history.
No parameter schema in public metadata yet.
question_keywords_batchBulk question-format suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.10 params
Bulk question-format suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.
cpcMaxnumbercpcMinnumberintentstringkeywordsarraylanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegergsc_top_pagesTop landing pages from GSC for a project.3 params
Top landing pages from GSC for a project.
daysintegerlimitintegerprojectIdintegerdomain_competitor_suggestionsSuggested competitor domains based on keyword overlap and similar audience.4 params
Suggested competitor domains based on keyword overlap and similar audience.
domainstringlanguageCodestringlimitintegerlocationCodeintegerbacklink_anchorsTop anchor texts pointing at the domain.2 params
Top anchor texts pointing at the domain.
domainstringlimitintegerdelete_projectDelete a project. This action is irreversible.1 params
Delete a project. This action is irreversible.
idintegerget_keyword_metricsKEYWORD DIFFICULTY REQUIRES locationCode AND languageCode — worldwide calls (both omitted) return null KD. If the target market is unknown, first call autocomplete_keywords or related_keywords; their results include locationCode/languageCode per suggestion, which you can then...3 params
KEYWORD DIFFICULTY REQUIRES locationCode AND languageCode — worldwide calls (both omitted) return null KD. If the target market is unknown, first call autocomplete_keywords or related_keywords; their results include locationCode/languageCode per suggestion, which you can then...
keywordstringlanguageCodestringlocationCodeintegerpropose_site_informationRun the AI strategist to propose site information values from the latest crawl.1 params
Run the AI strategist to propose site information values from the latest crawl.
projectIdintegerget_keyword_metrics_batchMAX 5 KEYWORDS PER CALL. Sending 6 or more returns a 400 validation error — split larger lists across multiple calls. KEYWORD DIFFICULTY REQUIRES locationCode AND languageCode — worldwide calls (both omitted) return null KD for every keyword. If the target market is unknown, f...3 params
MAX 5 KEYWORDS PER CALL. Sending 6 or more returns a 400 validation error — split larger lists across multiple calls. KEYWORD DIFFICULTY REQUIRES locationCode AND languageCode — worldwide calls (both omitted) return null KD for every keyword. If the target market is unknown, f...
keywordsarraylanguageCodestringlocationCodeintegerlist_keyword_historyReturn the calling user's recent keyword search history.
Return the calling user's recent keyword search history.
No parameter schema in public metadata yet.
backlink_profileAggregate backlink profile for a domain: total backlinks, referring domains, spam score, broken links.1 params
Aggregate backlink profile for a domain: total backlinks, referring domains, spam score, broken links.
domainstringpreposition_keywordsSuggestions containing prepositions (for/with/near/...) for a seed keyword.10 params
Suggestions containing prepositions (for/with/near/...) for a seed keyword.
cpcMaxnumbercpcMinnumberintentstringkeywordstringlanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerschedule_postSet or change the scheduled_for date on a post (Idea, Drafting, or Ready).2 params
Set or change the scheduled_for date on a post (Idea, Drafting, or Ready).
postIdintegerscheduledForstringgsc_trendDaily GSC trend (clicks, impressions, position) over a window.2 params
Daily GSC trend (clicks, impressions, position) over a window.
projectIdintegerwindowDaysintegerapprove_postApprove a Ready post and queue it for publication at its scheduled time.1 params
Approve a Ready post and queue it for publication at its scheduled time.
postIdintegerdomain_overviewAuthority, organic/paid traffic estimate, keyword count, backlink count, and rank distribution for a domain.3 params
Authority, organic/paid traffic estimate, keyword count, backlink count, and rank distribution for a domain.
domainstringlanguageCodestringlocationCodeintegersearch_locationsSearch countries and cities by name. Useful for resolving a city name to its DataForSEO location code.2 params
Search countries and cities by name. Useful for resolving a city name to its DataForSEO location code.
limitintegerquerystringcreate_projectCreate a new VibeSEO project for a domain.2 params
Create a new VibeSEO project for a domain.
domainstringnamestringget_publicationRead a single publication snapshot including daily impression/click signals.1 params
Read a single publication snapshot including daily impression/click signals.
publicationIdintegergsc_summaryAggregate GSC performance for the project over a window: clicks, impressions, CTR, avg position, deltas vs previous period.2 params
Aggregate GSC performance for the project over a window: clicks, impressions, CTR, avg position, deltas vs previous period.
projectIdintegerwindowDaysintegercomparison_keywordsComparison-style suggestions ("X vs Y", "X alternative", ...) for a seed keyword.10 params
Comparison-style suggestions ("X vs Y", "X alternative", ...) for a seed keyword.
cpcMaxnumbercpcMinnumberintentstringkeywordstringlanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerlist_postsList posts for a project. Filter by status: Idea, Drafting, Ready, Approved, Published.2 params
List posts for a project. Filter by status: Idea, Drafting, Ready, Approved, Published.
projectIdintegerstatusstringIdea · Drafting · Ready · Approved · Publishedgenerate_postTrigger AI draft generation for a scheduled Idea or Drafting post. Returns the post ID.1 params
Trigger AI draft generation for a scheduled Idea or Drafting post. Returns the post ID.
postIdintegerget_postRead a single post (markdown body, FAQ, internal links, SEO score, status, schedule).1 params
Read a single post (markdown body, FAQ, internal links, SEO score, status, schedule).
postIdintegerpreposition_keywords_batchBulk preposition-style suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.10 params
Bulk preposition-style suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.
cpcMaxnumbercpcMinnumberintentstringkeywordsarraylanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerlist_crawled_pagesTop crawled pages from the project's most recent completed audit (URL, title, meta, word count). Useful for fact-checking and finding internal-link targets.2 params
Top crawled pages from the project's most recent completed audit (URL, title, meta, word count). Useful for fact-checking and finding internal-link targets.
limitintegerprojectIdintegerrefresh_ideasReplace existing Idea-status posts with a fresh strategist-generated batch. Drafting/Ready/Approved/Published posts are untouched.2 params
Replace existing Idea-status posts with a fresh strategist-generated batch. Drafting/Ready/Approved/Published posts are untouched.
countintegerprojectIdintegerbacklink_referring_domainsPaginated list of domains linking to the target.3 params
Paginated list of domains linking to the target.
domainstringpageintegerpageSizeintegercreate_publishing_targetAdd a new publishing target (Subdomain or CustomDomain).3 params
Add a new publishing target (Subdomain or CustomDomain).
hostnamestringprojectIdintegertypestringCustomDomain · WordPresscompetitive_overviewSide-by-side metrics for a primary domain and its competitors: traffic, keywords, backlinks, common keywords, gap size, monthly trend.4 params
Side-by-side metrics for a primary domain and its competitors: traffic, keywords, backlinks, common keywords, gap size, monthly trend.
competitorsarraydomainstringlanguageCodestringlocationCodeintegerlist_countriesList supported DataForSEO country locations (location codes + ISO codes).
List supported DataForSEO country locations (location codes + ISO codes).
No parameter schema in public metadata yet.
related_keywords_batchBulk synonym-expansion suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.10 params
Bulk synonym-expansion suggestions for 1 to 5 seed keywords per call. MAX 5: sending more returns a 400 validation error — split larger lists across multiple calls.
cpcMaxnumbercpcMinnumberintentstringkeywordsarraylanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerget_site_informationRead the project's site information record (brand, audience, pain points, CTAs).1 params
Read the project's site information record (brand, audience, pain points, CTAs).
projectIdintegerrelated_keywordsSynonym-expansion related keywords for a seed keyword. Each suggestion comes back with its own locationCode/languageCode — use this tool (or autocomplete_keywords) to discover the right market before calling get_keyword_metrics for keyword difficulty.10 params
Synonym-expansion related keywords for a seed keyword. Each suggestion comes back with its own locationCode/languageCode — use this tool (or autocomplete_keywords) to discover the right market before calling get_keyword_metrics for keyword difficulty.
cpcMaxnumbercpcMinnumberintentstringkeywordstringlanguageCodestringlocationCodeintegersdMaxintegersdMinintegervolumeMaxintegervolumeMinintegerget_month_viewRead all posts scheduled in a given month, grouped for calendar display.2 params
Read all posts scheduled in a given month, grouped for calendar display.
monthStartstringprojectIdintegerlist_publishing_targetsList subdomains and custom domains the project can publish to.1 params
List subdomains and custom domains the project can publish to.
projectIdintegerdomain_top_pagesTop pages on the domain by estimated organic traffic.4 params
Top pages on the domain by estimated organic traffic.
domainstringlanguageCodestringlimitintegerlocationCodeintegerreplace_competitorsReplace the project's competitor list with the supplied set of domains.2 params
Replace the project's competitor list with the supplied set of domains.
domainsarrayprojectIdintegerlist_citiesList cities supported within a country. Country code is ISO 3166-1 alpha-2, e.g. "US".1 params
List cities supported within a country. Country code is ISO 3166-1 alpha-2, e.g. "US".
countryCodestringdomain_top_keywordsTop organic keywords the domain ranks for, with position, volume, traffic, and SERP features.4 params
Top organic keywords the domain ranks for, with position, volume, traffic, and SERP features.
domainstringlanguageCodestringlimitintegerlocationCodeintegerSponsors
Readme
en • es • de • ja • fr • pt • ru • it • nl • pl
VibeSEO MCP
Model Context Protocol server for SEO research, audits, and content workflow — secured by OAuth.
VibeSEO MCP brings live SEO work into your AI assistant. Connect Claude, ChatGPT, Cursor, VS Code, or a CLI client to VibeSEO. Then ask for keyword research, audits, backlinks, Search Console trends, and content workflow actions in natural language.
- Server URL:
https://mcp.vibeseo.dev/mcp - Transport: Streamable HTTP
- Auth: OAuth 2.1 with PKCE, scope
mcp:tools - Landing & setup: vibeseo.dev/mcp
Install
VibeSEO MCP is a remote, OAuth-secured server. Add this to your client's MCP config:
{
"mcpServers": {
"vibeseo": {
"url": "https://mcp.vibeseo.dev/mcp"
}
}
}
One-click install:
Details
- Repository
- github.com/sultanlive/vibeseo-mcp
- Website
- vibeseo.dev/mcp
- Categories
- Sales & Marketing, Search & Web Crawling, Automation & Workflows
- Transport
- HTTP
- Registry
- MCP registry, active