AskWatch Google Search Console MCP

Ask Google Search Console in plain language. Hosted, free, no Google Cloud project.

使うべきか

品質と安全性

A
説明の品質
98%
スキーマの完全性
87%
命名の品質
91%
ポイズニングのリスク
100%
権限の一致
100%
プロトコルへの準拠
100%

ツール定義とプロトコルへの準拠に関する自動分析に基づいています。

コンテキストコスト

~2,673トークン数(ツール定義)
~2.1 KB一般的なレスポンスサイズ
注意への影響は大きい(128k コンテキストの 2.09%)

これは、サーバーのツールがモデルのコンテキストに読み込まれるたびに消費されるおおよそのトークン数です。数が多いほど、ほかのタスクに使える注意が減ります。

インストール

ワンクリックインストール

これを `claude_desktop_config.json` ファイルに追加してください:

{
  "mcpServers": {
    "gsc": {
      "url": "https://mcp.askwatch.ai/gsc"
    }
  }
}

リモートエンドポイント

https://mcp.askwatch.ai/gscstreamable-http

できること

ツール一覧

ツール(11)

🟢 読み取り専用🟡 書き込み🔴 削除⚪ 不明
🟢site_overview(site, days, start_date, end_date)

How the site did over a period compared with the one before it: clicks, impressions, CTR, average position and the change in each. Covers the question 'how is my site doing'.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢top(site, dimension, country, device, order_by, ...)

Top queries, pages, countries or devices for a period. Optionally narrowed to one country or device — 'top pages in Germany on mobile' is one call.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "dimension": {
      "type": "string",
      "enum": [
        "query",
        "page",
        "country",
        "device"
      ],
      "description": "What to group by. Default query."
    },
    "country": {
      "type": "string",
      "description": "ISO-3166-1 alpha-3, e.g. deu, usa. Filters rather than groups."
    },
    "device": {
      "type": "string",
      "enum": [
        "desktop",
        "mobile",
        "tablet"
      ]
    },
    "order_by": {
      "type": "string",
      "enum": [
        "clicks",
        "impressions"
      ],
      "description": "Default clicks."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢changes(site, dimension, min_impressions, limit, days, ...)

What gained and what lost between this period and the one before it, with small rows filtered out. Answers 'what dropped in the last 28 days'.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "dimension": {
      "type": "string",
      "enum": [
        "query",
        "page"
      ],
      "description": "Default query."
    },
    "min_impressions": {
      "type": "integer",
      "minimum": 0,
      "description": "Noise floor. Default 30 in either window."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_opportunities(site, min_impressions, limit, days, start_date, ...)

Queries ranking 5-20 with plenty of impressions but a click-through rate below what is typical at their position — where a title or snippet rewrite is worth the most clicks.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "min_impressions": {
      "type": "integer",
      "minimum": 0,
      "description": "Default 60."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢find_cannibalization(site, min_impressions, limit, days, start_date, ...)

Queries where more than one page of the site is being shown, with how each page does on them.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "min_impressions": {
      "type": "integer",
      "minimum": 0,
      "description": "Per page. Default 30."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢page_queries(site, page, match, limit, days, ...)

What searches a specific page is shown for.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "page": {
      "type": "string",
      "description": "Full URL of the page."
    },
    "match": {
      "type": "string",
      "enum": [
        "equals",
        "contains"
      ],
      "description": "Default equals."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "required": [
    "page"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢brand_split(site, brand_terms, days, start_date, end_date)

Branded versus non-branded search, split on the words supplied. The split is only as good as those terms: misspellings and the domain name catch more of what people type.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "brand_terms": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Words that make a search branded, e.g. ['askwatch', 'ask watch']."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "required": [
    "brand_terms"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢query(site, dimensions, filters, limit, start_row, ...)

Direct query against Google's Search Analytics API, with the same dates, dimensions and filters it takes, passed through unchanged.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "dimensions": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "query",
          "page",
          "country",
          "device",
          "date"
        ]
      },
      "description": "Group by these. Omit for totals."
    },
    "filters": {
      "type": "array",
      "items": {},
      "description": "Google's dimensionFilterGroups, passed through unchanged."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "description": "Rows to return. Default 25, maximum 100; `has_more` says whether there were more."
    },
    "start_row": {
      "type": "integer",
      "minimum": 0,
      "description": "Paging offset; `next_start_row` comes back in the answer."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 480,
      "description": "Length of the window, counted back from the last day with data. Default 28."
    },
    "start_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Overrides `days`."
    },
    "end_date": {
      "type": "string",
      "description": "YYYY-MM-DD. Defaults to the last day with data."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_sites

Search Console properties this connection can read, from Google's Sites API. These are the exact strings the site argument takes.

入力スキーマ

{
  "type": "object",
  "properties": {},
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢inspect_url(site, url)

Google's index status for one URL, as the URL Inspection API reports it: whether it is indexed, when it was last crawled, and which canonical Google chose.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    },
    "url": {
      "type": "string",
      "description": "The exact URL to inspect."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
🟢list_sitemaps(site)

Sitemaps submitted for the property and their status, from Google's Sitemaps API. Read-only: submitting is not possible with read access.

入力スキーマ

{
  "type": "object",
  "properties": {
    "site": {
      "type": "string",
      "description": "Search Console property, exactly as list_sites reports it (sc-domain:example.com or https://example.com/). Optional when the account has only one property."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

コミュニティ

このサーバーを評価する

エビデンス

最近の観測

検証済みバージョンは記録されていませんツール 11 件
検証済みバージョンは記録されていませんツール 11 件