seo-stack-mcp
The complete open-source SEO data stack for AI agents: 7 sources, 86 tools, one MCP server
The record the registry holds
There is no address to call. This one is a package you install and run yourself, wherever your assistant runs.
{
"server": {
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-09-29/server.schema.json",
"name": "io.github.Raffaele86/seo-stack-mcp",
"description": "The complete open-source SEO data stack for AI agents: 7 sources, 86 tools, one MCP server",
"repository": {
"url": "https://github.com/Raffaele86/seo-stack-mcp",
"source": "github"
},
"version": "0.2.0",
"packages": [
{
"registryType": "pypi",
"identifier": "seo-stack-mcp",
"version": "0.2.0",
"transport": {
"type": "stdio"
},
"environmentVariables": [
{
"description": "Path to a Google service-account JSON key (enables GSC + GA4)",
"name": "GOOGLE_APPLICATION_CREDENTIALS"
},
{
"description": "Path to a Google OAuth desktop client secrets JSON (alternative to service account)",
"name": "SEO_STACK_OAUTH_CLIENT"
},
{
"description": "Default GA4 property ID",
"name": "GA4_PROPERTY_ID"
},
{
"description": "Default Search Console property (e.g. sc-domain:example.com)",
"name": "GSC_SITE_URL"
},
{
"description": "AdSense account (accounts/pub-XXXX...) — enables AdSense tools on top of the Google credentials",
"name": "ADSENSE_ACCOUNT_ID"
},
{
"description": "Reporting currency for AdSense tools (default USD)",
"name": "ADSENSE_CURRENCY"
},
{
"description": "Bing Webmaster Tools API key (enables Bing tools)",
"isSecret": true,
"name": "BING_WEBMASTER_API_KEY"
},
{
"description": "Default Bing site URL",
"name": "BING_SITE_URL"
},
{
"description": "Microsoft Clarity Data Export API token (enables Clarity tools)",
"isSecret": true,
"name": "CLARITY_API_TOKEN"
},
{
"description": "Google Ads developer token (enables Keyword Planner tools; needs the google-ads extra)",
"isSecret": true,
"name": "GOOGLE_ADS_DEVELOPER_TOKEN"
},
{
"description": "Google Ads OAuth client id",
"name": "GOOGLE_ADS_CLIENT_ID"
},
{
"description": "Google Ads OAuth client secret",
"isSecret": true,
"name": "GOOGLE_ADS_CLIENT_SECRET"
},
{
"description": "Google Ads OAuth refresh token (adwords scope)",
"isSecret": true,
"name": "GOOGLE_ADS_REFRESH_TOKEN"
},
{
"description": "Google Ads customer id (10 digits)",
"name": "GOOGLE_ADS_CUSTOMER_ID"
},
{
"description": "Manager account id, if the customer is under an MCC",
"name": "GOOGLE_ADS_LOGIN_CUSTOMER_ID"
},
{
"description": "Open PageRank API key (enables the pagerank_score tool)",
"isSecret": true,
"name": "OPENPAGERANK_API_KEY"
}
]
}
]
},
"_meta": {
"io.modelcontextprotocol.registry/official": {
"status": "active",
"statusChangedAt": "2026-07-19T04:57:15.261117Z",
"publishedAt": "2026-07-19T04:57:15.261117Z",
"updatedAt": "2026-07-19T04:57:15.261117Z",
"isLatest": true
}
}
}
Draft an Agent Plugin from this
An MCP server is raw capability: some tools, wired to something. An Agent Plugin is the packaging that says what job it does, what it leaves behind and where it stops. The prompt below carries this record and asks for the packaging; your own assistant writes it, and nothing here is sent anywhere.
MCP server
These are the publisher's own words, filed by them with the official MCP registry and mirrored here. This catalog did not read them from the publisher and has not run, called or installed anything.
Somebody else's record
This listing was indexed rather than published here, so nobody has signed anything and this catalog cannot sign on their behalf. Treat it as a pointer to the publisher, not as terms.
The publisher's own address
https://github.com/Raffaele86/seo-stack-mcp
The address the publisher put in their registry record, printed as they wrote it. Nobody here has opened it.