The complete open-source SEO data stack for AI agents — Google Search Console, GA4, Bing Webmaster, Microsoft Clarity, AdSense, Keyword Planner & Open PageRank in one MCP server (86 tools), with built-in analyst tools
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add seo-stack --env BING_WEBMASTER_API_KEY='<BING_WEBMASTER_API_KEY>' --env CLARITY_API_TOKEN='<CLARITY_API_TOKEN>' --env GOOGLE_ADS_DEVELOPER_TOKEN='<GOOGLE_ADS_DEVELOPER_TOKEN>' --env GOOGLE_ADS_CLIENT_SECRET='<GOOGLE_ADS_CLIENT_SECRET>' --env GOOGLE_ADS_REFRESH_TOKEN='<GOOGLE_ADS_REFRESH_TOKEN>' --env OPENPAGERANK_API_KEY='<OPENPAGERANK_API_KEY>' -- uvx seo-stack-mcp~/.codex/config.toml
[mcp_servers.seo-stack]
command = "uvx"
args = ["seo-stack-mcp"]
env = { BING_WEBMASTER_API_KEY = "<BING_WEBMASTER_API_KEY>", CLARITY_API_TOKEN = "<CLARITY_API_TOKEN>", GOOGLE_ADS_DEVELOPER_TOKEN = "<GOOGLE_ADS_DEVELOPER_TOKEN>", GOOGLE_ADS_CLIENT_SECRET = "<GOOGLE_ADS_CLIENT_SECRET>", GOOGLE_ADS_REFRESH_TOKEN = "<GOOGLE_ADS_REFRESH_TOKEN>", OPENPAGERANK_API_KEY = "<OPENPAGERANK_API_KEY>" }
# codex mcp add seo-stack --env BING_WEBMASTER_API_KEY='<BING_WEBMASTER_API_KEY>' --env CLARITY_API_TOKEN='<CLARITY_API_TOKEN>' --env GOOGLE_ADS_DEVELOPER_TOKEN='<GOOGLE_ADS_DEVELOPER_TOKEN>' --env GOOGLE_ADS_CLIENT_SECRET='<GOOGLE_ADS_CLIENT_SECRET>' --env GOOGLE_ADS_REFRESH_TOKEN='<GOOGLE_ADS_REFRESH_TOKEN>' --env OPENPAGERANK_API_KEY='<OPENPAGERANK_API_KEY>' -- uvx seo-stack-mcp~/.cursor/mcp.json
{
"mcpServers": {
"seo-stack": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"BING_WEBMASTER_API_KEY": "<BING_WEBMASTER_API_KEY>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<GOOGLE_ADS_REFRESH_TOKEN>",
"OPENPAGERANK_API_KEY": "<OPENPAGERANK_API_KEY>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"seo-stack": {
"type": "stdio",
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"BING_WEBMASTER_API_KEY": "<BING_WEBMASTER_API_KEY>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<GOOGLE_ADS_REFRESH_TOKEN>",
"OPENPAGERANK_API_KEY": "<OPENPAGERANK_API_KEY>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"seo-stack": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"BING_WEBMASTER_API_KEY": "<BING_WEBMASTER_API_KEY>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<GOOGLE_ADS_REFRESH_TOKEN>",
"OPENPAGERANK_API_KEY": "<OPENPAGERANK_API_KEY>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"seo-stack": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"BING_WEBMASTER_API_KEY": "<BING_WEBMASTER_API_KEY>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<GOOGLE_ADS_REFRESH_TOKEN>",
"OPENPAGERANK_API_KEY": "<OPENPAGERANK_API_KEY>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"seo-stack": {
"command": "uvx",
"args": [
"seo-stack-mcp"
],
"env": {
"BING_WEBMASTER_API_KEY": "<BING_WEBMASTER_API_KEY>",
"CLARITY_API_TOKEN": "<CLARITY_API_TOKEN>",
"GOOGLE_ADS_DEVELOPER_TOKEN": "<GOOGLE_ADS_DEVELOPER_TOKEN>",
"GOOGLE_ADS_CLIENT_SECRET": "<GOOGLE_ADS_CLIENT_SECRET>",
"GOOGLE_ADS_REFRESH_TOKEN": "<GOOGLE_ADS_REFRESH_TOKEN>",
"OPENPAGERANK_API_KEY": "<OPENPAGERANK_API_KEY>"
}
}
}
}Environment variables
BING_WEBMASTER_API_KEYCLARITY_API_TOKENGOOGLE_ADS_DEVELOPER_TOKENGOOGLE_ADS_CLIENT_SECRETGOOGLE_ADS_REFRESH_TOKENOPENPAGERANK_API_KEY
Replace the placeholders with your own credentials and keep them out of version control.