Koskamo

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.

seo-stack-mcp logo, by Raffaele86Community listingLocal stdioSource reviewed; not executedPublished by Raffaele86
You need:Service account JSON (recommended) → GOOGLE_APPLICATION_CREDENTIALSBING_WEBMASTER_API_KEY Bing Webmaster Tools → Settings → API accessCLARITY_API_TOKEN Microsoft Clarity → project → Settings → Data Export APIGoogle credentials above + ADSENSE_ACCOUNT_ID
Vendor documentation

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

Community listingRegistry 0.2.0
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

seo-stack-mcp 0.2.0

pypi
seo-stack-mcp package definition
{
  "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.

No tool definitions available.

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "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

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "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.