B
brodesigns/gsc-readonly-mcp
Read-only MCP server for the Google Search Console API: search analytics, sitemap status, URL inspection.
SECURITY.md ✓
View on GitHub ↗Link checked 2026-11-12 · HTTP 200 · opens the vendor's own site
Install & config
Client config (built from the install command this repo gives)
{
"mcpServers": {
"brodesigns-gsc-readonly-mcp": {
"command": "npx",
"args": ["-y", "@brodesigns/gsc-readonly-mcp"]
}
}
}Parsed from the README we fetched on 2026-10-26; we have not executed it.
command/args come from the install command the repository states. When it is ambiguous, the project README wins.
VS Code (.vscode/mcp.json - the key is servers)
{
"servers": {
"brodesigns-gsc-readonly-mcp": {
"command": "npx",
"args": ["-y", "@brodesigns/gsc-readonly-mcp"]
}
}
}Same server, but VS Code keeps it under <code>servers</code>.
Claude Code (command line)
claude mcp add --transport stdio brodesigns-gsc-readonly-mcp -- npx -y @brodesigns/gsc-readonly-mcp
Claude Code does not read a config file; add the server with this command.
Key names differ by client: Clients & CLI
- Star count
- 0 ★ · brodesigns/gsc-readonly-mcp · read from the GitHub search API · (checked 2026-11-13 20:00:50)
- Source
- collected from the punkpeye/awesome-mcp-servers list · type: MCP server
- Harvest history
- first seen 2026-10-23 · last seen 2026-11-14 · seen 26× · listed by 23 sources
- Score
- score 2,300 · 23 sources · mcp
- Install
npx -y @brodesigns/gsc-readonly-mcp
FAQ (answers come from our records)
How do I install it?
The repository provides this install command:
npx -y @brodesigns/gsc-readonly-mcp. It comes from the repository itself; we cannot guarantee it runs as-is in your client.Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository
brodesigns/gsc-readonly-mcp;first catalogued 2026-10-23;last seen 2026-11-14。There is no official certification or quality rating here — we record sources and dates only.# gsc-readonly-mcp
以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →
Read-only MCP server for the Google Search
Console API. Search analytics, sitemap status, URL inspection, property
listing, nothing else.
Design choice: no write scope, not even gated. No submitsitemap, no
deletesitemap, no way to change anything in Search Console. If you need
those, look elsewhere; this project stays deliberately small so it is easy to
audit in one sitting.
## Tools
| Tool | Does |
| listsites | Lists every property the service account can access |
| listsitemaps | Sitemap status for a property (errors, warnings, indexed count) |
| searchanalyticsquery | Clicks, impressions, CTR, position, grouped by query/page/date/etc. |
| inspecturl | Index status, canonical URL, mobile usability for one URL |
## Setup
### 1. Create a service account and download its JSON key
1. Google Cloud Console → create or
select a project.
2. APIs & Services → Library → enable Search Console API.
3. APIs & Services → Credentials → Create Credentials → Service Account.
4. Open the new service account → Keys → Add Key → Create new key → JSON.
The file downloads automatically.
5. Open the file, note the clientemail field
(...@...iam.gserviceaccount.com).
### 2. Grant that service account access in Search Console
1. Search Console → open the
property.
2. Settings → Users and permissions → Add user.
3. Paste the clientemail from step 1. Use Full if you need
searchanalyticsquery (Restricted users hit a permission error on that
endpoint), Restricted is enough for listsites/listsitemaps.
### 3. Store the key file somewhere outside any git repo
bash
mkdir -p ~/.config/gsc
mv ~/Downloads/your-key-.json ~/.config/gsc/service-account.json
chmod 600 ~/.config/gsc/service-account.json
### 4. Configure your MCP client
Claude Code:
bash
claude mcp add gsc-readonly \
-e GSCSERVICEACCOUNTKEYFILE=~/.config/gsc/service-account.json \
-e GSCSITEURL="https://example.de/" \
-- npx -y @brodesigns/gsc-readonly-mcp
Or in .mcp.json:
json
"mcpServers": {
"gsc-readonly": {
"command": "npx",
"args": ["-y", "@brodesigns/gsc-readonly-mcp"],
"env": {
"GSCSERVICEACCOUNTKEYFILE": "/absolute/path/to/service-account.json",
"GSCSITEURL": "https://example.de/"
GSCSITEURL is optional; every tool also accepts a siteurl argument that
overrides it, useful if the same MCP server should cover several properties.
Important: use the property URL exactly as Search Console shows it.
Domain properties look like sc-domain:example.de, URL-prefix properties
look like https://example.de/. Passing the wrong form fails silently or
with a permission error even though the account has access.
## Why this exists
Console API. Search analytics, sitemap status, URL inspection, property
listing, nothing else.
Design choice: no write scope, not even gated. No submitsitemap, no
deletesitemap, no way to change anything in Search Console. If you need
those, look elsewhere; this project stays deliberately small so it is easy to
audit in one sitting.
## Tools
| Tool | Does |
| listsites | Lists every property the service account can access |
| listsitemaps | Sitemap status for a property (errors, warnings, indexed count) |
| searchanalyticsquery | Clicks, impressions, CTR, position, grouped by query/page/date/etc. |
| inspecturl | Index status, canonical URL, mobile usability for one URL |
## Setup
### 1. Create a service account and download its JSON key
1. Google Cloud Console → create or
select a project.
2. APIs & Services → Library → enable Search Console API.
3. APIs & Services → Credentials → Create Credentials → Service Account.
4. Open the new service account → Keys → Add Key → Create new key → JSON.
The file downloads automatically.
5. Open the file, note the clientemail field
(...@...iam.gserviceaccount.com).
### 2. Grant that service account access in Search Console
1. Search Console → open the
property.
2. Settings → Users and permissions → Add user.
3. Paste the clientemail from step 1. Use Full if you need
searchanalyticsquery (Restricted users hit a permission error on that
endpoint), Restricted is enough for listsites/listsitemaps.
### 3. Store the key file somewhere outside any git repo
bash
mkdir -p ~/.config/gsc
mv ~/Downloads/your-key-.json ~/.config/gsc/service-account.json
chmod 600 ~/.config/gsc/service-account.json
### 4. Configure your MCP client
Claude Code:
bash
claude mcp add gsc-readonly \
-e GSCSERVICEACCOUNTKEYFILE=~/.config/gsc/service-account.json \
-e GSCSITEURL="https://example.de/" \
-- npx -y @brodesigns/gsc-readonly-mcp
Or in .mcp.json:
json
"mcpServers": {
"gsc-readonly": {
"command": "npx",
"args": ["-y", "@brodesigns/gsc-readonly-mcp"],
"env": {
"GSCSERVICEACCOUNTKEYFILE": "/absolute/path/to/service-account.json",
"GSCSITEURL": "https://example.de/"
GSCSITEURL is optional; every tool also accepts a siteurl argument that
overrides it, useful if the same MCP server should cover several properties.
Important: use the property URL exactly as Search Console shows it.
Domain properties look like sc-domain:example.de, URL-prefix properties
look like https://example.de/. Passing the wrong form fails silently or
with a permission error even though the account has access.
## Why this exists
Listed badge (optional)
Copy this line into the README if you want the listing mark. Optional, and it does not affect being listed.
[](https://anclum.com/en/s/brodesigns-gsc-readonly-mcp/)
- Source
- awesome · https://github.com/brodesigns/gsc-readonly-mcp
- Browse by field
- MCP servers
- Listed by
- 23 independent sources
- added
- today
- Security policy
- the repository has
SECURITY.mdat its root (we checked that the file exists, not what it says)
More like this
Filed under
Every tag opens the full list for that filter. Counts are the live catalogue figures.