Skip to main content

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)

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 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.

Metadata

Release files for gsc-bing-mcp 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gsc-bing-mcp 0.2.1
File Size Uploaded Provenance
gsc_bing_mcp-0.2.1.tar.gz 35.6 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gsc-bing-mcp 0.2.1
File Interpreter ABI Platform
gsc_bing_mcp-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 67.2 kB

Release files / gsc_bing_mcp-0.2.1.tar.gz

Download URL gsc_bing_mcp-0.2.1.tar.gz
Size 35.6 kB
Tags Source
SHA-256 checksum
How to use checksums
cdb73dc0c940b6bb14e3ca68cf2b8860c2f929ea9c995a733f73cc3a23436708
BLAKE2b-256 checksum
How to use checksums
2c3b7c5dd9c4068e0f99f27d7df452b21eb052c09646879440b2f81b0da703a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Release files / gsc_bing_mcp-0.2.1-py3-none-any.whl

Download URL gsc_bing_mcp-0.2.1-py3-none-any.whl
Size 31.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54c634b864a00b827f228ed53a99c9990c7a0660a66640eae65e3d2269afe524
BLAKE2b-256 checksum
How to use checksums
ae39e94e491fa979780a80d23729d450ff592efe1082f9face9d1035f6d845a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.9

Security for gsc-bing-mcp 0.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page