Provides tools for accessing search analytics data, performance metrics, URL inspection, sitemap management, and indexing requests through the Google Search Console API. Supports querying search performance, finding keyword opportunities, analyzing device and country breakdowns, and exporting analytics data.
π GSC MCP Server v2 - Remote Edition
A hosted MCP server that connects Claude AI to Google Search Console with OAuth 2.0 web authentication. Users simply sign in with Googleβno API keys or credentials to manage!
β¨ What's Different About v2?
Feature | v1 (Local) | v2 (Remote) |
Authentication | Local credentials file | OAuth 2.0 web flow |
Setup | Complex | Just sign in with Google! |
Hosting | Your machine | Any cloud platform |
Multi-user | Single user | Multiple users supported |
ποΈ Architecture
π Quick Start
1. Set Up Google OAuth (Web Application)
Go to Google Cloud Console
Create a new project or select existing
Enable APIs:
Indexing API (optional)
Go to Credentials β Create Credentials β OAuth client ID
Select Web application
Add authorized redirect URI:
https://your-domain.com/oauth/callbackSave your Client ID and Client Secret
2. Deploy
Option A: Railway (Easiest)
Click the button above
Set environment variables:
GOOGLE_CLIENT_IDGOOGLE_CLIENT_SECRETGOOGLE_REDIRECT_URI(your Railway URL +/oauth/callback)BASE_URL(your Railway URL)
Option B: Docker
Option C: Manual
3. User Flow
Users visit your server β
https://your-domain.comClick "Sign in with Google" β OAuth flow
Get unique API key β Displayed after login
Configure Claude Desktop:
Start chatting! β "List my GSC properties"
π οΈ Available Tools
Tool | Description |
| List all GSC properties |
| Search performance data |
| Performance summary |
| Find ranking opportunities |
| Top performing pages |
| Mobile vs desktop |
| Traffic by country |
| URL indexing status |
| List sitemaps |
| Submit new sitemap |
| Request URL indexing |
| Export to CSV/JSON |
π Security Considerations
HTTPS Required: Always use HTTPS in production
API Keys: Each user gets a unique key - treat it like a password
Token Storage: Uses SQLite by default - use PostgreSQL for production
CORS: Restrict origins in production
Rate Limiting: Add rate limiting for production
π Project Structure
π Environment Variables
Variable | Required | Description |
| β | OAuth client ID |
| β | OAuth client secret |
| β | OAuth callback URL |
| β‘ | Public server URL |
| β‘ | Session encryption key |
| β | SQLite path (default: gsc_tokens.db) |
π API Endpoints
Endpoint | Method | Description |
| GET | Home page with login |
| GET | Start OAuth flow |
| GET | OAuth callback |
| GET | Revoke user access |
| GET | MCP SSE endpoint |
| GET | Health check |
| GET | User auth status |
π€ Contributing
Contributions welcome! Please:
Fork the repository
Create a feature branch
Submit a pull request
π License
MIT License - see LICENSE file.
π¨βπ» Author
Amin Foroutan - SEO Consultant & Developer
π aminforoutan.com
πΌ LinkedIn
π¦ Twitter
πΊ YouTube
β If you find this useful, please star the repo!