seo-webmaster-mcp
Provides tools for querying search performance data (clicks, impressions, CTR, position) from Google Search Console, inspecting URL indexing status, and managing sitemaps.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@seo-webmaster-mcpWhat were my top 10 Google queries last week for example.com?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
SEO & Webmaster MCP Server
A unified Model Context Protocol (MCP) server providing AI assistants (Claude Desktop, Claude Code, Cursor, Windsurf, Cline, Zed, etc.) with comprehensive, read-only search performance data and instant indexing across Google Search Console, Bing Webmaster Tools, and IndexNow.
Why SEO Webmaster MCP?
Most search console tools are single-engine only. SEO Webmaster MCP unifies your search presence under a provider architecture:
π Cross-Engine Search Visibility β Query organic performance (clicks, impressions, CTR, position) across Google and Bing with unified dimension breakdowns.
β‘ Instant Indexing via IndexNow β Instantly notify Bing, Yandex, Seznam, and Naver whenever URLs are published, updated, or removed.
π In-Depth URL Inspection β Check real-time indexing status, crawl info, canonical URL tags, mobile usability issues, and rich results schema validation.
πΊοΈ Sitemap Health Monitoring β Track sitemaps submitted across engines, check last crawl dates, and monitor indexed vs. submitted URLs.
π‘οΈ Safe & Extensible β Read-only search analytics scopes protect your properties from unintended changes, while IndexNow handles fast discovery.
Related MCP server: mcp-server-gsc
Available Tools
Tool | Description |
| Check the connection and configuration status of Google, Bing, and IndexNow providers with actionable setup guides. |
| List verified properties across Google Search Console and Bing Webmaster Tools with user roles/permissions. |
| Query clicks, impressions, CTR, and average position grouped by queries, pages, countries, devices, and dates. |
| Inspect a URL for live indexing status, crawl timestamp, canonical checks, mobile usability, and schema markup. |
| List submitted sitemaps, error/warning counts, and submitted vs indexed URL counts. |
| Retrieve deep indexing statistics for a specific sitemap feed. |
| Instantly submit up to 10,000 URLs to Bing and partner engines using the IndexNow protocol. |
1. engine_status
No parameters required.
2. list_sites
Parameter | Type | Required | Description |
| string | No | Filter by engine: |
3. search_analytics
Parameter | Type | Required | Description |
| string | Yes | Site URL as verified in Search Console (e.g. |
| string | Yes | Start date in |
| string | Yes | End date in |
| string | No | Provider: |
| string | No | Comma-separated: |
| number | No | Max rows to return (default: |
| string | No | Vertical: |
| string | No |
|
| string | No | Filter queries: |
| string | No | Filter page URLs: |
| string | No | ISO 3166-1 alpha-3 code (e.g. |
| string | No |
|
| number | No | Pagination row offset (default: |
4. inspect_url
Parameter | Type | Required | Description |
| string | Yes | Site URL as verified in Search Console |
| string | Yes | Fully qualified URL to inspect |
| string | No |
|
| string | No | Language code for localized messages (e.g. |
5. list_sitemaps
Parameter | Type | Required | Description |
| string | Yes | Site URL as verified in Search Console |
| string | No |
|
6. get_sitemap
Parameter | Type | Required | Description |
| string | Yes | Site URL as verified in Search Console |
| string | Yes | Full URL or path to the sitemap feed |
| string | No |
|
7. submit_urls_indexnow
Parameter | Type | Required | Description |
| string | Yes | Domain name without protocol (e.g. |
| string | Yes | Comma-separated or newline-separated list of full URLs (or JSON array) |
| string | No | IndexNow key (optional if |
| string | No | Full URL to key file if hosted in custom location |
Authentication & Setup
You can configure any or all of the supported engines:
1. Google Search Console
In the Google Cloud Console, create a project (or select an existing one).
Go to APIs & Services β Library, search for Google Search Console API, and click Enable.
Go to APIs & Services β Credentials β Create Credentials β Service Account.
Give it a name (e.g.,
gsc-mcp-reader) and complete the creation.Click on the service account β Keys tab β Add Key β Create new key β JSON.
Save the downloaded JSON key file securely on your computer (e.g.,
~/.config/gcloud/gsc-key.json).Copy the service account's email address (e.g.
gsc-mcp-reader@project.iam.gserviceaccount.com).In Google Search Console, select your property β Settings β Users and permissions β Add user.
Paste the service account email and grant Restricted (or Full) permission.
2. Bing Webmaster Tools
Sign in to Bing Webmaster Tools and verify your site.
Click the Settings gear icon (top right) β API Access β API Key.
Generate an API Key and copy it.
Set
BING_WEBMASTER_API_KEYin your configuration.
3. IndexNow (Instant Submission)
Generate an IndexNow key (e.g. at Bing IndexNow).
Place a file named
<your-key>.txtcontaining only the key at your website root (https://example.com/<your-key>.txt).Set
INDEXNOW_KEYin your configuration.
Client Configurations
Claude Desktop
Edit your claude_desktop_config.json:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"seo-webmaster": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/seo-webmaster-mcp/build/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/gsc-key.json",
"BING_WEBMASTER_API_KEY": "your_bing_api_key",
"INDEXNOW_KEY": "your_indexnow_key"
}
}
}
}Claude Code CLI
Add to ~/.claude.json:
{
"mcpServers": {
"seo-webmaster": {
"type": "stdio",
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/seo-webmaster-mcp/build/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/gsc-key.json",
"BING_WEBMASTER_API_KEY": "your_bing_api_key",
"INDEXNOW_KEY": "your_indexnow_key"
}
}
}
}Cursor
Add to .cursor/mcp.json or Cursor Settings β Features β MCP Servers:
{
"mcpServers": {
"seo-webmaster": {
"command": "node",
"args": ["/ABSOLUTE/PATH/TO/seo-webmaster-mcp/build/index.js"],
"env": {
"GOOGLE_APPLICATION_CREDENTIALS": "/path/to/gsc-key.json",
"BING_WEBMASTER_API_KEY": "your_bing_api_key",
"INDEXNOW_KEY": "your_indexnow_key"
}
}
}
}Example Agent Prompts
Once connected, ask your AI assistant naturally:
"Check search engine provider status."
"List all my verified properties across Google and Bing."
"Show me top 25 queries on Google for my site over the last 28 days."
"Compare my top queries on Bing vs Google for https://example.com/."
"Find striking distance keywords (ranking 5β15 with high impressions) on Google."
"Inspect https://example.com/blog/my-article and check if there are any mobile or schema errors."
"Check all submitted sitemaps for my site and report indexing health."
"I just published 3 new blog posts. Submit them to IndexNow immediately."
Local Development
# Clone the repository
git clone https://github.com/itsaakashpatel/seo-webmaster-mcp.git
cd seo-webmaster-mcp
# Install dependencies
npm install
# Compile TypeScript
npm run build
# Watch mode during development
npm run devLicense
MIT Β© Aakash Patel
Available Tools
7 toolsengine_statusA
Check the configuration and connection status of all integrated search engine providers (Google Search Console, Bing Webmaster Tools, IndexNow).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. 'Check' clearly implies a read-only, non-destructive operation, and naming the specific status scope (configuration and connection) adds useful behavioral context. It does not detail output shape or failure behavior, but for a zero-parameter status tool this is adequate.
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. Every word adds meaning, naming the action, the resource, and the specific providers covered.
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 no parameters and no output schema, the description adequately covers what the tool does and which providers it inspects. It could mention expected return values or that it is non-mutating, but the scope and purpose are clear enough for an agent to select and 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 tool has zero parameters, so the description has no parameter semantics to add. Per the baseline for zero-parameter tools, this scores a 4; the description is not penalized for omitting parameter details that do not exist.
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 has a clear verb ('Check') and a specific resource ('configuration and connection status of all integrated search engine providers'), and it enumerates the providers. This clearly distinguishes it from siblings like list_sites or search_analytics, which operate on site data rather than provider connection health.
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 the tool is for diagnosing provider integration health, which is a distinct use case from the sibling tools. However, it does not explicitly state when to use this tool versus alternatives, nor does it mention any exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapB
Retrieve deep indexing and error metrics for a specific sitemap feed.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Search engine provider: 'google' or 'bing' (default: 'google') | |
| siteUrl | Yes | Site URL as verified in Search Console | |
| feedpath | Yes | Full URL or relative path to the sitemap (e.g. https://example.com/sitemap.xml) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the safety disclosure burden. 'Retrieve' implies a non-mutating read operation, which is useful, but the description does not disclose authentication requirements, rate limits, or what counts as an error metric. It is not misleading, but it is thin on behavioral detail.
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 sentence with no filler, repetition, or structural clutter. It front-loads the verb and object, making the tool's core purpose immediately scannable.
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?
There is no output schema, and the description does not compensate by explaining what 'deep indexing and error metrics' concretely include or how the response is shaped. Combined with absent annotations and no usage/alternative hints, the picture is incomplete for an agent that must interpret the returned metrics.
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 100%, so all three parameters already carry semantic descriptions in the schema. The tool description adds no additional parameter-level meaning beyond restating that the feed is a sitemap, so it does not go beyond the schema baseline.
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 action ('Retrieve') on a specific resource ('a specific sitemap feed') and names the output domain ('deep indexing and error metrics'). It can be distinguished from siblings like list_sitemaps by the focus on a single feed, but it does not explicitly name alternatives or state exclusions, so it stops short of full differentiation.
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 when-not-to-use guidance is provided. The phrase 'specific sitemap feed' hints at the intended scope, but the description never directs the agent to list_sitemaps for enumeration, inspect_url for individual URLs, or otherwise states trade-offs between sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_urlA
Inspect a URL in Google Search Console or Bing Webmaster Tools to check live indexing status, crawl info, canonical URLs, mobile usability, and rich results (schema validation).
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Search engine to inspect on: 'google' or 'bing' (default: 'google') | |
| siteUrl | Yes | Site URL as verified in Search Console (e.g. https://example.com/ or sc-domain:example.com) | |
| languageCode | No | Language code for issue messages (e.g. 'en-US') | |
| inspectionUrl | Yes | The fully qualified URL to inspect (must belong to the site property) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the responsibility for behavioral disclosure. It correctly implies a read-only inspection operation and clarifies results are live, but it omits operational details such as verification requirements, engine-specific limitations, rate limits, and the exact response shape.
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?
A single, front-loaded sentence communicates the action, platform scope, and intended checks without filler or repetition. The enumerated list is compact and scannable.
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 full parameter schema and the description's explicit list of output categories, an agent has enough context to select and invoke the tool correctly. The absence of an output schema is partially compensated by naming the checks, though a note on return format or required site verification 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 100%, so all four parameters are already documented in the schema. The description adds no new meaning to parameters like siteUrl or languageCode; it merely frames the high-level action. Baseline 3 applies since the schema does the heavy lifting.
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 ('Inspect') against a specific resource ('a URL'), names both target platforms, and enumerates concrete checks (indexing status, crawl info, canonical URLs, mobile usability, rich results). It is immediately distinguishable from siblings like search_analytics or list_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?
The 'to check ...' clause defines clear use cases: when an agent needs live indexing, crawl, canonical, mobile, or schema-validation data for a single URL. It does not explicitly state when not to use it or name alternatives, but the purpose sentence supplies enough context against sibling names.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitemapsA
List all submitted sitemaps and their current status, last download date, error counts, and indexed URL counts.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Search engine provider: 'google' or 'bing' (default: 'google') | |
| siteUrl | Yes | Site URL as verified in Search Console |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Because no annotations are provided, the description itself must carry behavioral disclosure. Its output-field list does add useful detail, and 'List' implies a read-only operation, but it does not state prerequisites (verified siteUrl), inclusion rules, or any caveats about error counts/status. This is adequate but not comprehensive.
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?
One sentence contains a clear action verb, resource, and a compact list of returned fields; no filler or repetition. It is appropriately front-loaded and easy to scan.
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 2-parameter read-only listing, the description conveys the core purpose and output fields, but with no output schema and no annotations it leaves routing and prerequisites implicit. The missing guidance around sibling tools and exact response shape keeps it from being 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 coverage is 100%; the schema already explains siteUrl as the verified Search Console site URL and documents engine as an enum with default 'google'. The description adds no semantic value beyond referencing submitted sitemaps, so the baseline of 3 is appropriate.
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 ('List all submitted sitemaps') and enumerates the exact fields returned (status, last download date, error counts, indexed URL counts), making its function unambiguous. The plural 'all' naturally contrasts with sibling get_sitemap, which implies a single-sitemap retrieval.
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 sentence tells an agent when to choose this tool over siblings such as get_sitemap or engine_status. The only use condition is implicit in the verb 'List'; there are no exclusions or alternative routing. This leaves selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitesA
List all verified sites (properties) across Google Search Console and Bing Webmaster Tools, along with permission levels.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Search engine to list properties for: 'google', 'bing', or 'all' (default: 'all') | all |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral burden. 'List' indicates a read-only, non-destructive operation, but the description does not mention authentication requirements, response format, pagination, or any side-effect guarantees. It is adequate for a simple list tool but not richly transparent.
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?
A single sentence that front-loads the core action and resource, then adds the permission-level output detail. Every word earns its place; no redundant filler or repetition of schema content.
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 one-parameter, no-output-schema list tool, the description covers the essential purpose and result content. It does not describe the exact return structure or pagination, but the tool is simple enough that this omission is a minor gap rather than a blocker.
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 single parameter 'engine' is fully described in the schema with an enum and default, so schema coverage is 100%. The description adds no additional parameter-specific meaning beyond naming the two platforms, which the enum already conveys. Baseline 3 is appropriate.
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 verb ('List') and resource ('verified sites/properties') across two named platforms, and includes the permission-level detail. This clearly distinguishes it from sibling tools like list_sitemaps or inspect_url.
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 conveys clear context: use this tool to get all verified sites across Google Search Console and Bing Webmaster Tools. It does not explicitly name alternatives or exclusion conditions, but the scope is unambiguous enough for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_analyticsA
Query search performance and analytics data (clicks, impressions, CTR, average position) across Google Search Console or Bing Webmaster Tools.
| Name | Required | Description | Default |
|---|---|---|---|
| engine | No | Search engine provider: 'google' or 'bing' (default: 'google') | |
| endDate | Yes | End date in YYYY-MM-DD format (e.g. 2026-08-28) | |
| siteUrl | Yes | Site URL exactly as verified in Search Console (e.g. https://example.com/ or sc-domain:example.com) | |
| rowLimit | No | Max rows to return (default 100, maximum 25000) | |
| startRow | No | Zero-based row offset for pagination | |
| dataState | No | Data freshness (Google): 'all' includes fresh (recent ~2 days) data, 'final' only finalized | all |
| startDate | Yes | Start date in YYYY-MM-DD format (e.g. 2026-08-01) | |
| dimensions | No | Comma-separated dimensions to group by: query, page, country, device, searchAppearance, date. Default: 'query' | |
| pageFilter | No | Filter page URLs: plain text (contains), 'exact:url', 'regex:pattern', or '!regex:pattern' | |
| searchType | No | Search vertical: web, image, video, news, discover, googleNews (default: web) | web |
| queryFilter | No | Filter queries: plain text (contains), 'exact:keyword', 'regex:pattern', or '!regex:pattern' | |
| deviceFilter | No | Filter by device: DESKTOP, MOBILE, or TABLET | |
| countryFilter | No | Filter by ISO 3166-1 alpha-3 country code (e.g. USA, GBR, IND, DEU) |
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 burden. The verb 'Query' conveys read-only intent, which is the key safety-relevant trait. However, it does not disclose provider-specific differences between GSC and Bing APIs, rate limits, or the aggregated/grouped nature of the result rows. Adequate but thin given zero annotation coverage.
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?
A single 23-word sentence that is front-loaded with the action and resource, names the returned metrics, and identifies both providers. There is no filler, and every phrase 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?
The tool is moderately complex β 13 parameters, two providers, no output schema, no annotations. The schema fully documents parameters and the description names the return metrics, but the description omits provider-specific caveats, result aggregation semantics, and usage boundaries. Sufficient for basic invocation with the three required parameters, but incomplete for nuanced calls.
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 100% with every parameter already documented (enums, defaults, date formats, filter syntax), so the baseline is 3. The description adds marginal value by naming the computed metrics, which conceptually maps to what the tool returns, but it contributes nothing about parameter syntax or constraints beyond the 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 uses a specific verb ('Query'), a specific resource ('search performance and analytics data'), enumerates the returned metrics (clicks, impressions, CTR, average position), and names both supported providers (Google Search Console, Bing Webmaster Tools). It is immediately distinguishable from siblings like inspect_url (URL-level data) or list_sitemaps (sitemap management) without needing to inspect 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 use case is implied by the resource it queries β aggregate search performance metrics across two engines β and the sibling names make the contrast obvious. However, the description never explicitly states when to use this tool over an alternative, nor does it mention exclusions or prerequisites, leaving the agent to infer routing from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
submit_urls_indexnowA
Instantly notify Bing, Yandex, Seznam, and other IndexNow search engines about added, updated, or deleted URLs on your website.
| Name | Required | Description | Default |
|---|---|---|---|
| key | No | IndexNow key (optional if INDEXNOW_KEY environment variable is set) | |
| host | Yes | The domain name of your site (e.g. 'example.com') without protocol | |
| urls | Yes | Comma-separated or newline-separated list of full URLs to submit (or JSON array of URLs) | |
| keyLocation | No | Optional full URL to the key file if not at site root |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It only states the core action and does not mention authentication key requirements, idempotency, rate limits, or expected response/error behavior, leaving a significant gap for a write 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?
A single, front-loaded sentence with no filler. The verb and target are immediate, and every word contributes to the 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?
With four parameters, no annotations, and no output schema, the description is minimal. It does not explain what happens after submission or any constraints like URL limits. However, the schema fully documents parameters, so an agent can still construct a valid request.
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 100%, so the schema already documents all four parameters. The description adds no extra meaning about key, host, urls, or keyLocation, so the baseline of 3 applies.
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 ('notify') and names the exact resources (Bing, Yandex, Seznam, and other IndexNow search engines) and the event types (added, updated, or deleted URLs). This clearly distinguishes it from read-oriented sibling tools like inspect_url or list_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?
The description implies a clear use case: after content changes, notify IndexNow engines. However, it does not explicitly state when not to use this tool or mention alternatives like submitting via sitemaps, though the context is clear enough for an agent to infer when it applies.
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.
7 tool updates
v1.0.0- First observed
engine_status - First observed
get_sitemap - First observed
inspect_url - First observed
list_sitemaps - First observed
list_sites - First observed
search_analytics - First observed
submit_urls_indexnow
TDQS
Scored across 7 tools
Each tool targets a distinct function: status, site listing, URL inspection, analytics, sitemap listing, sitemap details, and URL submission. The only slight overlap is list_sitemaps vs get_sitemap, but the descriptions clearly separate listing all sitemaps from retrieving deep metrics for one specific sitemap.
Tool names mostly follow a consistent verb_noun pattern: engine_status, list_sites, inspect_url, search_analytics, list_sitemaps, get_sitemap, submit_urls_indexnow. Minor inconsistency: engine_status and search_analytics use noun-ish names rather than a verb, but the pattern is still readable and predictable.
Seven tools is well-scoped for an SEO/webmaster server covering multiple search engines. Each tool covers a distinct core workflow: status, site management, URL inspection, analytics, sitemaps, and IndexNow submission.
The surface covers the main SEO webmaster workflows: verification status, site listing, URL inspection, analytics, sitemap management, and IndexNow submission. Minor gaps include lack of tools for adding/removing sites, submitting sitemaps, or managing crawl settings, but agents can still accomplish core monitoring and diagnostics.
Related MCP Connectors
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Google Search Console in your AI: overview, opportunities, index gaps, page checks, long history.
Turn Search Console data into SEO actions, content, publishing, indexing, and AI insights.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides AI agents with read-only access to Google Search Console data, including search analytics, index coverage, and sitemap status. It enables users to query clicks, impressions, and ranking performance or check URL indexing status through natural language.42 npm7MIT
- 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.152,390 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.10 npmMIT
- AlicenseAqualityCmaintenanceEnables AI assistants to analyze Google Search Console SEO data through natural language, including search analytics, URL inspection, sitemap management, and property management.21MIT