Skip to main content
Glama
MattiooFR

mcp-gsc-multi-account

MCP GSC Multi-Account

A Model Context Protocol (MCP) server for Google Search Console with multi-account support.

Manage multiple GSC accounts from a single MCP server. Perfect for agencies, SEO professionals, or anyone managing multiple properties.

Features

  • πŸ”„ Multi-Account - Switch between accounts dynamically

  • πŸ“Š Search Analytics - Up to 25,000 rows with regex filtering

  • 🎯 Quick Wins Detection - Automatic SEO opportunity identification

  • πŸ“ˆ Period Comparison - Compare performance between time periods

  • πŸ” URL Inspection - Check indexing status of any URL

  • πŸ“€ URL Indexing - Submit URLs for indexing via Indexing API

  • πŸ—ΊοΈ Sitemap Management - List and submit sitemaps

Related MCP server: mcp-server-google-search-console

Installation

npm install mcp-gsc-multi-account

Or run directly:

npx mcp-gsc-multi-account

Configuration

Required Environment Variables

GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret

Account Configuration

Option 1: Single Account (Simple)

GSC_REFRESH_TOKEN=1//your-refresh-token
GSC_EMAIL=user@gmail.com  # optional, defaults to "default"

Option 2: Multiple Accounts via JSON

GSC_ACCOUNTS_JSON='{"accounts":[{"id":"main","email":"main@gmail.com","refreshToken":"1//..."},{"id":"client1","email":"client@gmail.com","refreshToken":"1//..."}]}'

Option 3: Multiple Accounts via File

GSC_ACCOUNTS_FILE=/path/to/accounts.json

accounts.json format:

{
  "accounts": [
    {
      "id": "main",
      "email": "main@gmail.com",
      "refreshToken": "1//..."
    },
    {
      "id": "client1",
      "email": "client@gmail.com",
      "refreshToken": "1//..."
    }
  ]
}

Option 4: Runtime Registration

Use the register_account tool to add accounts at runtime:

{
  "tool": "register_account",
  "arguments": {
    "id": "newclient",
    "email": "newclient@gmail.com",
    "refreshToken": "1//..."
  }
}

MCP Configuration

Claude Desktop / Cursor

{
  "mcpServers": {
    "gsc": {
      "command": "npx",
      "args": ["-y", "mcp-gsc-multi-account"],
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-secret",
        "GSC_ACCOUNTS_FILE": "/path/to/accounts.json"
      }
    }
  }
}

mcporter

{
  "mcpServers": {
    "gsc": {
      "command": "npx -y mcp-gsc-multi-account",
      "env": {
        "GOOGLE_CLIENT_ID": "your-client-id",
        "GOOGLE_CLIENT_SECRET": "your-secret",
        "GSC_REFRESH_TOKEN": "1//your-token"
      }
    }
  }
}

Available Tools

Account Management

register_account

Register a new account at runtime.

  • id (required): Unique identifier

  • email (required): Google account email

  • refreshToken (required): OAuth2 refresh token

list_accounts

List all registered accounts.

list_sites

List all sites accessible by an account.

  • account (optional): Account ID or email

Search Analytics

search_analytics

Get search performance data.

  • siteUrl (required): Site URL (e.g., https://example.com or sc-domain:example.com)

  • startDate (required): Start date (YYYY-MM-DD)

  • endDate (required): End date (YYYY-MM-DD)

  • account (optional): Account to use

  • dimensions (optional): query, page, country, device, date

  • rowLimit (optional): Max 25,000 rows

  • pageFilter, queryFilter, countryFilter, deviceFilter

  • filterOperator: equals, contains, includingRegex, excludingRegex

detect_quick_wins

Find SEO optimization opportunities - keywords ranking 4-20 with high impressions but low CTR.

  • siteUrl, startDate, endDate (required)

  • minImpressions (default: 100)

  • maxCtr (default: 3.0%)

  • positionRangeMin/Max (default: 4-20)

  • limit (default: 50)

compare_periods

Compare metrics between two time periods.

  • siteUrl (required)

  • currentStartDate, currentEndDate (required)

  • previousStartDate, previousEndDate (required)

  • dimensions (optional)

URL Management

inspect_url

Check URL indexing status.

  • siteUrl, inspectionUrl (required)

submit_url_for_indexing

Submit URL for Google indexing (requires Indexing API enabled).

  • url (required)

  • type: URL_UPDATED (index) or URL_DELETED (remove)

Sitemaps

list_sitemaps

List sitemaps for a site.

  • siteUrl (required)

submit_sitemap

Submit a sitemap.

  • siteUrl, feedpath (required)

Getting OAuth Credentials

  1. Go to Google Cloud Console

  2. Create or select a project

  3. Enable Search Console API and Indexing API

  4. Go to Credentials β†’ Create Credentials β†’ OAuth 2.0 Client ID

  5. Application type: Desktop app

  6. Download the credentials

Getting a Refresh Token

Use the Google OAuth Playground or run:

npx -y google-search-console-mcp-server google-search-console-mcp-setup

Examples

"List my GSC accounts"

"Show quick wins for https://example.com using the main account"

"Compare last 7 days vs previous 7 days for sc-domain:example.com"

"Submit https://example.com/new-article for indexing"

"Get top 100 queries for https://example.com from 2024-01-01 to 2024-01-31"

License

MIT

Contributing

Contributions welcome! Please read the contributing guidelines first.

F
license - not found
-
quality - not tested
D
maintenance

Maintenance

–Maintainers
–Response time
–Release cycle
–Releases (12mo)
Commit activity

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/MattiooFR/mcp-gsc-vdl'

If you have feedback or need assistance with the MCP directory API, please join our Discord server