mcp-search-console
SEO를 위한 Google Search Console MCP 서버
Google Search Console(GSC)을 AI 어시스턴트에 연결하는 Model Context Protocol(MCP) 서버로, 자연어 대화를 통해 SEO 데이터를 분석할 수 있습니다. Claude Desktop, Cursor, Codex CLI, Gemini CLI, Antigravity 및 기타 모든 MCP 호환 클라이언트에서 작동합니다.
설정 건너뛰고 더 많은 기능을 누리세요. 더 발전된 호스팅 버전 — 원클릭 로그인, GA4 도구 추가. Claude Desktop, Claude Code, Claude.ai, Codex, Cursor 및 모든 MCP 클라이언트에서 작동합니다. 100석 한정. → 고급 GSC MCP (호스팅)
새로운 소식
[0.3.3] — 2026년 7월
mcp2.0으로 인해 깨진 신규 설치 수정 —mcp[cli]<2.0.0으로 고정.mcpSDK 2.0.0(2026-07-28 출시)에서mcp.server.fastmcp모듈이 제거되어, 새로uvx mcp-search-console을 설치할 때마다ModuleNotFoundError: No module named 'mcp.server.fastmcp'오류로 시작 시 충돌이 발생했습니다. 이제 새 설치 시 작동하는 1.x SDK로 해결됩니다 —--with "mcp<2"우회 방법이 필요 없습니다.
[0.3.2] — 2026년 4월
uvx용 OAuth 브라우저 흐름 수정 — macOS에서 MCP 하위 프로세스로 실행할 때 브라우저 로그인 창이 열리지 못하게 하던
isatty블록을 제거했습니다. 이제 OAuth가uvx에서 별도의 수동 터미널 실행 없이 바로 작동합니다.get_capabilities도구 추가 — 이 도구를 호출하면 사용 가능한 전체 도구 목록과 현재 인증 상태를 한 번에 확인할 수 있습니다. AI 어시스턴트가 어떤 도구를 사용할 수 있는지 확실하지 않을 때 유용합니다.더 나은 인증 오류 메시지 — 이제 모든 도구가 자격 증명이 없거나 만료되었을 때 정확히 무엇을 해야 하는지 알려줍니다.
Related MCP server: Google Search Console MCP Server
무엇을 할 수 있나요?
속성 관리
모든 GSC 속성을 한 곳에서 확인
검증 세부 정보 및 소유권 정보 확인
계정에서 속성 추가 또는 제거
검색 분석 및 보고
사이트에 방문자를 유입시키는 검색어 확인
노출수, 클릭수, 클릭률 추적
성과 추세 분석 및 기간 비교
AI 어시스턴트가 생성한 차트로 데이터 시각화
URL 검사 및 색인 생성
특정 페이지의 색인 생성 문제 확인
Google이 페이지를 마지막으로 크롤링한 시기 확인
여러 URL을 한 번에 검사하여 패턴 식별
사이트맵 관리
모든 사이트맵 및 상태 확인
새 사이트맵 제출
오류 또는 경고 확인
사용 가능한 도구
도구 | 기능 | 제공해야 할 항목 |
| 모든 도구를 나열하고 인증 상태 표시 — 확실하지 않으면 먼저 호출 | 없음 |
| 모든 GSC 속성 표시 | 없음 |
| 특정 사이트에 대한 세부 정보 | 사이트 URL |
| 클릭수, 노출수, CTR, 위치가 포함된 상위 검색어 및 페이지 | 사이트 URL, 기간 |
| 사이트 성과 요약 | 사이트 URL, 기간 |
| 두 기간 간 성과 비교 | 사이트 URL, 두 날짜 범위 |
| 특정 페이지로 트래픽을 유도하는 검색어 | 사이트 URL, 페이지 URL |
| 국가, 기기, 검색어, 페이지별 필터가 포함된 분석 | 사이트 URL |
| URL에 대한 상세 크롤링/색인 생성 상태 | 사이트 URL, 페이지 URL |
| 한 번에 최대 10개 URL 검사 | 사이트 URL, URL 목록 |
| 여러 URL의 색인 생성 문제 확인 | 사이트 URL, URL 목록 |
| 사이트의 모든 사이트맵 나열 | 사이트 URL |
| 오류 및 경고를 포함한 상세 사이트맵 정보 | 사이트 URL |
| 사이트맵 제출 또는 삭제 | 사이트 URL, 작업 |
| OAuth 브라우저 로그인 다시 실행 (계정 전환) | 없음 |
AI 어시스턴트에게 "get_capabilities 호출"을 요청하면 전체 20개 도구 목록을 확인할 수 있습니다.
시작하기
1단계 — Google API 자격 증명 설정
클라이언트를 구성하기 전에 자격 증명이 필요합니다. 다음 방법 중 하나를 선택하세요:
옵션 A — OAuth (권장 — 자신의 Google 계정 사용)
Google Cloud Console로 이동하여 프로젝트를 만들거나 선택합니다
사용자 인증 정보로 이동 → 사용자 인증 정보 만들기 → OAuth 클라이언트 ID
OAuth 동의 화면을 구성하고 데스크톱 앱을 선택한 후 만들기를 클릭합니다
JSON 파일을 다운로드하여 영구적인 위치에 저장합니다 (예:
~/Documents/client_secrets.json)
첫 사용 시 Google 계정으로 로그인하라는 브라우저 창이 열립니다. 이후에는 토큰이 저장되어 더 이상 브라우저 상호작용이 필요하지 않습니다.
옵션 B — 서비스 계정 (자동화 또는 팀 사용용)
Google Cloud Console로 이동하여 프로젝트를 만들거나 선택합니다
사용자 인증 정보로 이동 → 사용자 인증 정보 만들기 → 서비스 계정
키 탭으로 이동 → 키 추가 → 새 키 만들기 → JSON → 다운로드
파일을 영구적인 위치에 저장합니다 (예:
~/Documents/service_account.json)GSC 속성에 서비스 계정 이메일을 추가합니다: Search Console → 설정 → 사용자 및 권한 → 사용자 추가 → 전체 액세스
🎥 이 섹션의 단계별 설정 튜토리얼 시청하기
2026년 업데이트 — Google 자격 증명 설정부터 첫 번째 성공적인 쿼리까지 새로운 uvx 방법을 사용한 전체 설치 과정을 다룹니다.
2단계 — 설치
옵션 A — uvx (권장)
클론, Python 설치, 가상 환경이 필요 없습니다. uvx가 서버를 자동으로 다운로드하여 실행하고 최신 상태로 유지합니다.
uv 설치 — 터미널을 열고 세 가지 명령을 순서대로 실행합니다:
# 1. Download and install
curl -LsSf https://astral.sh/uv/install.sh | sh
# 2. Activate in the current Terminal session
source $HOME/.local/bin/env
# 3. Make it permanent for all future sessions
echo 'source $HOME/.local/bin/env' >> ~/.zshrc확인:
uv --version세 가지 명령이 모두 필요한 이유는? 설치 프로그램이
uv를~/.local/bin에 넣지만, 이미 열려 있는 터미널 세션은 해당 폴더를 아직 인식하지 못합니다. 2단계는 즉시 활성화합니다. 3단계는 향후 모든 터미널 창에서 자동으로 사용할 수 있도록 보장합니다.
이제 AI 클라이언트를 구성합니다:
Claude Desktop
구성 파일: ~/Library/Application Support/Claude/claude_desktop_config.json
OAuth:
{
"mcpServers": {
"gscServer": {
"command": "/FULL/PATH/TO/uvx",
"args": ["mcp-search-console"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
}
}
}
}서비스 계정:
{
"mcpServers": {
"gscServer": {
"command": "/FULL/PATH/TO/uvx",
"args": ["mcp-search-console"],
"env": {
"GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
"GSC_SKIP_OAUTH": "true"
}
}
}
}Cursor
구성 파일: ~/.cursor/mcp.json
OAuth:
{
"mcpServers": {
"gscServer": {
"command": "/FULL/PATH/TO/uvx",
"args": ["mcp-search-console"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
}
}
}
}Codex CLI
구성 파일: ~/.codex/config.toml
OAuth:
[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_OAUTH_CLIENT_SECRETS_FILE = "/full/path/to/client_secrets.json" }서비스 계정:
[mcp_servers.gscServer]
command = "/FULL/PATH/TO/uvx"
args = ["mcp-search-console"]
enabled = true
env = { GSC_CREDENTIALS_PATH = "/full/path/to/service_account.json", GSC_SKIP_OAUTH = "true" }uvx 경로 찾기: macOS/Linux에서는 uv 설치 후 터미널에서
which uvx를 실행합니다 (일반적으로/Users/사용자이름/.local/bin/uvx). Windows에서는 PowerShell에서Get-Command uvx | Select-Object -ExpandProperty Source를 실행합니다 (또는 cmd에서where uvx) — 보통C:\Users\사용자이름\.local\bin\uvx.exe입니다. 위 구성에서/FULL/PATH/TO/uvx를 해당 경로로 바꾸세요.전체 경로가 필요한 이유는? Claude Desktop 및 Cursor와 같은 GUI 앱은 셸 구성(
~/.zshrc)을 읽지 않고 실행되므로~/.local/bin을 인식하지 못합니다. 전체 경로를 사용하면 앱이 어떻게 실행되든 작동이 보장됩니다.spawn uvx ENOENT오류가 표시되면 이 방법으로 해결됩니다.
구성을 저장한 후 앱을 완전히 종료(Cmd+Q)하고 다시 엽니다.
OAuth의 경우: 첫 사용 시 로그인을 위한 브라우저 창이 자동으로 열립니다. 이후에는 토큰이 캐시되어 다시 요청되지 않습니다.
옵션 B — 클론 (고급)
이 방법의 동영상 가이드를 선호하시나요? 아래 튜토리얼은 클론 설치 경로를 단계별로 다룹니다 — 가상 환경 설정, 종속성, 구성:
코드를 수정하거나 특정 로컬 버전을 실행하려는 경우 이 방법을 사용하세요. 이 방법은 자격 증명 설정 단계에 위의 동영상 튜토리얼을 사용합니다.
Python 3.11+ 필요. 이 서버는 Python 3.10 이하에서는 시작되지 않습니다 — 그리고 Claude Desktop과 같은 GUI 클라이언트에서 실행될 때는 자동으로 실패합니다 (도구가 나타나지 않고 로그 파일도 기록되지 않음).
python --version으로 버전을 확인하세요. 3.11 미만이면 Python 3.11 이상을 설치하고 가상 환경을 다시 만드세요. uvx 방법(옵션 A)은 Python 버전을 자동으로 관리하여 이 문제를 완전히 피할 수 있으므로 Windows에서 권장되는 경로입니다.
저장소 클론:
git clone https://github.com/AminForou/mcp-gsc.git
cd mcp-gsc또는 이 페이지 상단의 녹색 Code 버튼에서 ZIP을 다운로드하여 압축을 풉니다.
환경 설정:
uv venv .venv
uv pip install -r requirements.txtAI 클라이언트 구성 (Claude Desktop 예시):
OAuth:
{
"mcpServers": {
"gscServer": {
"command": "/full/path/to/mcp-gsc/.venv/bin/python",
"args": ["/full/path/to/mcp-gsc/gsc_server.py"],
"env": {
"GSC_OAUTH_CLIENT_SECRETS_FILE": "/full/path/to/client_secrets.json"
}
}
}
}서비스 계정:
{
"mcpServers": {
"gscServer": {
"command": "/full/path/to/mcp-gsc/.venv/bin/python",
"args": ["/full/path/to/mcp-gsc/gsc_server.py"],
"env": {
"GSC_CREDENTIALS_PATH": "/full/path/to/service_account.json",
"GSC_SKIP_OAUTH": "true"
}
}
}
}Mac 경로 예시:
Python:
/Users/yourname/Documents/mcp-gsc/.venv/bin/python스크립트:
/Users/yourname/Documents/mcp-gsc/gsc_server.py
3단계 — 테스트
AI 어시스턴트에게 물어보세요: "내 GSC 속성 목록을 보여줘"
속성이 표시되면 작동하는 것입니다. 표시되지 않으면 **"get_capabilities 호출"**을 요청하여 인증 상태를 확인하고 문제를 진단하세요.
환경 변수 참조
변수 | 필수 여부 | 기본값 | 설명 |
| OAuth 전용 | — | OAuth 클라이언트 시크릿 JSON의 절대 경로. |
| 서비스 계정 전용 | — | 서비스 계정 JSON 키의 절대 경로. |
| 아니요 |
|
|
| 아니요 |
|
|
| 아니요 |
|
|
Cursor 마켓플레이스
원클릭 설치 가능 — Cursor 마켓플레이스에서 mcp-search-console을 검색하세요.
설치 후 자격 증명을 구성하고(위 1단계 참조) Cursor Agent 채팅에서 번들된 스킬을 직접 사용하세요:
스킬 | 호출 방법 | 기능 |
| "example.com의 SEO 주간 보고서 실행" | 기간 대비 비교 및 상위 검색어를 포함한 전체 28일 성과 요약 |
| "example.com의 키워드 카니발리제이션 확인" | 여러 페이지가 경쟁하는 검색어를 찾아 유지할 페이지를 추천 |
| "내 상위 페이지의 색인 감사" | 상위 20개 페이지를 일괄 검사하고 우선순위별 수정 목록 반환 |
| "example.com의 콘텐츠 기회 찾기" | 노출은 높지만 CTR이 낮은 11~20위 검색어 표시 |
샘플 프롬프트
도구 | 샘플 프롬프트 |
| "내 GSC 속성을 모두 나열하고 어떤 속성에 가장 많은 페이지가 색인되었는지 알려줘." |
| "지난 30일 동안 mywebsite.com의 상위 20개 검색어를 보여주고, CTR이 2% 미만인 항목을 강조한 다음 제목 개선을 제안해줘." |
| "지난 28일 동안 mywebsite.com의 시각적 성과 개요를 만들고, 비정상적인 하락이나 급증을 식별한 다음 가능한 원인을 설명해줘." |
| "다음 페이지의 색인 문제를 확인해줘: mywebsite.com/product, mywebsite.com/services, mywebsite.com/about" |
| "mywebsite.com/landing-page에 대한 종합 검사를 수행하고 실행 가능한 권장 사항을 알려줘." |
| "1월과 2월 사이의 내 사이트 성과를 비교해줘. 어떤 검색어가 가장 많이 개선되었어?" |
| "노출은 높지만 순위가 10위 미만인 검색어를 분석하고, 미국 내 모바일 트래픽으로만 필터링해줘." |
문제 해결
spawn uvx ENOENT 또는 command not found: uvx
AI 클라이언트가 uvx를 찾을 수 없습니다. uvx 대신 전체 경로를 사용하세요:
# Find your full path (macOS/Linux):
which uvx
# Typically: /Users/YOUR_NAME/.local/bin/uvx# Find your full path (Windows PowerShell):
Get-Command uvx | Select-Object -ExpandProperty Source
# Typically: C:\Users\YOUR_NAME\.local\bin\uvx.exe구성 파일에서 "command": "uvx"를 전체 경로(예: "command": "/Users/YOUR_NAME/.local/bin/uvx")로 바꾸세요.
설치 직후 uv --version에서 "command not found" 오류
설치 프로그램이 ~/.local/bin을 업데이트하지만 현재 터미널 세션에서는 아직 인식하지 못합니다. 다음을 실행하세요:
source $HOME/.local/bin/env그런 다음 영구적으로 추가하세요:
echo 'source $HOME/.local/bin/env' >> ~/.zshrc인증 실패 / 자격 증명 파일을 찾을 수 없음
자격 증명 파일의 절대 경로를 사용하고 있는지 확인하세요 — 상대 경로나 ~/가 아닌 절대 경로여야 합니다. 예:
/Users/yourname/Documents/client_secrets.json ✅
~/Documents/client_secrets.json ✅
client_secrets.json ❌MCP가 웹사이트가 아닌 Claude Desktop 앱에서만 작동함
MCP 서버는 사용자 머신에서 로컬로 실행됩니다. claude.ai/download에서 다운로드한 Claude Desktop 앱에서만 작동하며, claude.ai 브라우저 인터페이스에서는 작동하지 않습니다.
AI 클라이언트 구성 문제
구성의 모든 파일 경로가 올바른 절대 경로인지 확인하세요
구성 변경 후 앱을 완전히 종료(
Cmd+Q)하고 다시 열어야 합니다 — 창을 닫는 것만으로는 충분하지 않습니다AI 어시스턴트에게 "get_capabilities 호출"을 요청하세요 — 정확한 인증 상태와 오류를 보고합니다
안전: 파괴적 작업
기본적으로 add_site, delete_site, delete_sitemap은 비활성화되어 있습니다. 활성화하려면:
"GSC_ALLOW_DESTRUCTIVE": "true"원격 배포 및 Docker (고급)
표준 설정은 서버를 로컬에서 실행합니다. 이 섹션은 원격 서버나 컨테이너에서 실행하려는 사용자만을 위한 것입니다.
HTTP 전송
MCP_TRANSPORT=sse MCP_HOST=0.0.0.0 MCP_PORT=3001 python gsc_server.py변수 | 기본값 | 설명 |
|
| 네트워크/원격 사용 시 |
|
| 바인딩할 호스트 |
|
| 바인딩할 포트 |
Docker
docker build -t mcp-gsc .
docker run \
-e MCP_TRANSPORT=sse \
-e MCP_HOST=0.0.0.0 \
-e MCP_PORT=3001 \
-e GSC_CREDENTIALS_PATH=/app/credentials.json \
-v /path/to/credentials.json:/app/credentials.json \
-p 3001:3001 \
mcp-gsc관련 도구
Advanced GSC Visualizer — 대화형 차트, 최대 25,000행의 원클릭 내보내기, 키워드 카니발리제이션 감지, AI 어시스턴트를 갖춘 Chrome 확장 프로그램(14,000명 이상 사용자)으로, 모두 Google Search Console 내에서 직접 사용할 수 있습니다. 동일한 작성자가 제작했습니다. Chrome 웹 스토어에서 설치 →
기여
버그를 발견했거나 개선 아이디어가 있으신가요? GitHub에서 이슈를 열거나 풀 리퀘스트를 제출해 주세요.
라이선스
MIT 라이선스. 자세한 내용은 LICENSE 파일을 참조하세요.
변경 로그
[0.3.3] — 2026년 7월
mcp[cli]>=1.3.0,<2.0.0으로 고정.mcpSDK 2.0.0이mcp.server.fastmcp를 제거하여 모든 새uvx설치가ModuleNotFoundError로 중단되었습니다. 2.0 미만으로 제한하여 설치가 정상 작동하도록 복구했습니다. (#41 수정)
[0.3.2] — 2026년 4월
uvx용 OAuth 브라우저 흐름 수정 — macOS에서 MCP 하위 프로세스로 실행할 때 OAuth 브라우저 창이 열리지 못하게 하던
isatty블록을 제거했습니다. 이제 OAuth +uvx가 기본적으로 작동합니다.get_capabilities도구 — 한 번의 호출로 카테고리별로 그룹화된 모든 사용 가능한 도구와 실시간 인증 상태를 반환합니다.더 나은 인증 오류 메시지 — 모든 도구가 이제 자격 증명이 없거나 만료되었을 때
reauthenticate를 호출하도록 명시적으로 안내합니다.list_properties설명 개선 — 지연 도구 로딩을 사용하는 클라이언트에서 더 나은 의미론적 도구 검색을 제공합니다.
[0.3.1] — 2026년 4월
list_properties가 실제 인증 오류를 가리던 문제 수정; 자격 증명 누락 시 즉시 실패.
[0.3.0] — 2026년 4월
4개의 번들 SEO 스킬을 갖춘 Cursor Marketplace 플러그인
플랫폼 사용자 구성 디렉토리의 안정적인 토큰 저장(
uvx업그레이드 후에도 유지)모든 데이터 도구에 대한 구조화된 JSON 출력
39개의 단위 테스트
[0.2.2] — 2026년 4월
파괴적 도구에 대한 안전 모드(기본적으로 비활성화)
원격 배포를 위한 HTTP/SSE 전송
Dockerfile
[0.2.1] — 2026년 3월
Google 계정 전환을 위한
reauthenticate도구sitemap TypeError 충돌 수정
도메인 속성 404 오류 수정
[0.2.0] — 2026년 3월
기본적으로
dataState: "all"(GSC 대시보드와 일치)유연한
row_limit매개변수(최대 500)고급 분석을 위한 다중 차원 필터링
[0.1.0] — 최초 릴리스
속성 관리, 검색 분석, URL 검사, sitemap 관리를 다루는 19개 도구
OAuth 및 서비스 계정 인증
Available Tools
21 toolsadd_siteA
Add a site to your Search Console properties.
Args:
site_url: The URL of the site to add (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It only says the tool 'adds' a site, with no details about side effects, permissions, duplicate-add behavior, whether the site is immediately usable, or what the API returns.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short and front-loaded, with no filler. The brief 'Args' section provides exactly the parameter detail needed without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with one parameter, the URL semantics are well covered and an output schema exists. However, key operational context is missing: what happens when the site is added, whether verification is required, and how this relates to other Search Console management steps. The agent can invoke the tool correctly but lacks deeper context for robust decision-making.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 0% coverage, but the description fully compensates by specifying that site_url must be an exact match, giving concrete URL patterns, and explaining the sc-domain: format for domain properties. This is strong, actionable parameter guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Add a site') and a clear target ('Search Console properties'). This is unambiguous and naturally distinguishes the tool from siblings like delete_site, list_properties, and get_site_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance about when to use this tool versus alternatives, nor any mention of prerequisites, ownership, or verification requirements. The description only explains what the tool does, leaving the agent to infer usage context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
batch_url_inspectionA
Inspect multiple URLs in batch (within API limits).
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
urls: List of URLs to inspect, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the full burden of behavioral disclosure. 'Within API limits' is vague and gives no concrete limit, error behavior, or side-effect information. The read-only nature is only implied, not stated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose. The Args section adds essential parameter guidance without fluff, and every line contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Input semantics are well-covered and an output schema exists, so return values do not need explanation. However, the description lacks concrete batch-limit numbers and does not guide the agent toward or away from the single-URL sibling tool. These gaps matter for a tool with no annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema coverage, the description fully compensates. It explains that site_url must be an exact GSC property URL from list_properties, gives example formats, and clarifies domain-property subdomain coverage. It also specifies that urls must be provided one per line.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb and resource: 'Inspect multiple URLs in batch'. The batch qualifier distinguishes this from sibling tools like inspect_url_enhanced, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The batch scope implies it is intended for inspecting multiple URLs at once, and the site_url guidance references list_properties as a prerequisite. However, there is no explicit statement about when to choose this over inspect_url_enhanced or any batch-limit threshold.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_indexing_issuesA
Check for specific indexing issues across multiple URLs.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
urls: List of URLs to check, one per line
| Name | Required | Description | Default |
|---|---|---|---|
| urls | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral disclosure burden. 'Check' implies a read-only operation and the parameter guidance is useful, but the description does not disclose what kinds of indexing issues are reported, any request limits for the URL list, or error behavior. It is not contradictory or misleading, just minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a one-sentence summary followed by an Args block with no redundant text. Every sentence earns its place, and the formatting makes parameter semantics easy to parse.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema, the description covers the essential invocation details well. The main omissions are the exact nature of 'specific indexing issues' and guidance on choosing this tool over sibling inspection tools, but the output schema likely fills in return-value expectations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does thoroughly. It explains that site_url must be an exact GSC property from list_properties, gives examples, and explains domain vs. site property semantics. It also clarifies that urls is a list with one URL per line, which is critical for correct invocation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence 'Check for specific indexing issues across multiple URLs' names a clear verb, resource, and scope. However, the term 'specific indexing issues' is undefined and the description does not differentiate this from sibling tools like batch_url_inspection or inspect_url_enhanced, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use versus alternative tools, but the Args section provides meaningful usage guidance on how to select site_url (exact GSC property from list_properties and domain-property handling for subdomains). This is implied usage context rather than a clear routing rule, so it is slightly above no guidance but below explicit exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_search_periodsA
Compare search analytics data between two time periods.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
period1_start: Start date for period 1 (YYYY-MM-DD)
period1_end: End date for period 1 (YYYY-MM-DD)
period2_start: Start date for period 2 (YYYY-MM-DD)
period2_end: End date for period 2 (YYYY-MM-DD)
dimensions: Dimensions to group by (default: query)
limit: Number of top results to compare (default: 10)
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| site_url | Yes | ||
| dimensions | No | query | |
| period1_end | Yes | ||
| period2_end | Yes | ||
| period1_start | Yes | ||
| period2_start | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden for behavioral context. It adds a useful GSC-related behavior ('Domain properties cover all subdomains') and explains how to adapt site_url plus page filtering for subdomains. Still, it does not disclose permissions, read-only/side-effect status, rate limits, or how 'top results' are ranked, leaving behavioral transparency only partially covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The one-line purpose is front-loaded, followed by a tight Args list. Every line earns its place: formats, defaults, and the domain-property guidance are all necessary for correct invocation. There is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all seven parameters, includes the key domain-vs-site property nuance, and the presence of an output schema covers return-value details. It is slightly incomplete because dimensions has no allowed-value list ('query', 'page', etc.) and 'top results' does not specify the ranking metric, but these are minor gaps for an otherwise well-specified tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, but the description compensates fully: site_url includes exact expected formats and examples, all four date parameters specify YYYY-MM-DD, and dimensions/limit explain their defaults and purpose. This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description starts with a specific verb and resource: 'Compare search analytics data between two time periods.' This unambiguously names the tool's operation and distinguishes it from single-period siblings like get_search_analytics, so an agent can select it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use case (comparing two periods) is clear, and the site_url note correctly ties the parameter to list_properties. However, the description never explicitly says when to prefer this tool over get_search_analytics or get_advanced_search_analytics, nor states exclusions such as 'use for single-period trends instead.' The usage guidance is implied rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_siteA
Remove a site from your Search Console properties.
Args:
site_url: The URL of the site to remove (must be exact match e.g. https://example.com, or https://www.example.com, or https://subdomain.example.com/path/, for domain properties use format: sc-domain:example.com)
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the full burden of behavioral disclosure. It states the core action but does not mention that deletion is likely irreversible, what cascade effects occur (e.g., sitemaps removed), whether ownership is required, or what happens on failure. For a destructive operation, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two efficient sentences: the action is front-loaded, and parameter details are compactly structured with clear examples. No filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter destructive tool, the operational calling information is nearly complete, and the output schema covers return values. However, the missing behavioral context around permanence, side effects, and prerequisites means the definition is only minimally adequate rather than thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides zero description for the single parameter, but the tool description thoroughly compensates: it gives exact-match requirements, concrete URL examples, and the special sc-domain: format for domain properties. This is exactly the level of detail an agent needs.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Remove') and resource ('site from your Search Console properties'), making the tool's purpose unambiguous. It clearly distinguishes itself from siblings like add_site and list_properties.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
When to use this tool is implied by its name and action ('remove a site'), but there is no explicit guidance on when not to use it, no mention of alternatives, and no prerequisites or conditions. The context is clear enough, but the description leaves routing entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_sitemapA
Delete (unsubmit) a sitemap from Google Search Console.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to delete
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of disclosing behavior. 'Delete (unsubmit)' communicates the mutating action and clarifies that it removes the sitemap submission rather than the hosted file, but it does not mention permissions, side effects on indexed pages, or error/response behavior. It is adequate but leaves gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the purpose, followed by a focused Args section. Every sentence adds necessary information and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter delete operation with an output schema, the description provides all needed input context: where site_url comes from, how to format it, and exactly what sitemap_url should be. Nothing required for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must fully explain the parameters. It does: site_url is defined as an exact GSC property with examples and domain-property guidance, and sitemap_url is defined as the full sitemap URL to delete. This adds substantial meaning beyond the bare schema titles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Delete (unsubmit) a sitemap from Google Search Console,' which names the exact operation and resource. This clearly distinguishes it from sibling tools like submit_sitemap or delete_site.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It does not explicitly name alternatives, but it gives concrete usage context: site_url must be an exact GSC property from list_properties, and it explains when to use a domain property versus a URL property. This is clear contextual guidance, though exclusions such as preferring manage_sitemaps for bulk operations are absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_advanced_search_analyticsA
Get advanced search analytics data with sorting, filtering, and pagination.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
start_date: Start date in YYYY-MM-DD format (defaults to 28 days ago)
end_date: End date in YYYY-MM-DD format (defaults to today)
dimensions: Dimensions to group by, comma-separated (e.g., "query,page,device")
search_type: Type of search results (WEB, IMAGE, VIDEO, NEWS, DISCOVER)
row_limit: Maximum number of rows to return (max 25000)
start_row: Starting row for pagination
sort_by: Metric to sort by (clicks, impressions, ctr, position)
sort_direction: Sort direction (ascending or descending)
filter_dimension: Single filter dimension (query, page, country, device). Use 'filters' instead for multiple filters.
filter_operator: Single filter operator (contains, equals, notContains, notEquals)
filter_expression: Single filter expression value
filters: JSON array of filter objects for AND logic across multiple dimensions. Overrides
filter_dimension/filter_operator/filter_expression when provided. Each object must
have 'dimension', 'operator', and 'expression' keys. Valid dimensions: query, page,
country, device. Valid operators: contains, equals, notContains, notEquals.
Example: [{"dimension":"country","operator":"equals","expression":"usa"},
{"dimension":"device","operator":"equals","expression":"MOBILE"}]
data_state: Data freshness — "all" (default, matches GSC dashboard) or "final" (confirmed data only, 2-3 day lag)
| Name | Required | Description | Default |
|---|---|---|---|
| filters | No | ||
| sort_by | No | clicks | |
| end_date | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| start_row | No | ||
| data_state | No | ||
| dimensions | No | query | |
| start_date | No | ||
| search_type | No | WEB | |
| sort_direction | No | descending | |
| filter_operator | No | contains | |
| filter_dimension | No | ||
| filter_expression | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses default date ranges, filter override behavior, row_limit maximum, pagination via start_row, and the difference between 'all' and 'final' data states. It does not explicitly state read-only behavior, but 'Get' and the analytics context make that reasonably clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a compact Args-style block with each parameter on its own line and the core purpose front-loaded. It is long due to 14 parameters, but each line provides necessary detail without fluff. The JSON filter example is the only slightly verbose part, yet it earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no annotations and no enum constraints, this description provides all necessary invocation details: exact formats, defaults, constraints, pagination semantics, and data freshness behavior. An output schema exists, so the description does not need to explain return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by documenting every parameter with formats, defaults, valid values, and relationships. The filters parameter even includes a JSON example and explains that it overrides the single-filter parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: 'Get advanced search analytics data with sorting, filtering, and pagination.' This clearly distinguishes it from the simpler sibling get_search_analytics and states exactly what the tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It offers concrete usage context, such as requiring site_url to be an exact property from list_properties, explaining domain-property/subdomain analysis, and describing data_state freshness trade-offs. It does not explicitly contrast with get_search_analytics, but the advanced capabilities and parameter guidance make the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_capabilitiesA
Get a full list of all available tools, current auth status, and how to get started. ALWAYS call this first when asked what tools are available, what this server can do, or how to get started. Returns all tool names grouped by category in a single call — faster than searching individually. Also shows if authentication is needed.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden. It discloses return behavior (tool names grouped by category), efficiency (single call is faster), and that it indicates authentication needs. This is solid though not exhaustive; it does not explicitly state that the call is read-only or describe failure modes, but for a capability-discovery tool the provided detail is sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and usage instruction, then supplies behavioral detail. It is compact, but 'current auth status' in the first sentence and 'Also shows if authentication is needed' later are mildly redundant, preventing a perfect conciseness score.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter discovery tool with an output schema, the description covers invocation triggers, return grouping, auth-status behavior, and where to start. Nothing essential is missing for an agent to select and call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters and schema coverage is 100%, so the schema already fully documents the input surface. The baseline for zero-parameter tools is 4; the description adds no parameter detail because none is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb-resource pair ('Get a full list of all available tools') and adds auth status and getting-started guidance. It clearly differentiates from domain-specific siblings like get_site_details or submit_sitemap by defining its scope as server-wide discovery.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides an explicit trigger condition: 'ALWAYS call this first when asked what tools are available, what this server can do, or how to get started.' It also gives a rationale (single call vs individual searching), which helps the agent decide when to invoke it instead of alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_creator_infoA
Provides information about Amin Foroutan, the creator of the MCP-GSC tool.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full transparency burden. 'Provides information' implies a safe, read-only operation with no side effects, which is the key behavioral trait an agent needs. It does not elaborate on response shape or potential errors, but for a zero-parameter informational tool the stated behavior is largely sufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no filler or repetition. It communicates exactly what the tool does and who it is about without wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given that the tool takes no parameters and an output schema exists, the description provides all the context needed for safe invocation. An agent can confidently call this tool when creator information is requested, and the output schema covers return-value specifics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so description-level parameter guidance is not needed. The empty schema already makes this clear, and the description adds no unnecessary parameter-related content.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies a concrete verb and resource: it provides information about Amin Foroutan, the creator of the MCP-GSC tool. This clearly differentiates the tool from all siblings, which focus on sites, analytics, sitemaps, and other operational concerns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when-to-use or alternative guidance is provided. However, the intended usage is reasonably implied: an agent should call this tool when asked about the creator of MCP-GSC. It does not mislead, but it also does not formally contrast with other informational tools like get_capabilities.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_performance_overviewA
Get a performance overview for a specific property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
days: Number of days to look back (default: 28)
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. 'Get a performance overview' implies a read-only operation, and the description adds detail about domain property coverage. However, it does not mention what the overview contains, whether it requires special permissions, or what the response shape is; the output schema helps but is not described here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by a concise parameter explanation. Every sentence contributes useful information and there is no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only overview tool with a simple two-parameter schema and an output schema available, the description is largely sufficient. It covers parameter semantics and usage context well. The only notable gap is that 'performance overview' is not defined, so the agent must rely on the output schema or tool name to infer metrics like clicks, impressions, CTR, or position.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate. It explains that site_url should be an exact GSC property URL from list_properties, gives concrete examples, clarifies that domain properties cover all subdomains, and explains how to analyze a specific subdomain. It also gives the meaning and default of days. This fully covers both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get a performance overview for a specific property.' It is not as specific as sibling names like get_search_analytics or get_advanced_search_analytics, but it is not a tautology and gives the agent a reasonable idea of the operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides useful context on how to supply site_url, including the distinction between URL-prefix and domain properties and how to handle subdomains. However, it does not explicitly say when to use this tool versus alternatives like get_search_analytics, get_advanced_search_analytics, or compare_search_periods.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_search_analyticsA
Get search analytics data for a specific property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
days: Number of days to look back (default: 28)
dimensions: Dimensions to group by (default: query). Options: query, page, device, country, date
You can provide multiple dimensions separated by comma (e.g., "query,page")
row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| site_url | Yes | ||
| row_limit | No | ||
| dimensions | No | query |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It covers defaults, the 500-row cap, allowed dimensions, comma-separated multi-dimensions, and the subdomain behavior of domain properties. It stops short of mentioning authorization or rate limits, but since this is a read-only analytics query, the most important behavioral constraints are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded with a one-sentence summary followed by a compact, scannable Args list. Each line adds meaningful guidance: defaults, options, max limits, and a pointer to the paginated sibling. No filler or redundancy is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description is complete for an agent to call this tool correctly: all parameters are explained, defaults are given, the 500-row boundary is explicit, and the paginated alternative is identified. An output schema exists, so documenting return values is unnecessary here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully document the parameters—and it does. It explains site_url with exact GSC formats and subdomain filtering, days with a default, dimensions with allowed options and comma-separated examples, and row_limit with defaults, maximum, and suggested ranges. This exceeds what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence clearly states the action and resource: 'Get search analytics data for a specific property.' It also distinguishes itself from get_advanced_search_analytics by noting that the advanced tool supports pagination for bulk exports, which prevents an agent from selecting the wrong sibling by mistake.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives practical guidance for every parameter and explicitly states when to use an alternative: 'For bulk exports beyond 500 rows, use get_advanced_search_analytics which supports pagination.' It also explains how to choose site_url and row_limit ranges, giving an agent clear conditions for using this tool correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_search_by_page_queryA
Get search analytics data for a specific page, broken down by query.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
page_url: The specific page URL to analyze
days: Number of days to look back (default: 28)
row_limit: Number of rows to return (default: 20, max: 500). Use 5-20 for quick overviews,
50-200 for deeper analysis, up to 500 for comprehensive reports. For bulk exports
beyond 500 rows, use get_advanced_search_analytics which supports pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| days | No | ||
| page_url | Yes | ||
| site_url | Yes | ||
| row_limit | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden. It clearly implies a read-only analytics operation and transparently discloses the 500-row limit with a pagination alternative. However, it does not mention potential rate limits, exact-match requirements, or behavior when no data exists for a page, which would be useful completeness.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is efficiently structured as a one-line purpose followed by an Args list. Every sentence adds value: parameter explanations, defaults, usage intervals, and a sibling reference. There is no filler or repetition of schema data.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity and the existence of an output schema, the description covers all necessary invocation context: required parameters, optional parameters with defaults, max limit, usage guidance, and a pointer to an alternative for larger exports. It is fully sufficient for an agent to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description fully compensates by explaining every parameter in depth: site_url with property URL formats and domain-property nuance, page_url as a specific page, days with default, and row_limit with practical ranges and a hard max. This goes far beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get search analytics data for a specific page, broken down by query,' which names a specific verb, resource, and scope. This clearly distinguishes it from sibling tools like get_search_analytics and get_advanced_search_analytics without needing to inspect their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit guidance on when to use this tool vs alternatives: it advises using the domain property as site_url and filtering by page for subdomain analysis, and it directs users to get_advanced_search_analytics for bulk exports beyond 500 rows. The row_limit usage ranges also give situational recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_detailsA
Get detailed information about a specific Search Console property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. 'Get' implies a read-only operation, and the domain-property guidance adds useful behavior context, but it does not disclose authentication requirements, potential errors, or side-effect guarantees.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded: a clear lead sentence immediately followed by focused parameter guidance. There is no filler or repetition of schema information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only one parameter, an output schema, and no nested objects, the description covers the essential invocation details. It could be slightly more complete with explicit when-to-use guidance, but the provided context is sufficient for a straightforward getter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, but the description fully compensates for the single parameter by explaining the exact URL format, giving examples, and clarifying how domain properties behave. This is exactly the kind of guidance an agent needs to supply a correct site_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the operation: 'Get detailed information about a specific Search Console property.' It identifies the resource and uses a specific verb, though it does not explicitly differentiate itself from sibling tools like get_capabilities or get_sitemaps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides clear context by instructing that site_url must come from list_properties and explains how to handle domain properties ('use the domain property as site_url and filter by page'). However, it does not explicitly state when to prefer this tool over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemap_detailsA
Get detailed information about a specific sitemap.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to inspect
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are present, so the description carries the full burden of behavioral disclosure. It only says 'detailed information' and gives parameter guidance, but does not disclose response behavior, permissions, error cases, or any side effects. For a read-only inspection tool this is a notable gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, followed by concise, useful parameter explanations. Every sentence adds meaningful guidance, and there is no filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values do not need explanation. The description covers both required parameters well and gives practical context about domain properties. The only missing piece is explicit guidance on when to use this tool versus sibling sitemap tools, which would make it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate, and it does thoroughly. It explains that site_url must be an exact GSC property URL from list_properties, gives concrete examples for URL-prefix and domain properties, and clarifies subdomain coverage. sitemap_url is defined as the full URL of the sitemap, which is sufficient.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a clear verb and resource: 'Get detailed information about a specific sitemap.' It is differentiated from sibling list tools by emphasizing a specific sitemap, though it does not explicitly name alternatives like get_sitemaps or list_sitemaps_enhanced.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear contextual guidance on choosing site_url, including that domain properties cover all subdomains and how to analyze a specific subdomain by filtering by page. It does not explicitly say when to prefer this tool over sibling sitemap tools, so it stops short of a full when/when-not explanation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapsA
List all sitemaps for a specific Search Console property.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral disclosure burden. It adds the useful nuance that domain properties cover all subdomains, but it does not mention pagination, limits, response format, or explicitly confirm read-only behavior. 'List' implies a read operation, but that is not enough for full transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with a clear one-sentence purpose followed by a tight parameter note. The domain-property caveat is valuable and there is no filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-required-parameter tool with an output schema, the description thoroughly explains the only parameter and how to obtain it. It does not explicitly route the agent to list_sitemaps_enhanced when richer sitemap data is needed, but that is a differentiation gap rather than a correctness gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 0% description coverage, but the description compensates well. It explains that site_url must be an exact GSC property URL, gives concrete examples including sc-domain:example.com, and explains how domain properties cover subdomains. This adds substantial meaning beyond the bare schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and object: 'List all sitemaps for a specific Search Console property.' It clearly identifies what the tool does and its scope, but it does not explicitly distinguish itself from sibling tools like list_sitemaps_enhanced or get_sitemap_details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives a concrete prerequisite (use site_url from list_properties) and explains property URL formats, but it never states when to prefer this tool over list_sitemaps_enhanced or get_sitemap_details. Usage context is implied by the simple listing action rather than explicitly contrasted with alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_url_enhancedB
Enhanced URL inspection to check indexing status and rich results in Google.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
page_url: The specific URL to inspect
| Name | Required | Description | Default |
|---|---|---|---|
| page_url | Yes | ||
| site_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of disclosing behavior. It mentions checking indexing status and rich results but does not describe side effects, permission requirements, rate limits, or what happens when a URL is not indexed or the property is invalid. The domain-property note is useful but is parameter behavior, not overall tool behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, front-loaded with the tool's purpose, and keeps parameter documentation in a clean list. The domain-property explanation is useful and not redundant, though 'Enhanced' adds little meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter tool with an output schema, the description is largely adequate and covers the key inputs well. It lacks guidance on choosing this tool over sibling alternatives and does not mention potential errors or edge cases related to URL inspection, making it only moderately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It does so well for site_url by providing exact property format, examples, and domain-property behavior. page_url receives only a minimal definition ('The specific URL to inspect'), which is clear but less rich than site_url.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific action (inspect a URL) and resource (Google Search Console URL), with the purpose of checking indexing status and rich results. It is clear, though it does not explicitly differentiate itself from sibling tools like batch_url_inspection or check_indexing_issues.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides helpful usage context, such as getting the exact site_url from list_properties and guidance for using domain properties with subdomain filtering. However, it does not state when to prefer this tool over alternatives like batch_url_inspection or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_propertiesA
List all Google Search Console (GSC) properties and sites the user has access to.
Use this to see all verified sites, domain properties, and URL-prefix properties
in the connected Google Search Console account. Always call this first to get the
exact site_url needed for other tools.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. It reveals the operation is a read-only list of everything the user can access, enumerates property types ('verified sites, domain properties, and URL-prefix properties'), and references the 'connected Google Search Console account,' implying the read scope. It could mention pagination or rate limits, but for a list tool the transparency is strong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences with no wasted words. The purpose verb is front-loaded, the scope is specified next, and the usage directive closes it. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema defined, the description is complete: it names what the tool lists, when to call it, and what to extract from it (site_url). No additional detail is needed for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has zero parameters, so the baseline is 4. The description adds no parameter-specific meaning since none exist, but it does clarify the output context (site_url needed for other tools), which is relevant even though not a parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'List all Google Search Console (GSC) properties and sites the user has access to.' It clearly distinguishes itself from siblings like get_site_details by emphasizing 'all' and 'Always call this first,' positioning it as the discovery entry point.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage context: 'Always call this first to get the exact site_url needed for other tools.' It does not mention when not to use it or name alternatives, but for a top-level list operation this is clear and sufficiently directive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitemaps_enhancedA
List all sitemaps for a specific Search Console property with detailed information.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_index: Optional sitemap index URL to list child sitemaps
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears the burden of behavioral disclosure. It does add meaningful behavioral context: domain properties cover all subdomains, and sitemap_index lists child sitemaps. It does not mention auth requirements, rate limits, or explicitly confirm that the operation is read-only, though 'List' suggests it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured and reasonably concise, front-loading the purpose and then providing an Args section. Every sentence adds signal, though 'with detailed information' is somewhat vague and could be omitted without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's moderate complexity, the output schema is available, and both parameters are clearly documented, the description is largely complete. The main gap is the lack of explicit guidance on when to use this tool instead of the overlapping get_sitemaps or get_sitemap_details siblings.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must fully compensate for parameter meaning. It does: site_url is explained with exact formatting examples and linkage to list_properties, including domain-property nuance, and sitemap_index is described as an optional sitemap index URL for listing child sitemaps. This is strong, complete parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: 'List all sitemaps for a specific Search Console property with detailed information.' This clearly conveys what the tool does. However, it does not explicitly distinguish itself from the sibling get_sitemaps or get_sitemap_details tools beyond the word 'enhanced' and 'detailed information.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives useful usage context for the site_url parameter, instructing users to use an exact GSC property URL from list_properties and explaining how domain properties behave. It does not, however, say when to choose this tool over siblings like get_sitemaps or get_sitemap_details, so tool-selection guidance is only implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
manage_sitemapsA
All-in-one tool to manage sitemaps (list, get details, submit, delete).
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
action: The action to perform (list, details, submit, delete)
sitemap_url: The full URL of the sitemap (required for details, submit, delete)
sitemap_index: Optional sitemap index URL for listing child sitemaps (only used with 'list' action)
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | ||
| site_url | Yes | ||
| sitemap_url | No | ||
| sitemap_index | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden for disclosing side effects and requirements. It mentions actions like delete and submit, which imply mutations, but does not state whether delete is irreversible, whether submit requires existing verification, or any rate-limit/auth context. This is a significant gap for a management tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact: a one-line purpose followed by a clear, line-per-parameter Args section. Every sentence adds value, and the most important scoping information (site_url source) is placed early.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The output schema covers return shape, and the Args section covers parameters well. However, the description lacks guidance on how this umbrella tool relates to the specialized sitemap siblings and does not mention failure/error behavior, so an agent is left to infer when to prefer it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The Args section compensates for 0% schema coverage by detailing each parameter: site_url must be an exact GSC property URL from list_properties, action has four allowed values, sitemap_url is required for details/submit/delete, and sitemap_index is optional and only used with the list action. It even gives an example for site_url. This fully explains the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states it is an 'All-in-one tool to manage sitemaps' and explicitly lists the covered actions: list, get details, submit, delete. This is a clear verb+resource statement, though it does not mention the sibling specialized tools (e.g., get_sitemaps, delete_sitemap) or how it differs from them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies broad use for all sitemap operations but offers no explicit guidance on when to choose this tool over the many sibling tools like list_sitemaps_enhanced or submit_sitemap. It does provide some parameter-level guidance (e.g., using the domain property from list_properties and filtering by page for subdomains), but that pertains to arguments, not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
reauthenticateA
Perform a logout and new login sequence. Deletes the current OAuth token file and triggers the browser authentication flow. Useful when you need to switch to a different Google account.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden and discloses a destructive side effect: 'Deletes the current OAuth token file.' It also explains the resulting auth flow, so an agent understands this is a state-changing, interactive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences with no filler. The core action comes first, the mechanism second, and the use case last. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter tool with an output schema, the description fully covers what the tool does, the important destructive behavior, and the scenario where it is needed. Nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema is empty with 0 parameters, so parameter semantics are not applicable. Per the 0-parameter baseline, the description does not need to add parameter-level detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific action ('Perform a logout and new login sequence') and the resource affected (OAuth token file, browser authentication flow). It directly distinguishes itself from sibling tools, which are all Search Console data/site operations, by making clear this is an authentication restart tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly identifies when to use it: 'when you need to switch to a different Google account.' It doesn't discuss when not to use it or list alternatives, but the intended context is clear and the tool is unique among siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_sitemapA
Submit a new sitemap or resubmit an existing one to Google.
Args:
site_url: Exact GSC property URL from list_properties (e.g. "https://example.com/" or
"sc-domain:example.com"). Domain properties cover all subdomains — use the
domain property as site_url and filter by page to analyze a specific subdomain.
sitemap_url: The full URL of the sitemap to submit
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| sitemap_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It states the action but does not mention side effects, whether resubmission replaces existing sitemaps, permissions required, rate limits, or async validation behavior. This is a mutation tool, so those gaps are meaningful.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is compact and front-loaded with the core purpose, then uses an Args section to add parameter guidance without redundancy. Every sentence provides actionable information, and there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with an output schema, the description covers the main action and both parameters thoroughly. It lacks explicit behavioral context like side effects or permissions, but the presence of an output schema reduces the need to explain return values, so the overall package is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description fully compensates. It details that site_url must be an exact GSC property URL from list_properties, provides concrete examples including sc-domain format, and explains domain-property behavior. sitemap_url is also clarified as the full URL.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Submit') and resource ('sitemap') with a clear target ('to Google'), and the distinction between new and existing submissions is explicit. This clearly differentiates the tool from the get/list/delete sitemap siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies this is the tool for both initial submission and resubmission, and it gives domain-vs-subdomain usage guidance for site_url. It does not explicitly mention when not to use it or compare with siblings like manage_sitemaps or delete_sitemap, but the context is otherwise clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
21 tool updates
v0.3.3- First observed
add_site - First observed
batch_url_inspection - First observed
check_indexing_issues - First observed
compare_search_periods - First observed
delete_site - First observed
delete_sitemap - First observed
get_advanced_search_analytics - First observed
get_capabilities - First observed
get_creator_info - First observed
get_performance_overview - First observed
get_search_analytics - First observed
get_search_by_page_query - First observed
get_site_details - First observed
get_sitemap_details - First observed
get_sitemaps - First observed
inspect_url_enhanced - First observed
list_properties - First observed
list_sitemaps_enhanced - First observed
manage_sitemaps - First observed
reauthenticate - First observed
submit_sitemap
TDQS
Scored across 21 tools
Multiple tools have heavily overlapping purposes: get_sitemaps, list_sitemaps_enhanced, get_sitemap_details, and manage_sitemaps all cover sitemap listing/details, while get_search_analytics, get_advanced_search_analytics, get_performance_overview, and compare_search_periods all provide overlapping analytics views. This makes it genuinely ambiguous which tool an agent should select for a given task.
Most tool names use snake_case and a verb_noun pattern, but the set mixes get_ and list_ for similar operations (get_sitemaps vs list_sitemaps_enhanced) and uses inconsistent patterns like inspect_url_enhanced vs batch_url_inspection. The naming is readable but not predictable enough to guide tool selection.
At 21 tools, the server is on the heavy side for a single-domain MCP server. Many tools are justified by GSC's broad feature set, but redundant sitemap and analytics tools inflate the count beyond what is necessary. The set could be trimmed to roughly 12-15 tools without losing real capability.
The tool surface covers property management, search analytics, sitemap lifecycle, URL inspection, indexing checks, and authentication—covering most major Search Console workflows. Minor gaps exist, such as no direct URL indexing submission or property update operation, but agents can generally work around them.
Maintenance
Related MCP Connectors
Google Search Console for AI assistants: traffic, rankings, indexing and page checks. Read-only.
Read-only Google Search Console and Google Analytics for AI agents.
Google Search Console in your AI: overview, opportunities, index gaps, page checks, long history.
Google Search Console, GA4 and Bing Webmaster data for SEO and AI-search work. 20 read-only tools.
Related MCP Servers
- AlicenseAqualityDmaintenanceConnects AI assistants to Google Search Console data for SEO analysis, including search analytics, URL inspection, sitemaps, indexing, and opportunity detection.17MIT
- AlicenseAqualityDmaintenanceConnects Google Search Console to AI assistants, enabling natural language analysis of SEO data. Provides read-only tools for properties, search analytics, URL inspection, and sitemaps.15MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to query and manage Google Search Console data, including search analytics, URL indexing status, and sitemap management, for SEO and LLMO analysis directly from a conversation.1510,275 npmMIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to access Google Search Console search performance and index health data, including clicks, impressions, rankings, URL inspection, and sitemap management.16 npmMIT