seo-stack-mcp
An open-source MCP server that aggregates seven SEO data sources into a single interface with 86 tools. It includes built-in analyst capabilities for tasks like cannibalization checks and content gap analysis, allowing AI agents to query Search Console, GA4, Bing, Clarity, AdSense, and Keyword Planner without raw data dumps.
Package and access
Local package with source-attributed installation metadata. Koskamo does not execute packages during review.
What you can do with it
- Check for keyword cannibalization
- Find low-hanging-fruit keywords
- Analyze content gaps
- Generate weekly SEO reports
Source and maintenance
- Maintenance checked
Packages and installation
Source-provided package data. Koskamo has not executed or live-probed this package.
seo-stack-mcp 0.2.0
{
"version": "0.2.0",
"transport": "stdio",
"identifier": "seo-stack-mcp",
"registryType": "pypi",
"environmentVariables": [
{
"name": "GOOGLE_APPLICATION_CREDENTIALS",
"description": "Path to a Google service-account JSON key (enables GSC + GA4)"
},
{
"name": "SEO_STACK_OAUTH_CLIENT",
"description": "Path to a Google OAuth desktop client secrets JSON (alternative to service account)"
},
{
"name": "GA4_PROPERTY_ID",
"description": "Default GA4 property ID"
},
{
"name": "GSC_SITE_URL",
"description": "Default Search Console property (e.g. sc-domain:example.com)"
},
{
"name": "ADSENSE_ACCOUNT_ID",
"description": "AdSense account (accounts/pub-XXXX...) — enables AdSense tools on top of the Google credentials"
},
{
"name": "ADSENSE_CURRENCY",
"description": "Reporting currency for AdSense tools (default USD)"
},
{
"name": "BING_WEBMASTER_API_KEY",
"description": "Bing Webmaster Tools API key (enables Bing tools)"
},
{
"name": "BING_SITE_URL",
"description": "Default Bing site URL"
},
{
"name": "CLARITY_API_TOKEN",
"description": "Microsoft Clarity Data Export API token (enables Clarity tools)"
},
{
"name": "GOOGLE_ADS_DEVELOPER_TOKEN",
"description": "Google Ads developer token (enables Keyword Planner tools; needs the google-ads extra)"
},
{
"name": "GOOGLE_ADS_CLIENT_ID",
"description": "Google Ads OAuth client id"
},
{
"name": "GOOGLE_ADS_CLIENT_SECRET",
"description": "Google Ads OAuth client secret"
},
{
"name": "GOOGLE_ADS_REFRESH_TOKEN",
"description": "Google Ads OAuth refresh token (adwords scope)"
},
{
"name": "GOOGLE_ADS_CUSTOMER_ID",
"description": "Google Ads customer id (10 digits)"
},
{
"name": "GOOGLE_ADS_LOGIN_CUSTOMER_ID",
"description": "Manager account id, if the customer is under an MCC"
},
{
"name": "OPENPAGERANK_API_KEY",
"description": "Open PageRank API key (enables the pagerank_score tool)"
}
]
}Tools
Reported by the attributed source; not independently observed by Koskamo.
Connect from your client
Each snippet configures the same source-provided package; replace placeholders before use.
Cursor
{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp==0.2.0"
],
"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>"
}
}
}
}Cline
{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp==0.2.0"
],
"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>"
}
}
}
}VS Code
{
"servers": {
"seo-stack-mcp": {
"type": "stdio",
"command": "uvx",
"args": [
"seo-stack-mcp==0.2.0"
],
"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 Desktop
{
"mcpServers": {
"seo-stack-mcp": {
"command": "uvx",
"args": [
"seo-stack-mcp==0.2.0"
],
"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>"
}
}
}
}Let your agent find its tools
Find servers like seo-stack-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.