SearchLink Lite
# SearchLink Lite
Google Search Console inside Claude, Cursor and any MCP client. Runs on your machine, read-only, free (MIT).
Ask things like:
- "How did example.com do on Google in the last 28 days?"
- "Which pages lost the most clicks?"
- "Which queries get impressions but no clicks?"
- "Is https://example.com/pricing indexed?"
## Tools
| Tool | What it answers |
| --- | --- |
| `list_sites` | Which sites are in your Search Console |
| `site_overview` | Clicks, impressions, CTR, position vs the previous period, biggest drops and gains, up to 3 things to do now |
| `search_performance` | Any breakdown by query, page, country, device or date, with filters and period comparison |
| `find_opportunities` | High impressions but low CTR, queries ranking #8-20, pages losing clicks |
| `inspect_url` | Is this page indexed, last crawl, Google's canonical |
| `sitemaps` | Sitemap status, errors and URL counts |
Totals come from the date dimension, so they match the Search Console UI. (Summing page rows double-counts impressions.)
## Setup (about 10 minutes)
You need a Google credentials file that can read Search Console. A service account is the most reliable option.
1. In [Google Cloud Console](https://console.cloud.google.com/), pick or create a project and enable the **Google Search Console API**.
2. Go to **IAM & Admin > Service accounts**, create one (no roles needed), then **Keys > Add key > JSON**. Save the file somewhere safe.
3. In [Search Console](https://search.google.com/search-console), open **Settings > Users and permissions > Add user**, paste the service account email, and choose **Restricted**. Repeat for each site.
4. Add the server to your client (below), pointing `GOOGLE_APPLICATION_CREDENTIALS` to the JSON file.
Already use gcloud? This also works instead of steps 1-3:
```bash
gcloud auth application-default login --scopes=https://www.googleapis.com/auth/webmasters.readonly,https://www.googleapis.com/auth/cloud-platform
```
### Claude Desktop
In `claude_desktop_config.json`:
```json
{
"mcpServers": {
"searchlink": {
"command": "npx",
"args": ["-y", "github:GlobalMatchHub/searchlink-lite"],
"env": { "GOOGLE_APPLICATION_CREDENTIALS": "/path/to/key.json" }
}
}
}
```
### Claude Code
```bash
claude mcp add searchlink -e GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json -- npx -y github:GlobalMatchHub/searchlink-lite
```
### Cursor
In `~/.cursor/mcp.json`, use the same block as Claude Desktop.
Requires Node.js 18 or newer.
## Privacy
Everything runs locally. Your credentials and data go only to Google's APIs. Nothing is sent to us.
## Want it without the setup?
[SearchLink](https://searchlink.namubase.com) is the hosted version: sign in with Google (no key files), and it adds Bing Webmaster data (beta), Copilot citation tracking, page speed, a one-screen dashboard, a Monday email with 3 things to fix, and alerts when clicks drop. Works in Claude, ChatGPT and Cursor. Free for 1 site.
## License
MIT
TDQS
Scored across 6 tools
Each tool targets a distinct aspect of Search Console data: site list, overview, opportunities, raw performance, URL inspection, and sitemaps. There is some overlap between site_overview, find_opportunities, and search_performance, but their purposes are differentiated by level of detail and intent.
Tool names mix verb-first patterns (list_sites, find_opportunities, inspect_url) with noun phrases (site_overview, sitemaps) and an ambiguous case (search_performance). This makes names less predictable, though they are still readable and specific.
Six tools is well within the ideal range for a focused Search Console lite server. Each tool covers a meaningful area without redundancy or bloat.
The set covers all major Search Console data surfaces: site list, performance analytics, URL inspection, and sitemaps, plus value-added opportunity and overview tools. For a lite read-only analytics server, there are no significant gaps.