vibeseo-mcp

VibeSEO MCP brings live SEO work into your AI assistant.

Community: Submitted by a user or imported; check the owner before granting accessOnlineNo sign-inGlobalFreeCan modify data

What it can do

  • Get Location By Code: Look up a single location by its DataForSEO location code, e.g. 2840 for United States.
  • Score Keyword: 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.
  • Update Site Information: Save the project's site information. All optional fields default to existing values when omitted.

What data it sees

Do you need an account

No: the server works without sign-in

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.

What you can do from chat:

  • πŸ” Keyword research β€” volumes, CPC, difficulty, intent, autocomplete, questions, comparisons.
  • 🌐 Domain analysis β€” overview, top keywords and pages, traffic history, competitor ideas.
  • πŸ”— Backlinks β€” profile, referring domains, anchors, history.
  • πŸ› οΈ Site audits β€” start audits, read crawl results, prioritize fixes by impact.
  • πŸ“Š GSC performance β€” connected Google Search Console summaries, top queries, trends, query diagnostics.
  • πŸš€ Content workflow β€” list posts, refresh ideas, generate drafts, approve, schedule, and publish.

Built for real work, not demos:

  • OAuth-secured. Tokens scoped to mcp:tools, tied to your VibeSEO account, revocable any time from the connected-clients table.
  • Approval gate stays. MCP can help manage the workflow, but VibeSEO keeps the human approval step before content goes live.
  • Streamable HTTP transport. Works with Claude (web & desktop), ChatGPT, Cursor, VS Code, Claude Code, Gemini CLI, and Codex CLI.

Setup: open vibeseo.dev/mcp, pick your client, authorize via OAuth. One connection per client, lasts until you revoke.

Server tool list (60)

Raw names from tools/list. Only developers need these.

get_location_by_codeLook up a single location by its DataForSEO location code, e.g. 2840 for United States.
score_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.
update_site_informationSave the project's site information. All optional fields default to existing values when omitted.
list_languagesList supported languages (language code + display name).
list_publicationsList published article snapshots (read-only history) for the project, with traffic signals.
gsc_query_detailsGSC performance for a specific list of queries.
list_domain_historyReturn the calling user's recent domain search history.
keyword_gapKeywords the competitor ranks for that the primary domain doesn't (highest-opportunity gap targets), or common keywords. Returns { totalCount, items }.
list_audit_issuesFiltered list of issues from an audit. Filter by category (on-page, technical, content, performance, ...) or severity (critical, warning, info).
autocomplete_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.
autocomplete_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_metrics for keyword difficulty.
question_keywordsQuestion-format suggestions (what/how/why/when/...) for a seed keyword. Useful for FAQ and informational content.
comparison_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.
clear_domain_historyClear the calling user's domain search history.
gsc_top_queriesTop search queries from GSC for a project.
domain_traffic_historyMonthly organic traffic history for a domain.
reject_postReject a Ready post: clears the body and returns it to Drafting with the reason recorded.
gsc_statusGSC connection status for a project: connected/pending/invalid, bound site, last sync time.
list_competitorsList the project's tracked competitors.
backlink_historyHistorical backlink count trend for the domain.
refill_queueAppend new Idea-status posts to the queue (additive β€” does not touch existing posts).
list_audits_for_projectAll audits previously run for a project, newest first.
list_gsc_sitesList Google Search Console sites accessible via a previously-connected GSC connection.
get_audit_summaryCondensed audit scorecard: category breakdown, top recurring rule codes, average response time, indexable pages percent.
get_projectGet a single project by ID.
list_projectsList the calling user's VibeSEO projects.
get_auditAudit metadata + summary scores by audit ID.
analyze_for_onboardingRun the onboarding analyzer on a domain: surfaces opportunity gaps, audit issues, and competitor insights as initial recommendations.
update_projectRename or change the domain of an existing project.
start_site_auditTrigger a new site audit (crawl + on-page/technical analysis). Runs asynchronously; poll get_audit until status="completed".
clear_keyword_historyClear the calling user's keyword search history.
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.
gsc_top_pagesTop landing pages from GSC for a project.
domain_competitor_suggestionsSuggested competitor domains based on keyword overlap and similar audience.
backlink_anchorsTop anchor texts pointing at the domain.
delete_projectDelete a project. This action is irreversible.
get_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 pass back here. Looks up search volume, CPC, keyword difficulty, competition, and search intent for a single keyword.
propose_site_informationRun the AI strategist to propose site information values from the latest crawl.
get_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, first call autocomplete_keywords or related_keywords; their results include locationCode/languageCode per suggestion, which you can then pass back here. Looks up search volume, CPC, KD, and intent for 1 to 5 keywords.
list_keyword_historyReturn the calling user's recent keyword search history.
backlink_profileAggregate backlink profile for a domain: total backlinks, referring domains, spam score, broken links.
preposition_keywordsSuggestions containing prepositions (for/with/near/...) for a seed keyword.
schedule_postSet or change the scheduled_for date on a post (Idea, Drafting, or Ready).
gsc_trendDaily GSC trend (clicks, impressions, position) over a window.
approve_postApprove a Ready post and queue it for publication at its scheduled time.
domain_overviewAuthority, organic/paid traffic estimate, keyword count, backlink count, and rank distribution for a domain.
search_locationsSearch countries and cities by name. Useful for resolving a city name to its DataForSEO location code.
create_projectCreate a new VibeSEO project for a domain.
get_publicationRead a single publication snapshot including daily impression/click signals.
gsc_summaryAggregate GSC performance for the project over a window: clicks, impressions, CTR, avg position, deltas vs previous period.
comparison_keywordsComparison-style suggestions ("X vs Y", "X alternative", ...) for a seed keyword.
list_postsList posts for a project. Filter by status: Idea, Drafting, Ready, Approved, Published.
generate_postTrigger AI draft generation for a scheduled Idea or Drafting post. Returns the post ID.
get_postRead a single post (markdown body, FAQ, internal links, SEO score, status, schedule).
preposition_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.
list_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.
refresh_ideasReplace existing Idea-status posts with a fresh strategist-generated batch. Drafting/Ready/Approved/Published posts are untouched.
backlink_referring_domainsPaginated list of domains linking to the target.
create_publishing_targetAdd a new publishing target (Subdomain or CustomDomain).
competitive_overviewSide-by-side metrics for a primary domain and its competitors: traffic, keywords, backlinks, common keywords, gap size, monthly trend.