SearchLink Lite
# SearchLink Lite
[](https://github.com/hashgraph-online/hol-guard)
[](https://tensorblock.co/mcp/servers/github-globalmatchhub-searchlink-lite-78353be6)
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 |
| `page_check` | Title, description, canonical, noindex, headings, thin content, alt text, structured data errors |
| `algorithm_updates` | Google's own ranking update history, so you know whether a drop was an update |
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", "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 searchlink-lite
```
### Cursor
In `~/.cursor/mcp.json`, use the same block as Claude Desktop.
### As a plugin
This repo ships a plugin manifest (`.claude-plugin/plugin.json`) and an MCP config (`.mcp.json`), so clients that
install plugins from a repository can pick the server up without a config file of their own. Credentials still come
from `GOOGLE_APPLICATION_CREDENTIALS` or your gcloud application default credentials.
### One file install
If your client supports MCP bundles, download `searchlink-lite-0.2.0.mcpb` from [Releases](https://github.com/GlobalMatchHub/searchlink-lite/releases) and open it. It asks for your credentials file and nothing else.
It is also in the official MCP Registry as `com.namubase.searchlink/searchlink-lite`.
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 ([see a live report, no sign-in](https://searchlink.namubase.com/demo)): sign in with Google (no key files), and it adds change tracking with before-and-after measurement, content decay, brand split, history kept past Google 16 months, Copilot citation tracking, page speed, a one-screen dashboard, a Monday email with 3 things to fix, and daily alerts when clicks drop. Works in Claude, ChatGPT and Cursor. Free for up to 3 sites.
`list_sites` and `site_overview` end with one line about the hosted version. Set `SEARCHLINK_LITE_QUIET=1` in the server's env to turn it off. It is a plain link; nothing is sent anywhere unless you click it.
## License
MIT
TDQS
Scored across 8 tools
Each tool targets a distinct read-only Search Console or SEO concern, and the descriptions include explicit guidance on when to use one instead of another. Even similar pairs like inspect_url vs. page_check and site_overview vs. search_performance are clearly separated by purpose and use cases.
All tool names use lowercase snake_case and are short and readable, but they do not follow a single strict verb_noun pattern: list_sites and inspect_url are verb-first, while site_overview and sitemaps are noun-first. This is a minor deviation rather than a chaotic mix.
Eight tools is well within the ideal range for a focused read-only Search Console server. Each tool covers a distinct workflow without redundancy or scope creep, and none of them feel like filler.
The tool surface covers the main read-only SEO workflows: property discovery, performance reporting, opportunity identification, URL inspection, on-page checks, algorithm context, and sitemap health. A whole-site index coverage report is missing, but agents can approximate it using sitemaps and inspect_url, so the gap is not severe.