io.github.Raffaele86/seo-stack-mcp MCP Server
io.github.Raffaele86/seo-stack-mcp
What is the io.github.Raffaele86/seo-stack-mcp MCP server?
The complete open-source SEO data stack for AI agents: 7 sources, 86 tools, one MCP server
How to install io.github.Raffaele86/seo-stack-mcp
Copy-paste configuration for popular MCP clients.
GOOGLE_APPLICATION_CREDENTIALSPath to a Google service-account JSON key (enables GSC + GA4)
SEO_STACK_OAUTH_CLIENTPath to a Google OAuth desktop client secrets JSON (alternative to service account)
GA4_PROPERTY_IDDefault GA4 property ID
GSC_SITE_URLDefault Search Console property (e.g. sc-domain:example.com)
ADSENSE_ACCOUNT_IDAdSense account (accounts/pub-XXXX...) — enables AdSense tools on top of the Google credentials
ADSENSE_CURRENCYReporting currency for AdSense tools (default USD)
BING_WEBMASTER_API_KEYsecretBing Webmaster Tools API key (enables Bing tools)
BING_SITE_URLDefault Bing site URL
CLARITY_API_TOKENsecretMicrosoft Clarity Data Export API token (enables Clarity tools)
GOOGLE_ADS_DEVELOPER_TOKENsecretGoogle Ads developer token (enables Keyword Planner tools; needs the google-ads extra)
GOOGLE_ADS_CLIENT_IDGoogle Ads OAuth client id
GOOGLE_ADS_CLIENT_SECRETsecretGoogle Ads OAuth client secret
GOOGLE_ADS_REFRESH_TOKENsecretGoogle Ads OAuth refresh token (adwords scope)
GOOGLE_ADS_CUSTOMER_IDGoogle Ads customer id (10 digits)
GOOGLE_ADS_LOGIN_CUSTOMER_IDManager account id, if the customer is under an MCC
OPENPAGERANK_API_KEYsecretOpen PageRank API key (enables the pagerank_score tool)
{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"SEO_STACK_OAUTH_CLIENT": "<YOUR_SEO_STACK_OAUTH_CLIENT>",
"GA4_PROPERTY_ID": "<YOUR_GA4_PROPERTY_ID>",
"GSC_SITE_URL": "<YOUR_GSC_SITE_URL>",
"ADSENSE_ACCOUNT_ID": "<YOUR_ADSENSE_ACCOUNT_ID>",
"ADSENSE_CURRENCY": "<YOUR_ADSENSE_CURRENCY>",
"BING_WEBMASTER_API_KEY": "<YOUR_BING_WEBMASTER_API_KEY>",
"BING_SITE_URL": "<YOUR_BING_SITE_URL>",
"CLARITY_API_TOKEN": "<YOUR_CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_ID": "<YOUR_GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<YOUR_GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<YOUR_GOOGLE_ADS_REFRESH_TOKEN>",
"GOOGLE_ADS_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_CUSTOMER_ID>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"OPENPAGERANK_API_KEY": "<YOUR_OPENPAGERANK_API_KEY>"
}
}
}
}{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"SEO_STACK_OAUTH_CLIENT": "<YOUR_SEO_STACK_OAUTH_CLIENT>",
"GA4_PROPERTY_ID": "<YOUR_GA4_PROPERTY_ID>",
"GSC_SITE_URL": "<YOUR_GSC_SITE_URL>",
"ADSENSE_ACCOUNT_ID": "<YOUR_ADSENSE_ACCOUNT_ID>",
"ADSENSE_CURRENCY": "<YOUR_ADSENSE_CURRENCY>",
"BING_WEBMASTER_API_KEY": "<YOUR_BING_WEBMASTER_API_KEY>",
"BING_SITE_URL": "<YOUR_BING_SITE_URL>",
"CLARITY_API_TOKEN": "<YOUR_CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_ID": "<YOUR_GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<YOUR_GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<YOUR_GOOGLE_ADS_REFRESH_TOKEN>",
"GOOGLE_ADS_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_CUSTOMER_ID>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"OPENPAGERANK_API_KEY": "<YOUR_OPENPAGERANK_API_KEY>"
}
}
}
}{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"SEO_STACK_OAUTH_CLIENT": "<YOUR_SEO_STACK_OAUTH_CLIENT>",
"GA4_PROPERTY_ID": "<YOUR_GA4_PROPERTY_ID>",
"GSC_SITE_URL": "<YOUR_GSC_SITE_URL>",
"ADSENSE_ACCOUNT_ID": "<YOUR_ADSENSE_ACCOUNT_ID>",
"ADSENSE_CURRENCY": "<YOUR_ADSENSE_CURRENCY>",
"BING_WEBMASTER_API_KEY": "<YOUR_BING_WEBMASTER_API_KEY>",
"BING_SITE_URL": "<YOUR_BING_SITE_URL>",
"CLARITY_API_TOKEN": "<YOUR_CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_ID": "<YOUR_GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<YOUR_GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<YOUR_GOOGLE_ADS_REFRESH_TOKEN>",
"GOOGLE_ADS_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_CUSTOMER_ID>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"OPENPAGERANK_API_KEY": "<YOUR_OPENPAGERANK_API_KEY>"
}
}
}
}{
"servers": {
"seo-stack-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "<YOUR_GOOGLE_APPLICATION_CREDENTIALS>",
"SEO_STACK_OAUTH_CLIENT": "<YOUR_SEO_STACK_OAUTH_CLIENT>",
"GA4_PROPERTY_ID": "<YOUR_GA4_PROPERTY_ID>",
"GSC_SITE_URL": "<YOUR_GSC_SITE_URL>",
"ADSENSE_ACCOUNT_ID": "<YOUR_ADSENSE_ACCOUNT_ID>",
"ADSENSE_CURRENCY": "<YOUR_ADSENSE_CURRENCY>",
"BING_WEBMASTER_API_KEY": "<YOUR_BING_WEBMASTER_API_KEY>",
"BING_SITE_URL": "<YOUR_BING_SITE_URL>",
"CLARITY_API_TOKEN": "<YOUR_CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_ID": "<YOUR_GOOGLE_ADS_CLIENT_ID>",
"GOOGLE_ADS_CLIENT_SECRET": "<YOUR_GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<YOUR_GOOGLE_ADS_REFRESH_TOKEN>",
"GOOGLE_ADS_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_CUSTOMER_ID>",
"GOOGLE_ADS_LOGIN_CUSTOMER_ID": "<YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID>",
"OPENPAGERANK_API_KEY": "<YOUR_OPENPAGERANK_API_KEY>"
}
}
}
}claude mcp add seo-stack-mcp --env GOOGLE_APPLICATION_CREDENTIALS=<YOUR_GOOGLE_APPLICATION_CREDENTIALS> --env SEO_STACK_OAUTH_CLIENT=<YOUR_SEO_STACK_OAUTH_CLIENT> --env GA4_PROPERTY_ID=<YOUR_GA4_PROPERTY_ID> --env GSC_SITE_URL=<YOUR_GSC_SITE_URL> --env ADSENSE_ACCOUNT_ID=<YOUR_ADSENSE_ACCOUNT_ID> --env ADSENSE_CURRENCY=<YOUR_ADSENSE_CURRENCY> --env BING_WEBMASTER_API_KEY=<YOUR_BING_WEBMASTER_API_KEY> --env BING_SITE_URL=<YOUR_BING_SITE_URL> --env CLARITY_API_TOKEN=<YOUR_CLARITY_API_TOKEN> --env GOOGLE_ADS_DEVELOPER_TOKEN=<YOUR_GOOGLE_ADS_DEVELOPER_TOKEN> --env GOOGLE_ADS_CLIENT_ID=<YOUR_GOOGLE_ADS_CLIENT_ID> --env GOOGLE_ADS_CLIENT_SECRET=<YOUR_GOOGLE_ADS_CLIENT_SECRET> --env GOOGLE_ADS_REFRESH_TOKEN=<YOUR_GOOGLE_ADS_REFRESH_TOKEN> --env GOOGLE_ADS_CUSTOMER_ID=<YOUR_GOOGLE_ADS_CUSTOMER_ID> --env GOOGLE_ADS_LOGIN_CUSTOMER_ID=<YOUR_GOOGLE_ADS_LOGIN_CUSTOMER_ID> --env OPENPAGERANK_API_KEY=<YOUR_OPENPAGERANK_API_KEY> -- uvx seo-stack-mcpRelated MCP servers
io.github.Raffaele86/local-leads-mcp
Find local businesses with no website via OpenStreetMap, then verify them. No API keys needed.