Skip to main content
Glama
AminForou

GSC MCP Server v2 - Remote Edition

by AminForou

πŸ” 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!

MCP Python License

✨ 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

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     OAuth 2.0      β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚     User's      β”‚ ──────────────────→│   Your Hosted        β”‚
β”‚     Browser     │←──────────────────→│   MCP Server         β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                 ↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”    MCP over SSE    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚  Claude Desktop β”‚ ←─────────────────→│  Stored User Token   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                                 ↓
                                       β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                                       β”‚  Google Search       β”‚
                                       β”‚  Console API         β”‚
                                       β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

1. Set Up Google OAuth (Web Application)

  1. Go to Google Cloud Console

  2. Create a new project or select existing

  3. Enable APIs:

  4. Go to Credentials β†’ Create Credentials β†’ OAuth client ID

  5. Select Web application

  6. Add authorized redirect URI: https://your-domain.com/oauth/callback

  7. Save your Client ID and Client Secret

2. Deploy

Option A: Railway (Easiest)

Deploy on Railway

  1. Click the button above

  2. Set environment variables:

    • GOOGLE_CLIENT_ID

    • GOOGLE_CLIENT_SECRET

    • GOOGLE_REDIRECT_URI (your Railway URL + /oauth/callback)

    • BASE_URL (your Railway URL)

Option B: Docker

# Build
docker build -t gsc-mcp-server .

# Run
docker run -p 8000:8000 \
  -e GOOGLE_CLIENT_ID="your-client-id" \
  -e GOOGLE_CLIENT_SECRET="your-secret" \
  -e GOOGLE_REDIRECT_URI="https://your-domain.com/oauth/callback" \
  -e BASE_URL="https://your-domain.com" \
  -v ./data:/app/data \
  gsc-mcp-server

Option C: Manual

# Clone
git clone https://github.com/AminForou/google-search-console-mcp-v2.git
cd google-search-console-mcp-v2

# Install
pip install -r requirements.txt

# Set environment variables
export GOOGLE_CLIENT_ID="your-client-id"
export GOOGLE_CLIENT_SECRET="your-secret"
export GOOGLE_REDIRECT_URI="http://localhost:8000/oauth/callback"

# Run
uvicorn gsc_server_remote:app --host 0.0.0.0 --port 8000

3. User Flow

  1. Users visit your server β†’ https://your-domain.com

  2. Click "Sign in with Google" β†’ OAuth flow

  3. Get unique API key β†’ Displayed after login

  4. Configure Claude Desktop:

{
  "mcpServers": {
    "gscServer": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://your-domain.com/mcp/USER_API_KEY/sse"]
    }
  }
}
  1. Start chatting! β†’ "List my GSC properties"

πŸ› οΈ Available Tools

Tool

Description

list_properties

List all GSC properties

get_search_analytics

Search performance data

get_performance_overview

Performance summary

find_keyword_opportunities

Find ranking opportunities

get_top_pages

Top performing pages

get_device_comparison

Mobile vs desktop

get_country_breakdown

Traffic by country

inspect_url

URL indexing status

get_sitemaps

List sitemaps

submit_sitemap

Submit new sitemap

request_indexing

Request URL indexing

export_analytics

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

google-search-console-mcp-v2/
β”œβ”€β”€ gsc_server_remote.py    # Main server application
β”œβ”€β”€ requirements.txt        # Python dependencies
β”œβ”€β”€ Dockerfile             # Docker configuration
β”œβ”€β”€ .gitignore            # Git ignore rules
└── README.md             # This file

🌐 Environment Variables

Variable

Required

Description

GOOGLE_CLIENT_ID

βœ…

OAuth client ID

GOOGLE_CLIENT_SECRET

βœ…

OAuth client secret

GOOGLE_REDIRECT_URI

βœ…

OAuth callback URL

BASE_URL

⚑

Public server URL

SECRET_KEY

⚑

Session encryption key

DATABASE_PATH

❌

SQLite path (default: gsc_tokens.db)

πŸ“Š API Endpoints

Endpoint

Method

Description

/

GET

Home page with login

/oauth/login

GET

Start OAuth flow

/oauth/callback

GET

OAuth callback

/oauth/revoke/{user_id}

GET

Revoke user access

/mcp/{user_id}/sse

GET

MCP SSE endpoint

/health

GET

Health check

/api/status/{user_id}

GET

User auth status

🀝 Contributing

Contributions welcome! Please:

  1. Fork the repository

  2. Create a feature branch

  3. Submit a pull request

πŸ“„ License

MIT License - see LICENSE file.

πŸ‘¨β€πŸ’» Author

Amin Foroutan - SEO Consultant & Developer


⭐ If you find this useful, please star the repo!

-
security - not tested
A
license - permissive license
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/AminForou/google-search-console-mcp-v2'

If you have feedback or need assistance with the MCP directory API, please join our Discord server