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.
- Your Chrome stores session cookies after you log in to Google
- This server reads those cookies using rookiepy (a Rust library, ultra lightweight)
- Generates a
SAPISIDHASHauthorization header (SHA1 of timestamp + SAPISID cookie) - 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:
- Go to bing.com/webmasters
- Click Settings → API Access
- Click Generate API Key
- 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)
- Go to bing.com/webmasters → Settings → API Access
- 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 sitelimit— 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 propertyurl— 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_sessiontool, 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 theenvsection 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_urlmatches 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gsc_bing_mcp-0.1.0.tar.gz.
File metadata
- Download URL: gsc_bing_mcp-0.1.0.tar.gz
- Upload date:
- Size: 20.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d5abe411ae0de58fec5f5c0154d34b43ec04deab9a164710dc88b2db6ce52b8c
|
|
| MD5 |
e8394007ef18b7c789f645519ddc1606
|
|
| BLAKE2b-256 |
a5396e16429e9e435372ca7664399e3d58327f279ca842e185152dde76595e85
|
File details
Details for the file gsc_bing_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gsc_bing_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0271b0aa1f1d53ed9558b609267cf3e65ce701e0ee47523e437cd57eaa55b4b0
|
|
| MD5 |
ed473ea9d5eaf914e477202dd2c2fca1
|
|
| BLAKE2b-256 |
c21907b1b06f574980ef8a4dadb90de60fa474bc8f1a3f7bc787031471bb89d4
|