Skip to main content

MCP server for Google Search Console & Bing Webmaster Tools — uses your Chrome browser session, no API keys needed

Project description

gsc-bing-mcp

An MCP (Model Context Protocol) server that gives AI agents (Claude, Cline) direct access to your Google Search Console and Bing Webmaster Tools search performance data.

Zero API keys for Google — uses your existing Chrome browser session.
30-second setup for Bing — just copy one free key from your dashboard.


✨ Features

Capability Tool
List all your GSC properties gsc_list_sites
Search analytics (clicks, impressions, CTR, position) gsc_search_analytics
Top queries by clicks gsc_top_queries
Top pages by clicks gsc_top_pages
Sitemap status gsc_list_sitemaps
URL indexing inspection gsc_inspect_url
List Bing sites bing_list_sites
Bing search performance bing_search_analytics
Bing crawl statistics bing_crawl_stats
Bing keyword stats bing_keyword_stats
Refresh Google session refresh_google_session

🔐 How Authentication Works

Google Search Console (Zero Setup)

This server reads your Chrome browser's cookies directly from disk — the same way tools like yt-dlp work.

  1. Your Chrome stores session cookies after you log in to Google
  2. This server reads those cookies using rookiepy (a Rust library, ultra lightweight)
  3. Generates a SAPISIDHASH authorization header (SHA1 of timestamp + SAPISID cookie)
  4. Makes requests to GSC's API — the exact same endpoints your browser uses

Requirements: Just be logged in to Google in Chrome. That's it.

Bing Webmaster Tools (Free API Key)

Bing provides a free, never-expiring API key from your account:

  1. Go to bing.com/webmasters
  2. Click Settings → API Access
  3. Click Generate API Key
  4. Copy the key and paste it into your MCP config (see setup below)

🚀 Installation & Setup

Prerequisites

  • Chrome browser with Google account logged in
  • Python 3.11+ or uv (recommended — no Python management needed)

Option A: Install with uvx (Recommended — Zero Python Setup)

Step 1: Install uv (one-time, ~10 seconds)

# macOS / Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh

# Windows (PowerShell):
powershell -c "irm https://astral.sh/uv/install.ps1 | iex"

Step 2: Get your Bing API key (2 minutes)

  1. Go to bing.com/webmasters → Settings → API Access
  2. Click Generate API Key and copy it

Step 3: Add to your MCP config (30 seconds)

For Cline (VS Code), open your MCP settings file and add:

{
  "mcpServers": {
    "gsc-bing-mcp": {
      "command": "uvx",
      "args": ["gsc-bing-mcp"],
      "env": {
        "BING_API_KEY": "paste-your-bing-key-here"
      }
    }
  }
}

For Claude Desktop (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "gsc-bing-mcp": {
      "command": "uvx",
      "args": ["gsc-bing-mcp"],
      "env": {
        "BING_API_KEY": "paste-your-bing-key-here"
      }
    }
  }
}

Step 4: Done! Restart Cline/Claude Desktop and start asking questions.


Option B: Install with pip

pip install gsc-bing-mcp

Then in your MCP config:

{
  "mcpServers": {
    "gsc-bing-mcp": {
      "command": "gsc-bing-mcp",
      "env": {
        "BING_API_KEY": "paste-your-bing-key-here"
      }
    }
  }
}

Option C: Run from source (developers)

git clone https://github.com/codermillat/gsc-bing-mcp
cd gsc-bing-mcp
pip install -e .

MCP config:

{
  "mcpServers": {
    "gsc-bing-mcp": {
      "command": "python",
      "args": ["-m", "gsc_bing_mcp.server"],
      "env": {
        "BING_API_KEY": "paste-your-bing-key-here"
      }
    }
  }
}

💬 Example Questions You Can Ask

Once set up, ask your AI agent:

"What are my top 10 search queries in GSC for the last 30 days?"
"Show me which pages are getting the most impressions on Google"
"What's my average position for 'python tutorial' in Search Console?"
"List all my verified sites in Google Search Console"
"Are there any sitemap errors on my site?"
"Check if https://example.com/blog/post-1 is indexed by Google"
"What are my top Bing keywords this month?"
"Show me Bing crawl errors for my site"
"Compare my GSC vs Bing clicks for site:example.com"

🛠️ Tool Reference

Google Search Console Tools

gsc_list_sites

List all verified properties in your GSC account.

  • No parameters required

gsc_search_analytics

Full search analytics with custom dimensions and date ranges.

  • site_url — e.g., "https://example.com/" or "sc-domain:example.com"
  • start_date"YYYY-MM-DD"
  • end_date"YYYY-MM-DD"
  • dimensions — comma-separated: "query", "page", "country", "device", "date" (default: "query")
  • row_limit — max rows (default: 100)

gsc_top_queries

Top queries by clicks (quickest way to see what drives traffic).

  • site_url — your site
  • limit — number of queries (default: 25)
  • start_date, end_date — optional (defaults to last 28 days)

gsc_top_pages

Top pages by clicks.

  • Same parameters as gsc_top_queries

gsc_list_sitemaps

List submitted sitemaps with status and error counts.

  • site_url — your site

gsc_inspect_url

Inspect a URL's indexing status, crawl date, mobile usability, and rich results.

  • site_url — the GSC property
  • url — the specific URL to inspect

Bing Webmaster Tools

bing_list_sites

List all sites in your Bing Webmaster account.

  • No parameters required

bing_search_analytics

Daily search performance data from Bing.

  • site_url, start_date, end_date, limit

bing_crawl_stats

Crawl statistics including errors and blocked URLs.

  • site_url

bing_keyword_stats

Top keywords from Bing sorted by clicks.

  • site_url, start_date, end_date, limit

Utility

refresh_google_session

Force-refresh the cached Chrome cookies. Use if you recently re-logged in to Google.

  • No parameters required

⚠️ Troubleshooting

"Google session cookies not found"

  • Make sure you're logged in to Google in Chrome
  • Open Chrome, go to google.com, sign in if needed
  • Call refresh_google_session tool, then retry

"Chrome's cookie database is locked"

  • Chrome may be in the middle of writing. Wait a few seconds and retry.
  • On macOS, this sometimes happens right after Chrome opens/closes.

"Permission denied reading Chrome cookies" (macOS)

  • Grant Full Disk Access to your terminal or IDE:
    • System Settings → Privacy & Security → Full Disk Access → Add Terminal / VS Code

"BING_API_KEY environment variable is not set"

  • Make sure you added "BING_API_KEY" to the env section of your MCP config
  • Restart Cline/Claude Desktop after updating the config

GSC data shows "No data found"

  • GSC has a ~3-day data lag — use end dates at least 3 days in the past
  • Check that the site_url matches exactly as shown in GSC (including trailing slash)

📦 Dependencies

Package Purpose Size
mcp MCP protocol server (FastMCP) ~5MB
rookiepy Chrome cookie reader (Rust-based) ~2MB
httpx Async HTTP client ~3MB

Total: ~10MB installed, ~15MB RAM at runtime

No Playwright. No Chrome binary. No browser automation.


🔒 Privacy & Security

  • All data stays local — this server runs on your machine and makes API calls directly from your computer
  • No data sent to any third party — your cookies and search data never leave your machine
  • Cookies read-only — this server only reads cookies, never modifies them
  • No logging of sensitive data — cookie values are never logged

📡 How to Publish Updates (Developers)

# Edit version in pyproject.toml, then:
pip install build twine
python -m build
twine upload dist/*

Users will automatically get the update next time uvx runs.


📝 License

MIT — free for personal and commercial use.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gsc_bing_mcp-0.1.6.tar.gz (432.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gsc_bing_mcp-0.1.6-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file gsc_bing_mcp-0.1.6.tar.gz.

File metadata

  • Download URL: gsc_bing_mcp-0.1.6.tar.gz
  • Upload date:
  • Size: 432.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for gsc_bing_mcp-0.1.6.tar.gz
Algorithm Hash digest
SHA256 736b6296f5e43ac8dad1b087b36d8147766425b842bfaed07a5593d3ad020d4a
MD5 2a202ee79138b08514458a76566561ea
BLAKE2b-256 147e4aa851d151c2831dbad079093febb9e79ce33ff2e2893836ae9bff220e9f

See more details on using hashes here.

File details

Details for the file gsc_bing_mcp-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: gsc_bing_mcp-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.9

File hashes

Hashes for gsc_bing_mcp-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3b6b0a1d1cee9ce1e238e61dff67261cbc80ae3bb164c79646ae13242b19cef3
MD5 208ecfd808fc3f86b330b46a73731660
BLAKE2b-256 02ef363e6cac4f6f75ec8da9b65ceb1eed3de4d741aa4e1cdede0435702334bd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page