
Security News
Crates.io Implements Trusted Publishing Support
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
google-search-console-mcp
Advanced tools
Connect Google Search Console data to Claude, Cursor and other MCP clients. Query your website's search performance data in natural language.
Connect Google Search Console data to Claude, Cursor and other MCP clients. Query your website's search performance data in natural language with access to all GSC dimensions and metrics.
Compatible with: Claude, Cursor and other MCP clients.
Check your Python setup:
# Check Python version (need 3.8+)
python --version
python3 --version
# Check pip
pip --version
pip3 --version
Required:
client_email
fieldgsc-mcp-server@your-project.iam.gserviceaccount.com
)sc-domain:example.com
https://example.com/
Verify your credentials:
pip install google-api-python-client
Create a test script (test_gsc.py
):
import os
from google.oauth2 import service_account
from googleapiclient.discovery import build
# Set credentials path
os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = "/path/to/your/service-account-key.json"
# Test connection
credentials = service_account.Credentials.from_service_account_file(
os.environ["GOOGLE_APPLICATION_CREDENTIALS"],
scopes=['https://www.googleapis.com/auth/webmasters.readonly']
)
service = build('searchconsole', 'v1', credentials=credentials)
print("✅ GSC credentials working!")
Run the test:
python test_gsc.py
If you see "✅ GSC credentials working!" you're ready to proceed.
Choose one method:
pip install google-search-console-mcp
MCP Configuration:
First, check your Python command:
python3 --version
python --version
Then use the appropriate configuration:
If python3 --version
worked:
{
"mcpServers": {
"gsc-search": {
"command": "python3",
"args": ["-m", "gsc_mcp_server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GSC_SITE_URL": "https://example.com/"
}
}
}
}
If python --version
worked:
{
"mcpServers": {
"gsc-search": {
"command": "python",
"args": ["-m", "gsc_mcp_server"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GSC_SITE_URL": "https://example.com/"
}
}
}
}
git clone https://github.com/surendranb/google-search-console-mcp.git
cd google-search-console-mcp
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
MCP Configuration:
{
"mcpServers": {
"gsc-search": {
"command": "/full/path/to/google-search-console-mcp/venv/bin/python",
"args": ["/full/path/to/google-search-console-mcp/gsc_mcp_server.py"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/your/service-account-key.json",
"GSC_SITE_URL": "https://example.com/"
}
}
}
}
Replace these placeholders in your MCP configuration:
/path/to/your/service-account-key.json
with your JSON file pathhttps://example.com/
with your Search Console property URL/full/path/to/google-search-console-mcp/
with your download path (Method B only)Important Notes:
https://example.com/
formatsc-domain:example.com
formatOnce configured, ask your MCP client questions like:
Try these example queries to see the MCP's analytical capabilities:
Show me a map of search impressions by country for the last 30 days, with a breakdown of clicks vs impressions
This demonstrates:
Compare average position and CTR by query and device type over the last 90 days
This demonstrates:
Show me clicks and impressions by page, comparing last 30 days vs previous 30 days
This demonstrates:
What are my top 10 search appearances by CTR, and how has their performance changed over the last 3 months?
This demonstrates:
The server provides 7 main tools:
list_gsc_sites
- List all verified sites in your Search Consolelist_available_dimensions
- Show all available GSC dimensionslist_available_metrics
- Show all available GSC metricsget_search_analytics
- Retrieve search performance data with custom filtersget_sitemaps
- List all submitted sitemaps for your sitesubmit_sitemap
- Submit a new sitemap to Search Consoledelete_sitemap
- Remove a sitemap from Search ConsoleAccess to all GSC dimensions and metrics:
If you get "No module named gsc_mcp_server" (Method A):
pip3 install --user google-search-console-mcp
If you get "executable file not found":
python
vs python3
)pip3
instead of pip
if neededPermission errors:
# Try user install instead of system-wide
pip install --user google-search-console-mcp
Credentials not working:
sc-domain:example.com
✅https://example.com/
✅API quota/rate limit errors:
google-search-console-mcp/
├── gsc_mcp_server.py # Main MCP server
├── gsc_dimensions.json # GSC dimensions configuration
├── gsc_metrics.json # GSC metrics configuration
├── gsc_filters.json # GSC filters configuration
├── requirements.txt # Python dependencies
├── pyproject.toml # Package configuration
├── README.md # Documentation
├── claude-config-template.json # MCP configuration template
└── logo.svg # Project logo
MIT License
FAQs
Connect Google Search Console data to Claude, Cursor and other MCP clients. Query your website's search performance data in natural language.
We found that google-search-console-mcp demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.
Research
/Security News
North Korean threat actors deploy 67 malicious npm packages using the newly discovered XORIndex malware loader.