SEO Skill
SEO data from your own Search Console, GA4, Bing and site crawls, hosted or run locally over MCP
SEO research for an assistant: keywords, SERPs, rankings, backlinks, local listings and site audits.
Official · Every App TypeScript Remote (hosted) · Streamable HTTPLocal · Streamable HTTP Data and analyticsWeb search
71 popularity score ★ 27k
Opens the app, which asks before it adds the server.
claude mcp add --transport http --scope user openseo https://app.openseo.so/mcphttps://app.openseo.so/mcp{
"mcpServers": {
"openseo": {
"url": "https://app.openseo.so/mcp"
}
}
}codex mcp add openseo --url https://app.openseo.so/mcphttps://app.openseo.so/mcpOpens the app, which asks before it adds the server.
claude mcp add --transport http openseo http://localhost:3001/mcp{
"mcpServers": {
"openseo": {
"url": "http://localhost:3001/mcp"
}
}
}{
"servers": {
"openseo": {
"type": "http",
"url": "http://localhost:3001/mcp"
}
}
}[mcp_servers.openseo]
url = "http://localhost:3001/mcp"gemini mcp add --scope user --transport http openseo http://localhost:3001/mcpDATAFORSEO_API_KEY secret |
Required: Self-hosted: base64-encoded DataForSEO login:password, used for keyword, backlink, rank and site data. |
|---|---|
STORAGE_SECRET_KEY secret |
Required: Self-hosted: a unique random secret for the storage service, set before the first start. |
BETTER_AUTH_URL |
Optional: Self-hosted: the public URL of the installation. |
AUTH_MODE |
Optional: Self-hosted: password for email and password accounts, or local_noauth for no sign-in on a private network. |
OPENROUTER_API_KEY secret |
Optional: Self-hosted: enables SAM conversations, website research and summaries. |
CONTEXT_API_KEY secret |
Optional: Self-hosted: JavaScript rendering for site audits. |
| Set together: google | |
GOOGLE_CLIENT_ID |
Optional: Self-hosted: your own Google OAuth app for Search Console and Analytics linking. |
GOOGLE_CLIENT_SECRET secret |
Optional: Self-hosted: secret of your own Google OAuth app. |
OpenSEO is an open-source, pay-as-you-go SEO app in the mould of Semrush and Ahrefs, and this is its MCP server. Once connected, an assistant can research keywords, pull live Google results, see which keywords and pages a domain ranks for, compare competitors in the results, and read domain and backlink summaries. The data comes from DataForSEO, so most research calls cost credits. Tool descriptions say when a call is free and ask the agent to show an estimate before paid runs.
There is a lot more than keyword research in here. Local SEO tools look up businesses near a point, read Google Business Profiles, reviews, posts and Q&A, and check Maps rankings across a grid. You can run rank trackers and site audits, read Search Console and GA4 data for a connected property, ping IndexNow engines about changed pages, and track how a brand shows up in AI answers. Projects keep shared notes (goals, competitors, key pages) and saved HTML reports that can be shared by link.
The hosted server lives at https://app.openseo.so/mcp. Clients sign in through OpenSEO with OAuth, or send a personal API key as an Authorization: Bearer or x-api-key header. You can also self-host it with Docker or on Cloudflare. A self-hosted install uses email and password accounts that MCP clients sign in with, and it can run with no sign-in at all behind a private network, or behind Cloudflare Access. Either way you bring your own DataForSEO key.
The docs page only summarises the tools in prose. The server source registers 81 of them, and a few paid ones (explore_prompt, run_rank_tracker) need a paid plan on the hosted service but are not plan-gated when self-hosted.
| To run it yourself | Docker |
|---|---|
| Runs on | macOS, Windows, Linux |
| OpenSEO | Paid planHosted service bills pay-as-you-go credits, DataForSEO cost plus 28%. Some tools need a paid plan there. |
| DataForSEO | Paid planSelf-hosting needs your own API key, billed by DataForSEO directly. |
| Also |
|
The hosted server needs only an OpenSEO account. Your client opens the sign-in, or you create an API key under Settings > API keys and send it as a header. Codex 0.143 to 0.146 fail the OAuth sign-in with a missing issuer error, so upgrade to 0.147.0 or use a key. To self-host, clone the repo, copy deploy/standalone/.env.example to .env, set STORAGE_SECRET_KEY and DATAFORSEO_API_KEY, run docker compose up -d with COMPOSE_FILE=deploy/standalone/compose.yaml, open http://localhost:3001 and create the admin account. Clients then connect to /mcp on that address.
A good fit if you already use OpenSEO, or want Semrush-style research from an assistant without a subscription and are fine paying per request. The hosted endpoint is the quick route with OAuth or a key. Self-hosting suits teams that want their own DataForSEO billing and accounts, at the cost of running Docker or a Cloudflare deploy. Many tools write and spend money, so it suits clients where you approve tool calls. If you only need Search Console data, this is a larger tool than you need.
41 only read, 16 change things, 3 can delete or overwrite.
whoamilist_projectscreate_project changesget_project_contextupdate_project_context changesresearch_keywordsget_keyword_metricslist_saved_keywordssave_keywords changesremove_saved_keywords deletesget_serp_resultssearch_serp_locationsfind_serp_competitorsget_domain_overviewget_domain_keyword_suggestionsget_ranked_keywordsget_backlinks_overviewget_backlinks_profilesearch_local_businessesget_local_serp_resultsget_local_rank_gridget_business_profileget_business_reviewsget_business_updatesget_google_business_questionscreate_rank_tracker changesget_rank_trackeradd_rank_tracking_keywords changesremove_rank_tracking_keywords changespin_rank_tracking_keywords changesestimate_rank_tracker_costrun_rank_tracker changeslist_search_console_sitesset_search_console_site changesget_search_console_performanceinspect_urlssubmit_indexnow_urls changesget_google_analytics_organic_overviewget_google_analytics_organic_landing_pagesget_google_analytics_page_performanceget_google_analytics_traffic_acquisitionget_search_opportunitiesrun_site_audit changesget_audit_statusget_audit_issuesget_audit_pageslist_site_auditsdelete_site_audit deletessave_report changeslist_reportsget_reportset_report_sharing changesdelete_report deletesexplore_promptresearch_ai_visibility_promptssave_ai_visibility_tracker changesestimate_ai_visibility_costset_ai_visibility_schedule changesrun_ai_visibility_check changesget_ai_visibility_trend