loading…
Search for a command to run...
loading…
Enables interaction with Google Search Console to query search analytics, inspect URL indexing status, and manage sitemaps. It allows users to monitor SEO perfo
Enables interaction with Google Search Console to query search analytics, inspect URL indexing status, and manage sitemaps. It allows users to monitor SEO performance and site health through natural language commands in MCP-compatible clients.
A Model Context Protocol (MCP) server for Google Search Console. Query your search analytics, inspect URLs, and manage sitemaps directly from Claude, ChatGPT, or any MCP client.
Want a hosted solution? Ekamoira offers a fully-managed GSC MCP server with OAuth authentication, no setup required. Just connect your Google account and start querying.
git clone https://github.com/soumyadeep-ux/gsc-mcp-server.git
cd gsc-mcp-server
npm install
cp .env.example .env
Edit .env with your Google credentials:
GOOGLE_CLIENT_ID=your-client-id.apps.googleusercontent.com
GOOGLE_CLIENT_SECRET=your-client-secret
npm run auth
This opens your browser for Google OAuth consent and saves the token locally.
Add to ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"gsc": {
"command": "node",
"args": ["/absolute/path/to/gsc-mcp-server/dist/index.js"],
"env": {
"GOOGLE_CLIENT_ID": "your-client-id.apps.googleusercontent.com",
"GOOGLE_CLIENT_SECRET": "your-secret"
}
}
}
}
Build and restart Claude Desktop:
npm run build
# Restart Claude Desktop
# Add via CLI
npx cursor-mcp add gsc-mcp-server node /absolute/path/to/gsc-mcp-server/dist/index.js
| Tool | Description |
|---|---|
gsc.list_sites |
List all your GSC properties with permission levels |
gsc.search_analytics |
Query search performance data with filters |
gsc.inspect_url |
Check URL indexing status, crawl info, and mobile usability |
gsc.list_sitemaps |
List all submitted sitemaps with status |
gsc.submit_sitemap |
Submit a new sitemap |
gsc.delete_sitemap |
Remove a sitemap |
Try these prompts in Claude:
| Variable | Required | Description |
|---|---|---|
GOOGLE_CLIENT_ID |
Yes | Google OAuth 2.0 Client ID |
GOOGLE_CLIENT_SECRET |
Yes | Google OAuth 2.0 Client Secret |
GSC_SERVICE_ACCOUNT_PATH |
No | Path to service account JSON (alternative to OAuth) |
GSC_TOKEN_PATH |
No | Token storage path (default: ./token.json) |
GSC_DEFAULT_SITE |
No | Default GSC property URL |
GSC_LOG_LEVEL |
No | Log level: debug/info/warn/error (default: info) |
For automated/server environments, you can use a service account instead of OAuth:
GSC_SERVICE_ACCOUNT_PATH in your environmentGSC_SERVICE_ACCOUNT_PATH=/path/to/service-account.json
npm run dev # Watch mode with hot reload
npm run build # Compile TypeScript
npm run lint # Check code style
npm run typecheck # Type checking
npm run test # Run tests
npm run build
npm run inspector
| Option | Best For | Link |
|---|---|---|
| This repo | Developers who want full control and self-hosting | You're here! |
| Ekamoira GSC MCP | Users who want zero setup, works immediately | app.ekamoira.com/tools/gsc |
If you don't want to manage credentials or run your own server, Ekamoira offers:
rm token.json
npm run auth
webmastersnpm run auth~/Library/Logs/Claude/ (macOS)Contributions are welcome! Please:
npm run lint && npm run typecheck && npm testMIT
Built with the Model Context Protocol SDK.
Inspired by Ekamoira, an AI-powered SEO platform.
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"gsc-mcp-server": {
"command": "npx",
"args": []
}
}
}