loading…
Search for a command to run...
loading…
Read-only MCP server for Google Search Console, with browser-based OAuth flow and local token storage, enabling querying search analytics, site lists, and URL i
Read-only MCP server for Google Search Console, with browser-based OAuth flow and local token storage, enabling querying search analytics, site lists, and URL inspection.
Read-only MCP server for Google Search Console, built to work well in Claude Desktop with a browser-based OAuth flow and local token storage.
If your goal is simply "make this work in Claude Desktop", follow these steps in order.
The Google account you use during login must already have access to at least one Search Console property.
Accepted access levels for the API include owner, full, and read access.
In Google Cloud:
Official references:
In Google Cloud, configure the OAuth consent screen for the same project.
For most personal or team setups:
ExternalTesting while you validate the integrationImportant:
External and still in Testing, users must be listed as test usersThis MCP only requests one read-only scope:
https://www.googleapis.com/auth/webmasters.readonlyOfficial references:
Desktop appCreate an OAuth client in the same Google Cloud project:
You do not need to manually wire redirect URIs into Claude Desktop for this MCP. The desktop OAuth flow uses a local loopback callback handled by the running MCP process.
The minimum Claude Desktop configuration is:
{
"mcpServers": {
"flin-google-search-console-mcp": {
"command": "uvx",
"args": ["flin-google-search-console-mcp@latest"],
"env": {
"GOOGLE_CLIENT_ID": "your_oauth_client_id",
"GOOGLE_CLIENT_SECRET": "your_oauth_client_secret"
}
}
}
}
If you want a default property so you do not have to pass site_url every time:
{
"mcpServers": {
"flin-google-search-console-mcp": {
"command": "uvx",
"args": ["flin-google-search-console-mcp@latest"],
"env": {
"GOOGLE_CLIENT_ID": "your_oauth_client_id",
"GOOGLE_CLIENT_SECRET": "your_oauth_client_secret",
"GOOGLE_SEARCH_CONSOLE_SITE_URL": "sc-domain:example.com"
}
}
}
}
For local development from a checkout:
{
"mcpServers": {
"flin-google-search-console-mcp-local": {
"command": "uv",
"args": [
"run",
"--directory",
"/absolute/path/to/flin-google-search-console-mcp",
"flin-google-search-console-mcp"
],
"env": {
"GOOGLE_CLIENT_ID": "your_oauth_client_id",
"GOOGLE_CLIENT_SECRET": "your_oauth_client_secret"
}
}
}
}
Replace /absolute/path/to/flin-google-search-console-mcp with your local checkout path.
After saving the MCP configuration, fully restart Claude Desktop so it reloads the local server definition.
Start with these prompts:
Run health_check for the Google Search Console MCP and show the full result.
List my Search Console sites.
On the first authenticated tool call, the MCP opens a browser window. Sign in with the Google account that has Search Console access and approve the request.
After that:
The MCP stores a local token JSON file after the first successful login.
Default locations:
~/Library/Application Support/flin-google-search-console-mcp/token.json~/.config/flin-google-search-console-mcp/token.json%APPDATA%\flin-google-search-console-mcp\token.jsonIf you want to override the location:
{
"mcpServers": {
"flin-google-search-console-mcp": {
"command": "uvx",
"args": ["flin-google-search-console-mcp@latest"],
"env": {
"GOOGLE_CLIENT_ID": "your_oauth_client_id",
"GOOGLE_CLIENT_SECRET": "your_oauth_client_secret",
"GOOGLE_SEARCH_CONSOLE_TOKEN_PATH": "/absolute/path/to/flin-google-search-console-mcp-token.json"
}
}
}
}
Use these in Claude Desktop after the server is configured.
Run health_check for the Google Search Console MCP and show the full result.
List my Search Console sites and tell me whether sc-domain:example.com is available.
Run get_site_summary for site_url sc-domain:example.com from 2026-04-01 to 2026-04-20 and show clicks, impressions, ctr, and position.
Run get_top_queries for site_url sc-domain:example.com from 2026-04-01 to 2026-04-20 with row_limit 25 and show the top queries by clicks.
Run get_top_pages for site_url sc-domain:example.com from 2026-04-01 to 2026-04-20 with row_limit 25 and show the top pages by clicks.
Run inspect_url for site_url sc-domain:example.com and inspection_url https://example.com/.
This is one of the most common setup mistakes.
Examples:
sc-domain:example.comhttps://www.example.com/Use the exact property string returned by list_sites. Do not guess.
health_checklist_sitesget_site_summaryquery_performanceget_top_queriesget_top_pagesget_dimension_breakdowninspect_urlRecommended call order:
health_checklist_sitesget_site_summaryget_top_queries or get_top_pagesquery_performance for custom dimensions and filtersinspect_url for indexability and canonical checks on a specific URLquery_performance uses the Search Analytics API under the hoodkeys[] rows into named dimensions objectsSupported knobs include:
dimensionsfilterssearch_typeaggregation_typedata_staterow_limitstart_row{
"tool": "get_site_summary",
"args": {
"site_url": "sc-domain:example.com",
"start_date": "2026-04-01",
"end_date": "2026-04-20"
}
}
{
"tool": "get_top_queries",
"args": {
"site_url": "sc-domain:example.com",
"start_date": "2026-04-01",
"end_date": "2026-04-20",
"row_limit": 25
}
}
{
"tool": "query_performance",
"args": {
"site_url": "sc-domain:example.com",
"start_date": "2026-04-01",
"end_date": "2026-04-20",
"dimensions": ["page"],
"filters": [
{
"dimension": "device",
"operator": "equals",
"expression": "MOBILE"
}
],
"row_limit": 50
}
}
{
"tool": "inspect_url",
"args": {
"site_url": "sc-domain:example.com",
"inspection_url": "https://example.com/blog/seo-agent"
}
}
If you want to run the MCP from source:
uv sync --extra dev
cp .env.example .env
# Fill .env values
uv run flin-google-search-console-mcp
Run the latest published package directly:
uvx flin-google-search-console-mcp@latest
missing_configuration
GOOGLE_CLIENT_ID or GOOGLE_CLIENT_SECRET is missing from the MCP configoauth_required
permission_denied
No sites returned
Google shows an unverified or testing warning
This repository publishes automatically with GitHub Actions:
.github/workflows/ci.yml.github/workflows/release.yml triggered by git tags v*In PyPI project settings for flin-google-search-console-mcp, add a Trusted Publisher with:
flin-agencyflin-google-search-console-mcprelease.ymlpypigit add -A
git commit -m "release: v0.1.0"
git tag v0.1.0
git push origin main --tags
Выполни в терминале:
claude mcp add flin-google-search-console-mcp -- npx Browser automation, scraping, screenshots
автор: MicrosoftBrowser automation and web scraping.
автор: modelcontextprotocolPlugin-based MCP server + Chrome extension that gives AI agents access to web applications through the user's authenticated browser session. 100+ plugins with a
автор: opentabs-dev1,500+ developer infrastructure deals, free tiers, and startup programs across 54 categories. Search deals, compare vendors, plan stacks, and track pricing chan
автор: robhunterНе уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории browse