Bing Webmaster Tools MCP Server
Click on "Install 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., "@Bing Webmaster Tools MCP Servershow my top search queries from last month"
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.
Bing Webmaster Tools MCP Server
An MCP (Model Context Protocol) server that provides access to Bing Webmaster Tools functionality through Claude and other MCP-compatible AI assistants.
This is a hardened fork of isiahw1/mcp-server-bing-webmaster (MIT License, copyright (c) 2025 Isiah Wheeler — see LICENSE), maintained by Synectus for internal agency use across multiple client Bing Webmaster accounts. All credit for the original implementation and the full BWT API surface goes to the upstream author; this fork adds the production-hardening described below on top of it.
Changes from upstream
The upstream server runs over stdio only, with all 60 tools always registered against a single global API key and no access controls. This fork adds:
Read-only by default (
BWT_READ_ONLY, defaultstrue). The 26 tools that mutate state on Bing's side (submit_url,add_site,remove_sitemap, crawl settings, site roles, etc.) simply don't register as MCP tools under the default — an agent can't see or attempt to call a tool it can't use. SetBWT_READ_ONLY=falseto register all 60.Site allowlist (
BWT_ALLOWED_SITES), enforced centrally in the API client before any HTTP call reaches Bing, not per-tool. Asite_url-shaped argument for a site outside the allowlist raises immediately, on both read and write tools.Streamable HTTP transport alongside the original stdio, selected by
MCP_TRANSPORT=stdio|http. HTTP binds0.0.0.0:$PORT(default8080) and exposesGET /health(200, unauthenticated) for hosting platforms.Bearer auth with per-tenant API key routing for HTTP. A single
MCP_AUTH_TOKENcovers the simple case (one deployment, one Bing account).BWT_TENANTScovers this agency's actual shape — one shared deployment serving multiple client sites, several under different Bing Webmaster accounts — by mapping each client's own bearer token to its own API key and site allowlist. The key is bound to the authenticated connection, not looked up per tool call, because tools likeget_sites(no site argument) andadd_site(the site isn't in any map yet — it's being created) have no site to route a lookup on.Production Docker image:
python:3.13-slim, uv-based build, non-root user. Replaces the previousmcp-proxy/Glama.ai scaffolding, which cloned from GitHub at build time instead of using the local tree.Renamed package (
synectus-bing-webmaster-mcpon PyPI-style naming,@synectus/bing-webmaster-mcpfor npm), version reset to0.1.0to mark this as a new release line separate from upstream's versioning.
None of this changes what the 60 tools do against the Bing Webmaster API — only what's registered, what's reachable, and how the server is deployed.
Related MCP server: Google Search Console MCP Server
Installation
Prerequisites
Python 3.10+ (python.org)
uv for local/dev use, or Docker for hosted deployment
A Bing Webmaster API key (Settings → API Access) — one per Bing Webmaster account you intend to expose
Local development install
git clone <this-repo-url>
cd bing-webmaster-mcp
uv syncThis resolves against the pins in pyproject.toml (notably mcp[cli]>=1.10.0,<2.0.0 — the mcp SDK's 2.x line renamed FastMCP and removed the module this server is built on, so don't lift that upper bound without adapting the code). No uv.lock is committed; uv sync resolves fresh each time.
npm package
This fork is not yet published to npm under @synectus/bing-webmaster-mcp — package.json and the version-sync tooling are in place, but publishing is a separate decision (the existing .github/workflows/publish.yml still targets the old @isiahw1/... package name and needs updating before it's used). Until that's resolved, use the local uv install above or the Docker image.
Security: the API key leaks into logs
mcp_server_bwt/main.py calls logging.basicConfig(level=logging.INFO) at import time, which sets the root Python logger to INFO. The Bing Webmaster API key is sent as a query parameter (apikey=...) on every single request to Bing, and httpx's own request logger — which propagates to the root logger since nothing stops it — logs the full request URL, key included, at INFO:
INFO:httpx:HTTP Request: GET https://ssl.bing.com/webmaster/api.svc/json/GetUserSites?apikey=<LIVE KEY> "HTTP/1.1 200 OK"This is not specific to Docker or to BWT_READ_ONLY=false — it happens on every tool call, read or write, on either transport. In a container it lands in docker logs; on stdio it goes to stderr, which most MCP clients capture and persist. Under BWT_TENANTS multi-tenant HTTP, every tenant's key lands in the same shared log stream, so one leaked log file exposes every client's key at once.
Mitigation (deliberately not implemented in this change — land it separately and review it on its own): raise the httpx logger's level above INFO (logging.getLogger("httpx").setLevel(logging.WARNING)), or add a logging filter that strips the apikey query parameter before the record is emitted. Do not flip BWT_READ_ONLY=false or ship this to a deployment whose logs are retained or shipped anywhere until one of those is in place.
Configuration
Every variable below can be set directly in the environment or via a .env file (see .env.example for a fully commented copy).
Variable | Default | Applies to | Purpose |
| (required)* | both | Bing Webmaster API key. Required for stdio; required for HTTP unless running a pure |
|
| both |
|
| (empty = allow all) | both | Comma-separated site origins. A |
|
| both |
|
|
| http | Bound on |
| (unset) | http | Single static bearer token, routes to the global |
| (unset) | http | JSON object mapping bearer token → |
At least one of MCP_AUTH_TOKEN / BWT_TENANTS must be set for HTTP transport to start — it fails closed rather than serving unauthenticated.
Local (stdio)
export BING_WEBMASTER_API_KEY=your_api_key_here
uv run mcp-server-bing-webmasterClaude Desktop / Claude Code config:
{
"mcpServers": {
"bing-webmaster": {
"command": "uv",
"args": ["run", "--directory", "/path/to/bing-webmaster-mcp", "mcp-server-bing-webmaster"],
"env": {
"BING_WEBMASTER_API_KEY": "your_api_key_here"
}
}
}
}Remote (Streamable HTTP)
Run the server (or the Docker image) with MCP_TRANSPORT=http, then point any MCP client that supports remote Streamable HTTP servers with a custom header at it:
{
"mcpServers": {
"bing-webmaster": {
"type": "http",
"url": "https://your-deployment-host/mcp",
"headers": {
"Authorization": "Bearer your_token_here"
}
}
}
}Single-tenant example (one Bing account):
export BING_WEBMASTER_API_KEY=your_api_key_here
export MCP_TRANSPORT=http
export MCP_AUTH_TOKEN=a_long_random_token
uv run mcp-server-bing-webmasterMulti-tenant example (one deployment, several client sites/accounts — each client gets their own bearer token, mapped to their own Bing API key and allowed sites):
export MCP_TRANSPORT=http
export BWT_TENANTS='{"tok_client1":{"api_key":"CLIENT1_BING_KEY","allowed_sites":["https://client1.com"]},"tok_client2":{"api_key":"CLIENT2_BING_KEY","allowed_sites":["https://client2.com"]}}'
uv run mcp-server-bing-webmasterHealth check (no auth required):
curl https://your-deployment-host/healthDocker
docker build -t bing-webmaster-mcp .
docker run -p 8080:8080 \
-e MCP_AUTH_TOKEN=a_long_random_token \
-e BING_WEBMASTER_API_KEY=your_api_key_here \
bing-webmaster-mcpThe image defaults MCP_TRANSPORT=http and binds 0.0.0.0:8080. Runs as a non-root user; GET /health is wired up as the container HEALTHCHECK.
Available Tools
34 read tools are always registered. The 26 write/mutating tools below are marked write and require BWT_READ_ONLY=false to appear in tools/list at all.
Site Management
get_sites- List all verified sites in your accountadd_sitewrite - Add a new site to Bing Webmaster Toolsverify_sitewrite - Verify ownership of a siteremove_sitewrite - Remove a site from your accountget_site_roles- Get list of users with access to the siteadd_site_roleswrite - Delegate site access to another userremove_site_rolewrite - Revoke a user's site access
Traffic Analysis
get_query_stats- Get search query performance dataget_page_stats- Get page-level traffic statisticsget_rank_and_traffic_stats- Get overall ranking and traffic dataget_query_page_stats- Get detailed traffic statistics for a specific queryget_query_page_detail_stats- Get statistics for specific query-page combinationsget_url_traffic_info- Get traffic information for specific URLsget_children_url_traffic_info- Get traffic information for child URLsget_page_query_stats- Get query stats for one pageget_query_traffic_stats- Get traffic-over-time for a query
Crawling & Indexing
get_crawl_stats- View crawl statistics and bot activityget_crawl_issues- Get crawl errors and issuesget_crawl_settings- Get crawl settings for a siteupdate_crawl_settingswrite - Update crawl settings (slow/normal/fast)get_url_info- Get detailed index information for a specific URLget_children_url_info- Get information about child URLs under a parent URLfetch_urlwrite - Request Bing crawl a specific URL (consumes quota)get_fetched_urls- List URLs previously fetchedget_fetched_url_details- Details of a fetched URL
URL Management
submit_urlwrite - Submit a single URL for indexingsubmit_url_batchwrite - Submit multiple URLs at onceget_url_submission_quota- Check your URL submission limits
Content Submission
submit_contentwrite - Submit page content directly without crawlingget_content_submission_quota- Get content submission quota information
Sitemaps & Feeds
submit_sitemapwrite - Submit a new sitemapremove_sitemapwrite - Remove a sitemapremove_feedwrite - Remove a feedget_feeds- Get all RSS/Atom feeds for a siteget_feed_details- Details of one feed
Keyword Analysis
get_keyword_data- Get detailed data for specific keywordsget_related_keywords- Find related search termsget_keyword_stats- Get historical statistics for a specific keyword
Link Analysis
get_link_counts- Get inbound link statisticsget_url_links- Get inbound links for specific site URL (requires link and page parameters)add_connected_pagewrite - Add a page that has a link to your websiteget_connected_pages- List pages linking to the site
Content Blocking
get_blocked_urls- View blocked URLsadd_blocked_urlwrite - Block URLs from crawlingremove_blocked_urlwrite - Unblock URLs
Deep Link Management
get_deep_link_blocks- Get list of blocked deep linksadd_deep_link_blockwrite - Block deep links for specific URL patternsremove_deep_link_blockwrite - Remove a deep link block
URL Parameters
get_query_parameters- Get URL normalization parameters (may require special permissions)add_query_parameterwrite - Add URL normalization parameterremove_query_parameterwrite - Remove a URL normalization parameterenable_disable_query_parameterwrite - Toggle a query param on/off
Geographic Settings
get_country_region_settings- Get country/region targeting settings (may require special permissions)add_country_region_settingswrite - Add country/region targeting settingsremove_country_region_settingswrite - Remove country/region targeting settings
Page Preview Management
add_page_preview_blockwrite - Add a page preview block to prevent rich snippetsget_active_page_preview_blocks- Get list of active page preview blocksremove_page_preview_blockwrite - Remove a page preview block
Site Migration
get_site_moves- Get history of site moves/migrationssubmit_site_movewrite - Submit a site move/migration notification (validates both the old and new site against the allowlist)
Write Tools by Risk
The 26 write tools aren't hidden by accident — BWT_READ_ONLY=true is the default precisely because some of them are low-stakes and some are not, and tools/list doesn't distinguish between the two. This table does. Before setting BWT_READ_ONLY=false on a real deployment, read it.
Rule applied: a tool is Consequential if it changes who has access to the site, changes how Bing treats the entire property (not one URL), or cannot be undone by another API call at all. Everything else — scoped to a single URL, parameter, or pattern, with a paired add/remove call or a metered Bing-side allowance that resets on its own — is Reversible.
Reversible — undone by another call, or by time
Tool | What actually happens |
| Submits one URL to Bing's crawl/index queue. Draws against the daily URL submission quota (see |
| Same as |
| Registers a sitemap with Bing ( |
| Unregisters a sitemap. Hits the same |
| Unregisters a feed. Same |
| Adds a URL or directory to the crawl blocklist. |
| Removes a URL from the crawl blocklist — direct undo of |
| Pushes page HTML to Bing directly, skipping a crawl. Draws against the content submission quota ( |
| Records that another page links to yours. No |
| Blocks Bing from surfacing deep links matching a URL pattern in search results. |
| Removes a deep-link block — direct undo of |
| Tells Bing to ignore a URL query parameter for normalization/dedup. |
| Removes a normalization parameter — direct undo of |
| Toggles an existing normalization parameter on or off — call again with the opposite value to undo. |
| Blocks Bing from generating a rich-snippet preview for a URL/pattern. |
| Removes a preview block — direct undo of |
| Asks Bing to crawl one URL immediately. Draws against a Bing-side fetch allowance rather than changing configuration — there's nothing to undo, the effect is a queued crawl. |
fetch_url and submit_content are both write-shaped for the same reason: neither edits site configuration, both spend a metered Bing-side allowance instead (submit_url/submit_url_batch spend the same kind of allowance, against the URL submission quota). They're gated as writes because they cost Bing-side quota that an unsupervised agent could burn through, not because they change how the site is configured.
Consequential — hard or impossible to undo, changes access, or changes how Bing treats the whole site
Tool | What actually happens | How you undo it |
| Adds a site to the account's managed-sites list. |
|
| Attempts to verify domain ownership using whatever verification method Bing has on file for the site. | You can't retract a verification attempt through this API — it's Bing's record, not this tool's. |
| Removes the site from the Bing Webmaster account entirely — settings, blocked URLs, roles, and history for that property go with it. |
|
| Grants another user access to the site. Takes a raw |
|
| Revokes a user's access to the site. |
|
| Tells Bing the site has moved to a new domain/subdomain, which redirects Bing's ranking signal from the old property toward the new one. Both | No undo call exists. Submitting another move back to the original domain is possible, but signal already transferred is not guaranteed to fully return. |
| Sets geo-targeting for the whole property to a country/region. |
|
| Removes geo-targeting for the whole property. |
|
| Changes Bing's crawl rate (Slow/Normal/Fast) for the entire site, affecting how fast every page on it gets crawled. |
|
Usage Examples
Once configured, you can use these tools in Claude:
"Show me all my verified sites in Bing Webmaster Tools"
"What are the top search queries for example.com?"
"Show me crawl errors for my site"
"What's my daily URL submission quota?"
"Get detailed stats for the query 'best products' on my site"
"Show me traffic info for my top 10 pages"
"Get historical data for the keyword 'seo tools'"Anything that mutates state ("Submit this URL for indexing", "Add a new site", "Block this URL from crawling") requires BWT_READ_ONLY=false — under the default, those tools aren't visible to the agent at all.
Development
uv sync
uv run pytest tests/ -vThe test suite (tests/test_read_only_gate.py, tests/test_site_allowlist.py, tests/test_http_transport.py) covers the read-only gate, the site allowlist (including origin normalization), and the HTTP transport's auth/tenant-routing behavior — including an end-to-end check that a tenant's API key actually reaches BingWebmasterAPI._make_request during a real tools/call, not just at the auth middleware layer.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License — see LICENSE. Original work copyright (c) 2025 Isiah Wheeler.
Support
For issues with the upstream BWT tool implementations, see the original repository. For issues with the hardening in this fork (read-only gate, allowlist, HTTP transport, tenant routing, Docker), open an issue in this repository.
Available Tools
34 toolsget_active_page_preview_blocksC
Get list of active page preview blocks.
| 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?
Annotations are absent, so the description must convey behavior. It only says 'get list', implying a read operation, but offers no detail on output shape, pagination, or limitations. The existence of an output schema partially covers return values, but the description adds no behavioral nuance.
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 extremely short, but brevity is not helpful here—it under-specifies. While the single sentence is structured, it omits essential context that could be added without bloat.
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 tool with many siblings, the description is incomplete. It does not explain what a 'page preview block' is, when to use it, or how the parameter is interpreted. The presence of an output schema mitigates some need for return-value detail, but the purpose and usage gap remains significant.
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 never mentions site_url. The agent only has the parameter name, which is somewhat self-explanatory but lacks format or expected value details. The description adds zero 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?
States verb 'get' and resource 'list of active page preview blocks', so it's clear it retrieves data. However, it doesn't distinguish from siblings like get_deep_link_blocks, and 'page preview blocks' is not elaborated, leaving ambiguity.
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 guidance on when to use this tool versus the many sibling get_* tools. No exclusions, prerequisites, or context to help an agent choose this over alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_blocked_urlsC
Get list of blocked URLs for a site.
| 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 burden of disclosing behavior. It implies a read-only list operation via 'Get', but gives no details about pagination, result limits, meaning of 'blocked', permission requirements, or output behavior. This is only a minimal improvement over a tautology.
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, immediately states the action and object, and contains no filler. It is appropriately sized for a simple tool, even though it could include more guidance.
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 read-only tool with one parameter and an output schema, the description provides a minimally adequate statement of purpose. However, it lacks usage guidance, behavioral details, and differentiation from nearby siblings, so it is not fully complete for an agent deciding how to invoke 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 input schema has 0% description coverage, and the only parameter (site_url) is described solely by its title 'Site Url'. The description's phrase 'for a site' adds minimal context that site_url identifies the target site, but it does not explain expected format, required values, or how the parameter is used to retrieve blocked URLs.
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 ('Get') and resource ('list of blocked URLs') scoped to 'a site', making the tool's core function clear. However, it does not differentiate this from similar siblings like get_deep_link_blocks or get_active_page_preview_blocks, 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 guidance on when to use this tool versus alternatives, no exclusions, and no mention of prerequisites or typical scenarios. The only contextual clue is 'for a site', which reflects the required site_url parameter but does not provide real usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_children_url_infoC
Get information about child URLs under a parent URL.
| Name | Required | Description | Default |
|---|---|---|---|
| site_url | Yes | ||
| parent_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 burden. It only says 'Get information' and never discloses result scope, recursion/depth behavior, pagination, or any side effects. The ambiguity of 'under a parent URL' is a meaningful behavioral 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 a single efficient sentence with no filler. The action and primary resource are front-loaded, and every word 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?
An output schema exists, so return-value documentation is not the main gap. However, with no annotations and minimal parameter semantics, the description is not complete enough for reliable tool selection and correct invocation, especially given the similar sibling get_children_url_traffic_info.
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 only echoes 'parent URL' without defining site_url or explaining how the two required parameters relate. The parameter names are somewhat self-explanatory, but the description does not compensate for the missing schema 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 uses a clear verb ('Get') and resource ('child URLs under a parent URL'), which helps separate it from single-URL siblings like get_url_info. However, 'information' is generic and does not clarify whether this overlaps with get_children_url_traffic_info.
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 guidance about when to use this tool instead of related child-URL or traffic-info siblings. The intended usage is only implied by the name and one-line description; no conditions, exclusions, or alternatives are mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_children_url_traffic_infoC
Get traffic information for child URLs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| site_url | Yes | ||
| parent_url | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations are absent, so the description alone must disclose behavioral traits. It only states the action at a high level, without explaining whether the operation is read-only, how the 'limit' parameter affects results, what 'traffic information' includes, or whether the response is aggregated or per-child.
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 wasted words, but it is too terse to provide necessary context. It sacrifices substance for brevity and is closer to under-specification than effective conciseness.
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 three parameters, no annotations, no schema descriptions, and many sibling tools, this one-sentence description is inadequate. It does not clarify the parent-child URL relationship, the meaning of 'traffic information,' or the intended use case, so an agent cannot reliably decide when to invoke 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 schema has 0% description coverage, and the description does not explain any parameters. The distinction between 'site_url' and 'parent_url' and the effect of 'limit' are left entirely to the schema property names, providing no additional meaning.
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 ('Get') and a specific resource ('traffic information for child URLs'), clearly stating the action and subject. It does not explicitly differentiate from sibling tools like get_url_traffic_info or get_children_url_info, but the combination of 'children' and 'traffic' narrows the purpose enough to distinguish it.
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 guidance is provided about when to prefer this tool over alternatives. The description does not mention get_url_traffic_info for single-URL traffic queries or get_children_url_info for child-URL details, leaving tool selection entirely to the agent's inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_connected_pagesB
Get list of connected pages that link to your site.
| 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 carries the full burden. It conveys that the tool performs a read-only list retrieval scoped to pages linking to the user's site, which is minimally transparent. However, it does not explain what 'connected' means, pagination behavior, or any data source limitations.
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 earns its place, and the core action and target resource are immediately clear.
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 simple with one required parameter and an output schema, so basic invocation is possible. However, the description leaves 'connected pages' ambiguous and provides no context for selecting this tool among 33 similar link- and page-oriented 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?
The input schema has only site_url with no description and 0% schema description coverage, so the description must compensate. It implies site_url refers to 'your site', but it does not clarify expected format, whether protocol is needed, or how the value relates to the returned connected pages.
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 clear verb ('Get') and names a specific resource ('connected pages that link to your site'). However, it does not explicitly distinguish this from similar siblings like get_url_links or get_link_counts, so the term 'connected pages' remains somewhat ambiguous.
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 guidance is given about when to choose this tool over its many siblings. The description states only what the tool does, with no context about when it is appropriate or when an alternative like get_url_links should be used.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_content_submission_quotaC
Get content submission quota information.
| 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 must carry the behavioral disclosure burden. It only says 'Get content submission quota information,' which implies a read operation but does not explain limits, authorization needs, staleness, or any other behavioral trait beyond the tool name.
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 short sentence with no wasted words, and the key resource is stated up front. However, the sentence adds little beyond the tool name, making it minimal rather than genuinely useful.
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 simple with a single required parameter and an output schema, so the description does not need to explain return values. Still, the lack of distinction from get_url_submission_quota and the absence of any usage context leave notable gaps.
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 does not mention site_url at all. Although the schema's property title 'Site Url' is somewhat self-explanatory, the description fails to compensate for the low coverage or clarify the parameter's role in the quota lookup.
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 ('Get') and resource ('content submission quota information'), so an agent knows what the tool retrieves. However, it does not distinguish this from the very similar sibling get_url_submission_quota, so it lacks sibling 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?
There is no guidance on when to use this tool versus alternatives such as get_url_submission_quota. The description only restates the tool's action without providing context, prerequisites, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_country_region_settingsA
Get country/region targeting settings. Note: May require special permissions.
| 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 provided, the description must disclose behavioral traits on its own. It does mention that the tool may require special permissions, which is a useful caution about potential failures. However, it does not explicitly state whether the operation is read-only (though 'get' implies it), nor does it describe any side effects, rate limits, or error behaviors. The single note about permissions adds some context but leaves significant gaps in behavioral 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 exceptionally concise: a single sentence for the main purpose followed by a short note on permissions. Every word earns its place, and the information is front-loaded with the core function before the caution. There is no fluff or repetition, making it a model of efficient communication.
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 has an output schema, so the description does not need to explain return values. However, it lacks details about the 'site_url' parameter usage and provides only minimal context about when to use the tool. The permission note is helpful, but the description does not cover prerequisites beyond permissions or clarify what 'country/region targeting settings' entails. Given the tool's simplicity (one required parameter), the description is marginally adequate but leaves room for improvement in clarity.
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, and the tool description does not mention the 'site_url' parameter at all. Even though the parameter name is somewhat self-explanatory, the description provides no additional semantics about acceptable formats, required scope, or relationship to the settings being retrieved. The description fails to compensate for the lack of schema documentation, leaving the agent to infer parameter meaning from the name alone.
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 'Get' and the resource 'country/region targeting settings'. It is specific and distinct from all sibling tools, which cover different domains like traffic, keywords, or crawl settings. The addition of 'targeting' clarifies the exact scope, and there is no ambiguity about what the tool retrieves.
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 includes a cautionary note about special permissions, which alerts the agent to a potential prerequisite. However, it does not explicitly state when to use this tool versus any alternative, nor does it provide context on the typical use case (e.g., retrieving targeting settings for a site). The note gives only a partial usage guideline, so the score reflects the lack of explicit when-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crawl_issuesB
Get crawl issues and errors for a site.
| 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?
There are no annotations, so the description carries the full behavioral disclosure burden. It only restates the core action and says nothing about output format, pagination, crawl scope, URL format expectations, or whether the data is live or historical. This leaves the agent with little behavioral insight.
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 consists of a single concise, front-loaded sentence with no filler. Every word earns its place and it is easy to parse quickly.
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 one scalar parameter and an output schema present, the tool is not highly complex, but the description is still too thin. It leaves 'crawl issues and errors' undefined, does not clarify the expected site_url format, and gives no guidance on how this tool compares to its many sibling data-retrieval tools.
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. The only added meaning is that the tool operates 'for a site', which barely clarifies the site_url parameter. It does not specify whether a domain root or full page URL is expected, or provide any format or examples.
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 uses a specific verb and resource: 'Get crawl issues and errors for a site.' It is unambiguous about the operation. However, it does not explicitly distinguish this tool from related siblings like get_crawl_stats or get_crawl_settings, 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?
The description implies when to use the tool: when crawl issues and errors are needed. But it provides no context about when not to use it, no alternatives, and no clarification about how it relates to the many similar get_* sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crawl_settingsC
Get crawl settings for a site.
| 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 provided, the description must carry the full burden of disclosing behavior. It only states the action ('get') and implies a read operation, but says nothing about permissions, rate limits, response format, or any side effects. This is a bare minimum.
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, focused sentence with no filler. It front-loads the action and resource clearly, making it efficient and appropriately sized for the tool's simplicity.
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 overlap with 30+ sibling get_* tools and the lack of annotations, the description is too sparse to be complete. It does not differentiate from similar tools or provide any context about what 'crawl settings' encompasses, though an output schema exists to cover 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 must compensate for the undocumented site_url parameter. The phrase 'for a site' adds modest meaning, but it does not explain URL format, required structure, or any constraints, adding little beyond the parameter name itself.
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 'get' and the resource 'crawl settings' for a site, which distinguishes it from siblings like get_crawl_stats and get_crawl_issues. However, it does not explicitly name an alternative, so it falls short of the highest tier.
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 guidance is provided on when to use this tool versus the many other get_* siblings. There are no context cues, exclusions, or alternative suggestions, leaving the agent to infer usage based solely on the resource name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crawl_statsC
Retrieve crawl statistics for a specific site.
| 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?
There are no annotations, so the description carries the full burden of behavioral disclosure. 'Retrieve' implies a read-only operation, but the description does not explain what kind of statistics are included, whether data is historical or current, whether site_url must be a domain or full URL, or any access considerations. The output schema covers the return shape, but behavioral context beyond that is absent.
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 short sentence that front-loads the verb and resource. Every word carries meaning, and there is no filler or repetition 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?
The tool is simple: one required parameter and an output schema are present, so the need for extra description is limited. Still, the description does not clarify site_url formatting or differentiate among the many sibling tools in the crawl-stats family, leaving an agent to infer the exact intended usage. It is minimally adequate but not 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 only loosely echoes the parameter by saying 'for a specific site' and does not define the expected format, normalization, or meaning of site_url beyond the parameter name itself. The single parameter is self-descriptive, which prevents a 1, but the description adds no real semantic value.
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 ('Retrieve') and names a clear resource ('crawl statistics') scoped to a site. However, it does not explicitly distinguish itself from sibling tools like get_crawl_settings or get_crawl_issues, so an agent may need to open schemas to pick the right one.
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 guidance is given about when to use this tool versus alternatives, and no exclusions or sibling references are mentioned. The phrase 'for a specific site' mildly implies scope, but it does not help an agent decide between this and the many related crawl/site tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_deep_link_blocksB
Get list of blocked deep links.
| 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 behavioral burden. It conveys a read-only list operation through 'Get list', but it does not disclose details such as pagination, result limits, how blocking is determined, or whether the list is scoped to the provided site_url.
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 short sentence with no filler, and the operation is front-loaded. It is somewhat under-specified, but the brevity is appropriate for a simple read operation.
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 read tool with an output schema, this is almost usable, but ambiguity with siblings like get_blocked_urls and the unexplained 'deep link' terminology leave gaps. It is minimally complete but not robustly contextual.
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 does not explain site_url or its expected format. The property name is self-explanatory to a degree, but the description adds no meaning beyond what the schema minimally implies.
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 and resource: 'Get list of blocked deep links.' It is a specific verb and object, but it does not distinguish this from siblings like get_blocked_urls or explain what counts as a deep link, so it is not fully differentiated.
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 on when to use this tool versus alternatives, no exclusions, and no context about which site_url values are valid or when blocked deep links would exist. The agent must infer usage entirely from the tool name and parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feed_detailsC
Get detailed information about a specific feed.
| Name | Required | Description | Default |
|---|---|---|---|
| feed_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?
No annotations are present, so the description carries the full burden of behavioral disclosure. 'Get detailed information' hints at a read-only operation, but it does not describe output behavior, potential errors, authorization requirements, rate limits, or any side effects. The sparse description adds little beyond what the tool name already conveys.
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 or redundancy. It is appropriately sized for a simple retrieval tool and front-loads the core action and object.
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?
Even though an output schema exists and may explain return values, the description omits essential usage context: when to prefer this tool over siblings, what the parameters mean, and any behavioral caveats. For a tool requiring two opaque parameters with zero schema descriptions, this is inadequate.
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 does not compensate. It mentions 'a specific feed' but never explains that feed_url identifies the feed or that site_url scopes the request. An agent must guess the relationship between the two required parameters, which is a significant clarity gap.
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 identifies a verb ('Get') and a resource ('detailed information about a specific feed'), which distinguishes this from list-style siblings like get_feeds. However, 'detailed information' remains vague, and no sibling is explicitly named, so it doesn't fully rise to the 5-level.
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 on when to use this tool versus alternatives such as get_feeds, get_fetched_url_details, or get_url_info. The phrasing implies 'use this when you need feed details,' but there are no exclusions, prerequisites, or alternative tool references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_feedsC
Get all RSS/Atom feeds for a site.
| 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 exist, so the description carries the full burden of behavioral disclosure. It reveals the operation is read-only in a general sense and that it returns all RSS/Atom feeds, but offers no information about pagination, output format, authentication, or side effects. Minimal behavioral detail is added beyond the basic action.
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 concise sentence with no redundant words. It front-loads the verb and object, making the core purpose immediately clear without wasting tokens.
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 sparse schema and absence of annotations, the description is under-specified. It lacks parameter format guidance, differentiates poorly from siblings, and offers no behavioral caveats. Its low complexity prevents a score of 1, but significant gaps remain.
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 one required parameter, site_url, with 0% schema description coverage. The description only clarifies that site_url refers to 'a site' but does not specify expected format (e.g., URL vs. domain), validation rules, or examples. It provides only partial compensation for the schema gap.
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 ('Get') and resource ('all RSS/Atom feeds for a site'), making the basic operation clear. However, it does not explicitly differentiate from related siblings like get_feed_details, so it lacks the distinguishing element needed for 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?
No guidance is provided on when to use this tool versus alternatives. The description does not mention contexts, exclusions, or conditions that would help an agent choose between get_feeds and sibling tools such as get_feed_details or get_fetched_urls.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fetched_url_detailsD
Get detailed information about a fetched URL.
| Name | Required | Description | Default |
|---|---|---|---|
| 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?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only says 'get', which weakly implies a read operation, but it does not state whether the URL must have been fetched previously, whether this is read-only, what form the details take, or what happens on error.
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 extremely short and front-loaded, but it is under-specified rather than concise. The single sentence merely restates the tool name and earns no additional informative value.
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 more than 30 sibling tools and two undocumented required parameters, a one-sentence tautological description is not enough. Even though an output schema exists, the agent still lacks the criteria to choose this tool and the semantics needed to populate the parameters 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%: both site_url and url are bare strings with no schema documentation. The description does not define either parameter or explain their relationship, so an agent has no information about what values to provide.
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 'Get detailed information about a fetched URL' essentially restates the tool name: 'detailed information' mirrors 'details' and 'fetched URL' is identical to the name. It gives no scope or distinguishing features, so an agent cannot tell this apart from siblings like get_url_info or get_url_traffic_info.
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 such as get_fetched_urls, get_url_info, or get_children_url_info. No context, exclusions, or routing signals are provided, leaving the selection entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fetched_urlsC
Get list of URLs that have been fetched.
| 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 of behavioral disclosure. It only says 'Get list of URLs that have been fetched' and adds no context about pagination, auth, list scope, ordering, or whether the list represents all fetched URLs for the given site.
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 wasted words. It is concise, though the brevity comes at the cost of missing useful context.
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 tool with an output schema, the description provides only the bare minimum. It does not explain the meaning of site_url, the scope of 'fetched' URLs, or how this tool differs from the many related siblings, making it insufficient for confident selection and invocation.
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 never mentions the site_url parameter or its relationship to the returned URLs. The tool description must compensate for the undocumented schema, but it does not.
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: it returns a list of URLs that have been fetched. It is readable and clearly not a tautology, though it does not explicitly distinguish itself from siblings like get_fetched_url_details or explain what 'fetched' means in this domain.
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 on when to use this tool versus any of the many sibling tools, nor any exclusionary context. The description only states what the tool does, leaving the agent to infer the appropriate call scenario.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_keyword_dataC
Get detailed data for a specific keyword/query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | 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 carries the full burden of behavioral disclosure. It only says 'get' and 'detailed data,' which implies reading but does not describe response behavior, pagination, authentication needs, or any limitations.
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 short sentence with no filler sentences, but it is under-specified rather than effectively concise. 'Detailed data' is generic and not information-dense.
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?
While an output schema exists, the description provides no tool-selection or behavioral context. With many similar get_* siblings and no annotations, an agent has too little information to reliably choose and invoke this 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?
Parameter schema coverage is 0%, so the description must compensate. It covers the 'query' parameter only indirectly via 'keyword/query' and says nothing about the required 'site_url' parameter or how the two interact.
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 data for a keyword/query. However, 'detailed data' is vague and does not differentiate this tool from several siblings such as get_keyword_stats, get_query_stats, or get_page_stats.
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. The description does not mention exclusions, prerequisites, or cases where a sibling tool would be more appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_keyword_statsC
Get historical statistics for a specific keyword.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| country | No | ||
| language | 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, the description carries the full burden of behavioral disclosure. It implies a read operation via 'Get' but does not describe what 'historical statistics' include, whether results are aggregated, any rate limits, or how the output is structured. The output schema helps with return values, but behavioral context remains thin.
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. It earns its place but is perhaps too terse given the parameter complexity; still, conciseness itself is strong.
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 four parameters, an output schema, and numerous closely named siblings, one sentence is inadequate. The description does not explain what historical statistics are returned, how site_url qualifies the keyword, or how this tool relates to get_query_stats and get_keyword_data. The output schema covers return shape, but the overall context is under-specified.
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 for the four parameters. It only maps 'specific keyword' to the query parameter and offers no explanation of site_url, country, or language, or how they interact. This leaves the required site_url parameter entirely unexplained.
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 names a specific verb ('Get') and resource ('historical statistics for a specific keyword'), which is clear and distinct enough to suggest a time-series-oriented stats tool. It does not explicitly differentiate among the many sibling stats tools, but 'historical' and 'specific keyword' narrow the scope.
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 guidance is provided on when to prefer this tool over siblings like get_keyword_data, get_query_traffic_stats, or get_query_stats. There are no exclusions, use cases, or alternative routing hints, leaving an agent to infer when this specific historical-keyword-statistics tool is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_link_countsB
Get inbound link counts for a site.
| 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 itself conveys that this is a read operation returning aggregated counts rather than the full link list, and 'inbound' clarifies the link direction. It does not disclose freshness, permissions, or how counts are aggregated across a site, but the core behavioral profile 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, non-redundant sentence that front-loads the action and object without filler. It is concise without being a tautology, though its minimalism contributes to under-specification in other dimensions.
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 simple one-parameter signature and the presence of an output schema, the description does not need to explain return values. However, it lacks parameter-format guidance and sibling differentiation, so it is only minimally complete for confident selection and invocation.
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 only the parameter name and type, with 0% description coverage, so the description must compensate for parameter semantics. It identifies site_url as a 'site' but does not clarify expected format such as root domain versus full URL, protocol requirements, or whether trailing slashes matter.
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 clear action ('Get') and a specific resource ('inbound link counts'), scoped to 'a site,' so the basic operation is understandable. It does not explicitly distinguish itself from near siblings like get_url_links, but 'counts' versus raw links provides reasonable 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?
The description offers no guidance on when to choose this tool over related siblings such as get_url_links, get_url_info, or get_url_traffic_info. It gives no exclusions, prerequisites, or context about when this count is the appropriate result versus a more detailed link tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_query_statsC
Get query statistics for a specific page.
| Name | Required | Description | Default |
|---|---|---|---|
| page | 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 provided, the description carries the full burden, but it only says 'Get', implying a read operation. It does not disclose what statistics are returned, whether the tool can error, whether authentication is needed, or any response limitations.
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 efficient sentence with no filler and gets straight to the point. It loses a point only because it is so minimal that it sacrifices informative content for brevity.
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 has two required parameters with zero schema descriptions, no annotations, and many similar sibling tools. An output schema exists, which helps explain return values, but the description still leaves the agent without enough information to confidently select and invoke this 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%, and the description does not explain either parameter. 'page' is merely echoed from the schema, and 'site_url' is not mentioned at all. The description adds no semantic value beyond the parameter names.
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 clear verb and resource: 'Get query statistics' for a specific page. It is not a tautology, but it does not differentiate from the very similar sibling get_query_page_detail_stats or clarify whether 'page' refers to a URL or an internal identifier.
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 no guidance about when to use this tool instead of siblings like get_query_stats, get_page_stats, or get_query_page_detail_stats. It only restates a generic use case without exclusions, prerequisites, or conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_statsC
Get traffic statistics for top pages.
| 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 present, so the description carries full responsibility for behavioral disclosure. It merely says 'traffic statistics' without defining the time period, metric scope, sorting, pagination, or any side effects, leaving important behavior unexplained.
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 concise sentence with no wasted words. It is easy to parse, though the ambiguity of 'top pages' makes the brevity slightly costly.
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?
While the tool has only one parameter and an output schema exists, the description omits usage context, parameter semantics, and behavioral detail. Given the large set of sibling stats tools, this is insufficient for confident tool selection and invocation.
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 only parameter, site_url, has no schema description, and the tool description does not compensate. It does not explain the expected URL format, whether a full URL or domain is required, or how the parameter relates to 'top pages'.
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 names a specific resource ('traffic statistics') and qualifies it with 'top pages', giving a basic idea of what the tool does. However, it does not distinguish itself from the many sibling stats tools such as get_page_query_stats, get_query_page_stats, or get_url_traffic_info.
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 on when to use this tool versus alternatives. 'Top pages' is ambiguous and could mean top-level pages or highest-traffic pages, and no exclusions or sibling references are provided to help an agent choose correctly.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_page_detail_statsC
Get detailed statistics for a specific query and page combination.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | ||
| query | 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 provided, the description carries the full burden of behavioral disclosure. It only says 'detailed statistics' without explaining data scope, response behavior, required permissions, or any side effects. While 'Get' implies a read operation, the description lacks the depth needed for safe invocation.
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 and front-loaded with the verb and noun. However, it is under-specified for a tool with three required parameters and many siblings. It earns its place as a simple statement but lacks the supporting detail expected from a useful definition.
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 has three required parameters with no schema descriptions, no annotations, and numerous similar siblings, the description is insufficient. The existence of an output schema helps explain return values, but the description does not provide enough operational context for correct invocation or tool selection.
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 for the lack of parameter documentation. It mentions 'query' and 'page' but omits 'site_url' entirely and provides no meaning, format, or constraints for any of the three required parameters. This is a critical gap.
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 clear verb+resource structure: 'Get detailed statistics' for a specific 'query and page combination'. This states the tool's core function precisely. However, it does not explicitly differentiate itself from closely named siblings like get_query_page_stats, so it is clear but not fully distinctive.
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 guidance is provided on when to use this tool versus alternatives such as get_query_page_stats, get_query_stats, or get_page_stats. The description only states what the tool does, leaving the agent to infer context or compare naming patterns without support.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_page_statsC
Get detailed traffic statistics for a specific query.
| Name | Required | Description | Default |
|---|---|---|---|
| query | 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 provided, the description carries the full burden of behavioral disclosure. 'Get' implies a read operation, but the description does not mention return behavior, time-range semantics, required permissions, or any other operational characteristics. It adds little beyond the tool name and title.
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 wasted words. It is concise, though it achieves this by omitting almost all usage and parameter detail.
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?
Despite having an output schema and only two simple parameters, the description is insufficient given the large, confusing sibling set. An agent cannot reliably select this tool over get_query_traffic_stats or get_query_page_detail_stats, and cannot understand the input parameters from the description.
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 does not explain either parameter. It only implies the query parameter is the focus, leaving site_url completely unaddressed and failing to clarify the type or format of 'query' or '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 states a clear action and subject: 'Get detailed traffic statistics for a specific query.' It is clear in isolation, but it does not differentiate from closely named siblings like get_query_traffic_stats, get_query_page_detail_stats, or get_page_query_stats, all of which sound nearly identical.
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 no guidance on when to use this tool versus the many similar siblings. It implies a use case (wanting traffic stats for a query) but provides no context, exclusions, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_parametersC
Get URL normalization parameters. Note: May require special permissions.
| 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 burden of disclosing behavior. It only mentions 'May require special permissions,' which hints at access restrictions but does not explain any other behavioral traits. There is no mention of whether the operation is read-only, what data it returns, or any side effects. For a tool with no annotations, this is insufficient.
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 very short—one sentence plus a permission note. It is concise in length but lacks effective structure. The key purpose is stated first, which is good, but the permission note is the only additional context and it is not front-loaded. The description is under-specified, so conciseness is not a virtue here; it fails to provide necessary details.
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 large set of sibling tools and the lack of annotations, this description is incomplete. The output schema exists, so return format is not needed, but the tool's exact purpose, the meaning of site_url, and how it differs from siblings are missing. An agent would struggle to decide when to call this tool correctly. The permission note adds a small but insufficient amount of context.
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 a single required parameter, site_url, with no description in the schema (0% coverage). The tool description does not mention site_url at all, so it adds zero meaning to the parameter. An agent has to infer that site_url is the website to query, but even that is not explicit. This is a critical gap for a tool with a required 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 clear verb and resource: 'Get URL normalization parameters.' This is specific enough to identify the tool's domain. However, it does not differentiate from siblings like get_url_info or get_url_traffic_info, which also deal with URL data. The description essentially restates the tool name with a slight elaboration, so it lacks the specificity to distinguish it among the many similar get_* tools.
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 no guidance on when to use this tool versus alternatives. It only includes a note about permissions, which is not usage context. There is no mention of scenarios where this tool is preferred or avoided, nor any indication of how it complements other URL-related tools such as get_url_info or get_url_traffic_info.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_statsC
Get detailed traffic statistics for top queries.
| 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 bears the full burden of disclosing behavior. It only says 'get' which implies a read, but does not mention potential rate limits, result size limitations, or whether the top queries list is fixed or dynamic. The tool could return many results, but no pagination or filtering behavior is 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 description is a single short sentence, which is concise with no verbosity, but it is under-specified. It lacks essential context about the data scope and parameters, so conciseness comes at the cost of completeness. Neither particularly front-loaded nor poorly structured, it is acceptable but not exemplary.
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?
Although an output schema exists, the description fails to explain what 'top queries' means, how results are ordered, or any time range. With many sibling tools, the agent cannot confidently map this tool to a specific use case. The description is too thin given the complexity of the tool and the need to differentiate it from similar tools.
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 does not mention the site_url parameter at all. The sole parameter is undocumented in both schema and description, so the agent has no idea what format or constraints apply (e.g., URL encoding, domain vs subpath). The description adds no value beyond the parameter name.
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 the action ('get') and resource ('traffic statistics for top queries'), but the phrase 'top queries' is vague and doesn't clarify what qualifies as top or what period is covered. It does not distinguish this from the many sibling tools with similar names like get_query_traffic_stats or get_page_query_stats, so an agent cannot reliably choose this tool over alternatives.
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 on when to use this tool vs any of the sibling tools. Given the large set of query-related tools (get_query_traffic_stats, get_page_query_stats, get_query_page_stats, etc.), the absence of any conditions or exclusions leaves the agent to guess. This is a critical gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_traffic_statsC
Get traffic statistics for queries over time.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | ||
| period | No | 30d | |
| 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 behavioral disclosure, but it only states that this is a read-style 'Get' operation. It does not clarify what traffic metrics are included, how 'over time' is aggregated, or any limitations, leaving only the phrase 'over time' as a behavioral clue.
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 redundancy. It is appropriately concise, even though it under-delivers on detail.
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 has an output schema, but it has no annotations, 0% schema parameter documentation, and many similarly named sibling tools. The description does not specify the exact metrics, the period syntax, or how site_url scopes the query, so it is not complete enough for confident selection and correct invocation.
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 parameter description coverage is 0%, so the description needed to compensate for the missing parameter documentation. It weakly maps 'queries' to the query parameter and 'over time' to period, but it does not explain site_url, the expected period format, or the meaning of the returned statistics.
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 identifies a specific verb ('Get'), resource ('traffic statistics'), and scope ('for queries over time'), so the core function is clear. However, it does not distinguish this tool from siblings like get_query_stats or get_query_page_stats, 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?
The description provides no guidance on when to use this tool instead of the many similar sibling tools. It offers no exclusions, prerequisites, or alternative routing, leaving the agent to guess based on the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_rank_and_traffic_statsC
Get overall ranking and traffic statistics.
| 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 provided, the description carries the full burden of behavioral disclosure. It only restates the get operation and adds the vague qualifier 'overall'; it does not explain what ranking or traffic metrics are included, what period is covered, or any access or rate considerations.
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. It is concise and easy to parse, though brevity comes at the expense of useful detail.
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 large sibling list of similar stats tools and a single undocumented parameter, the description is not complete enough for reliable tool selection. An output schema exists, so return values need not be described, but usage context and parameter guidance are 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 description coverage is 0%, and the description does not compensate by explaining how site_url should be formatted or interpreted. The parameter name is self-explanatory enough to infer basic intent, but the description adds no value beyond the schema field title.
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 and resource: 'Get overall ranking and traffic statistics.' The word 'overall' hints at a site-wide scope, which partially differentiates it from sibling tools like get_url_traffic_info or get_query_stats, though not explicitly.
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 on when to use this tool versus the many sibling statistics tools. 'Overall' is the only implicit signal, and no alternatives or exclusions are mentioned, leaving the decision entirely to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_movesC
Get history of site moves/migrations.
| 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 provided, the description carries the full burden of behavior disclosure, but all it adds is that the tool returns historical move data. It does not state what a move/migration contains, whether the result is a list or single record, whether there are limits or ordering, or what side effects (if any) exist. The read-only nature is only implied by 'Get'.
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 focused sentence with no superfluous words and it front-loads the operation. It is appropriately concise, though it does not add any additional structured detail that would help with sibling differentiation.
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?
Despite having an output schema and only one required parameter, the description is too thin to be fully self-sufficient: it lacks when-to-use guidance, parameter meaning, and any elaboration of what constitutes a 'move' or 'migration'. An agent could probably call it correctly, but it would rely on inference and the tool name rather than the description.
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 provides no description for site_url and schema coverage is 0%, so the description must compensate. The phrase 'site moves/migrations' hints that site_url identifies the site of interest, but the description never explicitly explains how the parameter is used or what formats are expected.
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 names a specific verb ('Get') and a distinct resource ('history of site moves/migrations') that does not appear in any sibling tool name, so an agent can tell it apart from the other get_* tools. It stops short of a 5 because 'moves/migrations' is left undefined and the operation's relationship to the site_url parameter is not stated.
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 no guidance on when this tool should be used instead of alternatives such as get_sites, get_url_info, or get_crawl_settings. There is no context, prerequisite, or exclusion, so an agent is left to infer the use case from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_site_rolesC
Get list of users with access to the site.
| 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 burden. It only states a read-like action but does not disclose details such as pagination, whether only direct roles are returned or inherited roles are included, permission requirements, or limitations.
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 short, front-loaded single sentence with no wasted words. However, it is so terse that it misses opportunities to add useful context.
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 simple, has an output schema, and only one parameter, so the bar for completeness is lower. Still, with no annotations, no usage guidance, and no behavioral details, the description is only minimally adequate for an agent to select and call the 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%, and the description does not clarify how site_url should be formatted or what exactly counts as 'the site.' The parameter name and title provide basic meaning, but the description adds no compensating 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?
The description states a specific verb and resource: getting a list of users with access to a site. This is distinguishable from the many URL/stats-oriented sibling tools, though it does not explicitly contrast itself with any sibling.
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 guidance is given about when to use this tool instead of alternatives, such as get_sites or other site-related tools. The context is only implied by the 'site' wording and the site_url parameter.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitesA
Retrieve all sites in the user's Bing Webmaster Tools 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 provided, the description carries the full burden. 'Retrieve' indicates a read-only operation and the phrase 'user's account' clarifies scope, but the description does not address pagination, rate limits, or authentication expectations. The output schema mitigates the missing return-format details somewhat.
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 wasted words. It states the action and the resource immediately and contains no redundant elaboration.
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 list operation with an output schema available, the description is complete enough to invoke correctly. It specifies what is retrieved and from whose account, and no additional caveats are essential for such a simple 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?
There are zero parameters, and the schema coverage is 100%, so there is little for the description to add. It still usefully identifies the implicit account scope, which aligns with the baseline of 4 for a parameterless tool.
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 the specific verb 'Retrieve' and names the resource as 'all sites in the user's Bing Webmaster Tools account,' which clearly identifies an account-level listing operation. This distinguishes it from the many sibling tools that target specific URLs, keywords, or per-site settings.
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 guidance is given about when to use this tool versus alternatives, and no sibling tools are mentioned. However, 'Retrieve all sites' reasonably implies use when an account-level site list is needed, so the intended context is inferable rather than fully explained.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_infoC
Get detailed index information for a specific URL.
| Name | Required | Description | Default |
|---|---|---|---|
| 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 provided, the description carries the full behavioral burden. It implies a read-only operation with 'Get' but does not disclose whether the URL must be indexed, whether there are rate limits, auth requirements, or failure modes. This leaves significant behavior to assumption.
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 or redundancy. Every word earns its place, making it appropriately concise and 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?
The tool is simple, has an output schema, and the description states the core operation. However, it lacks usage context, parameter explanations, and behavioral caveats. It is minimally viable but would benefit from more operational detail.
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 indirectly references 'url' but never mentions 'site_url' or explains either parameter's meaning or format. The parameter names are self-explanatory, but the description adds no value 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 clear verb ('Get') and a specific resource ('detailed index information') scoped to a URL. It is understandable, though it does not explicitly differentiate from sibling tools like get_url_traffic_info or get_fetched_url_details, which also target URL-level data.
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 the many sibling tools. No context, alternatives, or exclusions are provided. An agent must infer from the name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_linksC
Get inbound links for specific site URL.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | ||
| page | 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 must carry the full behavioral burden, but it only states the basic operation. It does not disclose pagination behavior, what 'inbound links' means in this system, rate limits, authentication requirements, or any other non-obvious 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 a single, direct sentence with no wasted words, and the key action and target are front-loaded. It is efficient, though it sacrifices substance for brevity.
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 has three parameters, no annotations, and an output schema, but the description leaves the meaning of key parameters and tool behavior unclear. An agent cannot fully understand how to call this tool correctly, especially the 'link' parameter, making the overall context incomplete.
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 does not compensate. While 'site_url' is inferable, the required 'link' parameter is left completely ambiguous—it is unclear what a link is in this context. The 'page' parameter is also not explained.
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 action (get) and resource (inbound links for a site URL), making its core purpose understandable. However, it does not explicitly distinguish itself from similar tools like get_link_counts or get_url_info, so sibling differentiation is absent.
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 guidance is provided about when to use this tool versus alternatives. The description implies it is for retrieving inbound links, but there are no exclusions, conditions, or references to sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_submission_quotaC
Get information about URL submission quota and usage.
| 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?
There are no annotations, so the description carries the full burden. 'Get information' implies a read operation, but the description does not disclose quota semantics, reset windows, required permissions, or any other behavioral context an agent would need.
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 short sentence, which is concise, but 'information about' adds little value. It is not bloated, yet it is under-specified rather than efficiently precise.
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 simple and has an output schema, but the description still lacks enough context about quota and usage semantics, parameter expectations, and how this differs from related quota tools. It is minimally viable but not complete for an agent making an autonomous call.
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 does not explain the site_url parameter at all. The parameter name is somewhat self-explanatory, but the description adds no format, scope, or example to compensate for the schema gap.
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 ('Get') and resource ('URL submission quota and usage'), making the tool's basic purpose clear. It does not explicitly differentiate from sibling tools like get_content_submission_quota, so it loses a 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?
No guidance is given about when to use this tool versus alternatives, or what conditions make it the right choice. Sibling tools such as get_content_submission_quota and get_url_info overlap conceptually, but the description offers no routing hints.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_traffic_infoC
Get traffic information for specific URLs.
| 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 full behavioral burden, but it only restates the operation type. It does not disclose whether results are aggregated per URL, what 'traffic information' includes, whether site_url acts as a filter, or any access/limits constraints.
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. It is concise, though this brevity comes at the cost of the behavioral and parameter context that other dimensions penalize.
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?
Despite having an output schema, the tool has two required parameters, no annotations, and a large sibling family; the description leaves critical selection and invocation context unclear. A short note on the site_url/urls relationship and scope versus get_children_url_traffic_info would materially improve completeness.
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 does not compensate. It never explains the role of site_url, the format of the urls array, or how the two parameters relate, leaving both required parameters effectively undocumented.
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 identifies the action ('Get') and the resource ('traffic information for specific URLs'), so an agent can tell this is a read operation on URL-level traffic data. It does not, however, differentiate this tool from adjacent siblings such as get_url_info or get_children_url_traffic_info beyond the words 'traffic 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?
No guidance is given on when to choose this tool over alternatives. The sibling list contains several traffic- and URL-related tools, and the description neither states exclusions nor names a more appropriate sibling.
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. Dates show when Glama detected each change.
34 tool updates
v0.1.0- First observed
get_active_page_preview_blocks - First observed
get_blocked_urls - First observed
get_children_url_info - First observed
get_children_url_traffic_info - First observed
get_connected_pages - First observed
get_content_submission_quota - First observed
get_country_region_settings - First observed
get_crawl_issues - First observed
get_crawl_settings - First observed
get_crawl_stats - First observed
get_deep_link_blocks - First observed
get_feed_details - First observed
get_feeds - First observed
get_fetched_url_details - First observed
get_fetched_urls - First observed
get_keyword_data - First observed
get_keyword_stats - First observed
get_link_counts - First observed
get_page_query_stats - First observed
get_page_stats - First observed
get_query_page_detail_stats - First observed
get_query_page_stats - First observed
get_query_parameters - First observed
get_query_stats - First observed
get_query_traffic_stats - First observed
get_rank_and_traffic_stats - First observed
get_related_keywords - First observed
get_site_moves - First observed
get_site_roles - First observed
get_sites - First observed
get_url_info - First observed
get_url_links - First observed
get_url_submission_quota - First observed
get_url_traffic_info
TDQS
Many tools overlap in purpose, especially around query/keyword/page statistics (e.g., get_query_stats, get_query_page_stats, get_query_page_detail_stats, get_keyword_stats, get_keyword_data, get_page_query_stats). Similar distinctions like get_url_info vs get_fetched_url_details vs get_children_url_info are unclear without deep domain knowledge, leading to potential misselection.
All tools use the consistent 'get_' prefix followed by a noun phrase, which is predictable. However, suffixes like 'info', 'details', 'stats', 'data', and 'quota' are used inconsistently (e.g., get_url_info vs get_fetched_url_details vs get_url_traffic_info), creating minor confusion but still following a uniform pattern.
With 34 tools, the server feels heavy, especially since almost all are read-only getters. While Bing Webmaster Tools has a broad API, this many tools could be consolidated (e.g., merging query and page stats variants). It's borderline—not extreme but above the typical well-scoped range.
The server only provides GET operations; there are no create, update, or delete tools for managing sites, URLs, or settings. It covers a wide range of read-only metrics but lacks lifecycle coverage, leaving agents unable to perform any mutations, which is a significant gap for a webmaster tool.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Real SEO data for AI assistants: page audits, Keyword Planner volumes, Search Console history.
SEO & marketing toolkit for AI agents: GA4, Search Console, AdSense, GTM, PageSpeed, Trends.
SEO answers for AI agents: Search Console reads free, plus competitor, keyword, backlink, SERP data.
- VibeSEOOAuthdev.vibeseo
SEO research, audits, backlinks, GSC, and content workflow tools for AI agents.
Related MCP Servers
- AlicenseAqualityDmaintenanceProvides read-only access to Google Search Console data, allowing AI assistants to query site performance metrics like keywords, clicks, and rankings using natural language. It supports listing verified properties, querying search analytics with dimension filters, and retrieving sitemap information.31MIT
- AlicenseNot gradedqualityFmaintenanceProvides 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.615MIT
- AlicenseBqualityBmaintenanceProvides AI agents full access to Bing Webmaster Tools API for site management, URL submission, sitemaps, traffic stats, keyword research, and URL blocking.24191MIT
- 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.154,062MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/parthguru/bing-webmaster-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server