Bing Webmaster Tools MCP
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Bing Webmaster Tools MCPTop 20 Bing queries by clicks for my site 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
English · Español
A local MCP server that lets Claude query your Bing Webmaster Tools data in plain language:
"Which queries brought me the most Bing clicks last month?" "Which pages have crawl errors?" "Who links to this URL, and with what anchor text?"
Runs on your computer. Claude starts it locally and it talks straight to the official Bing Webmaster API. No servers, no accounts, nothing in between.
Your own API key. It stays on your machine (stored by Claude Desktop as a sensitive setting, or in your own config).
Read-only. It never submits URLs, edits sitemaps or changes settings.
No dependencies. A single bundled file; Claude Desktop needs nothing else installed.
1. Get your Bing Webmaster Tools API key
Bing Webmaster Tools → Settings (gear icon) → API access → API Key → Generate, and copy it. One key covers every verified site on that account. If you regenerate it, update it in Claude too.
Related MCP server: bing-seo-mcp
2. Install
Claude Desktop — one click (recommended)
Download the latest
bing-webmaster-tools-mcp-x.y.z.mcpbfrom Releases.Double-click it (or drag it onto Claude Desktop, or use Settings → Extensions → Install extension…).
Paste your API key when asked, and enable the extension.
Claude Desktop runs the extension with its own built-in Node.js, so you don't have to install anything.
Claude Desktop — manual config
The same way you'd add any other local MCP server. Requires Node.js 20 or newer.
Open Settings → Developer → Edit Config and add this inside "mcpServers":
{
"mcpServers": {
"bing-webmaster": {
"command": "npx",
"args": ["-y", "bing-webmaster-tools-mcp"],
"env": { "BING_WEBMASTER_API_KEY": "your-api-key" }
}
}
}Save and restart Claude Desktop.
Claude Code
claude mcp add bing-webmaster -e BING_WEBMASTER_API_KEY=your-api-key -- npx -y bing-webmaster-tools-mcpAdd --scope user to make it available in every project.
Other MCP clients (Cursor, VS Code, Windsurf…)
Use the same command, args and env as in the manual config above, in that client's MCP settings.
3. Use it
Start a new chat and ask. Good first prompts:
List my Bing Webmaster sites.
Top 20 queries by clicks on https://example.com/ in the last 3 months, with CTR and position.
Which queries have many impressions but CTR under 1%?
Compare Bing clicks for /blog/ pages in August vs September.
Show crawl issues and sitemap errors for my site.
Tools
Tool | Returns | Bing API method |
| Sites on the account and whether they are verified | GetUserSites |
| Clicks, impressions, CTR and position per query | GetQueryStats |
| Same, per URL | GetPageStats |
| URLs that rank for a query | GetQueryPageStats |
| Queries that lead to a URL | GetPageQueryStats |
| Site-wide clicks and impressions over time | GetRankAndTrafficStats |
| One query over time | GetQueryTrafficStats |
| Daily crawl data: crawled, errors, indexed, blocked… | GetCrawlStats |
| URLs with crawl issues | GetCrawlIssues |
| Index status of a URL | GetUrlInfo |
| Traffic for a URL | GetUrlTrafficInfo |
| Submitted sitemaps and their status | GetFeeds |
| Pages with inbound links | GetLinkCounts |
| Links and anchors pointing to a URL | GetUrlLinks |
| Historical Bing impressions for a keyword | GetKeywordStats |
| Related keywords | GetRelatedKeywords |
| Remaining URL submission quota | GetUrlSubmissionQuota |
Performance tools accept startDate, endDate, aggregate, sortBy, limit and contains. By default they sum every week in the period into one row per query or page (CTR included, position weighted by impressions) and return the top 50 by clicks, so a conversation isn't flooded with raw rows.
Where it works
It's a local connector: it runs on the computer where Claude Desktop or Claude Code is installed. On its own it isn't available on claude.ai in the browser or in the mobile apps, which can only reach connectors hosted on the internet.
Keeping your API key safe
The connector is read-only, but the Bing API key itself is not: the same key can submit URLs, remove sites from your account or grant other people access. Treat it like a password.
Where the key ends up, from safest to least safe:
Method | Where the key is stored | Recommendation |
| In Claude Desktop's settings, as a field marked sensitive; never in a file you edit | ✅ Recommended |
Claude Code ( | Plain text in your personal Claude Code config | OK on a computer only you use |
Manual | Plain text in that file | Works, but anyone with the file sees the key |
Claude Code with | Plain text in | ⚠️ Avoid: easy to commit to Git by mistake |
If you need a project-level config, reference an environment variable instead of the key itself; Claude Code expands it at runtime:
"env": { "BING_WEBMASTER_API_KEY": "${BING_WEBMASTER_API_KEY}" }Good habits:
Never paste the key into a chat with Claude or any other AI. Put it only in the settings field or config.
Install the
.mcpbonly from this repository's Releases page, where GitHub builds it from the published code.If you think the key leaked, regenerate it in Bing Webmaster Tools: the old one stops working immediately. Bing allows one key per user, so update it everywhere you use it.
What this server does with it: the key is only sent to ssl.bing.com over HTTPS, as the official API requires. It's never logged or included in tool output. Report vulnerabilities privately: see SECURITY.md.
Troubleshooting
Symptom | Fix |
"BING_WEBMASTER_API_KEY is not set" | Add the key in the extension settings, or in |
"InvalidApiKey" / key rejected | Copy the key again from Bing, or generate a new one and update it. |
Errors for one specific site | Use the exact URL from |
Tools don't appear (manual config) | Check |
Known limitations
Bing's AI Performance report (Copilot citations) has no public API, so it isn't available here.
Bing reports performance data per week, not per day, and keeps less history than Google Search Console.
Bing currently doesn't report the average click position (the API returns
-1), so only the average impression position is shown.Responses are capped at 200 rows; ask Claude to filter (
contains, dates) or aggregate instead of pulling everything.
Development
npm install
npm run build # dist/index.js
npm run typecheck
npm test # unit tests
npm run test:e2e # runs the built server over stdio against a fake Bing API
npm run pack # builds the Claude Desktop extension (.mcpb)src/index.ts Entry point (stdio)
src/server.ts MCP server and its 17 tools
src/bing.ts Bing Webmaster JSON API client
src/stats.ts Aggregation, filtering and sorting of performance rows
manifest.json Claude Desktop extension manifest
scripts/ Build and .mcpb packaging
test/ Unit and end-to-end testsContributions are welcome — see CONTRIBUTING.md.
License
MIT © Rafa Villaplana. Not affiliated with Microsoft or Anthropic. Bing is a trademark of Microsoft; Claude is a trademark of Anthropic.
Available Tools
17 toolsget_crawl_issuesCrawl issuesBRead-only
URLs with crawl issues detected by Bingbot (error codes, malware, etc.).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return (default 50, max 200). Prefer filters or aggregation over large limits | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered elsewhere. The description adds modest context by naming the data source (Bingbot) and issue classes (error codes, malware), but says nothing about result volume, pagination, or whether the list is per-site aggregate.
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. It is efficient, though it is terse enough that it verges on under-specification rather than true 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?
No output schema exists, so the description partially compensates by saying what the rows contain (URLs with error codes, malware). However, it omits any sense of return shape, ordering, or volume guidance beyond the schema's limit note, leaving gaps for a data-retrieval 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 100%, so both parameters (siteUrl, limit) are documented in the schema, including the format requirement and the 'list_sites if unsure' fallback. The description adds no parameter-level meaning, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific resource ('URLs with crawl issues detected by Bingbot') and enumerates the kinds of issues ('error codes, malware, etc.'), which is enough for an agent to distinguish it from list-style siblings. It stops short of naming the adjacent sibling get_crawl_stats (aggregate crawl statistics) that an agent might confuse it with, so it doesn't fully differentiate.
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 when-to-use guidance, no prerequisites, and no mention of when to prefer get_crawl_stats or get_url_info instead. The only routing hint in the whole definition lives in the schema ('Call list_sites if unsure'), not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crawl_statsCrawl statsCRead-only
Daily crawl data: pages crawled, crawl errors, pages in index, blocked by robots.txt, etc.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld and non-destructive, so safety is covered. Beyond listing returned fields, the description adds nothing behavioral: it does not say what happens when startDate/endDate are omitted, how far back data goes, or whether results are paginated.
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 clause with no filler; the metric list is the most useful part and it comes first. The trailing 'etc.' slightly dilutes precision but costs almost nothing.
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 3-parameter read tool with no output schema, the metric enumeration partially substitutes for a return-value description, which is helpful. Missing date-range default behavior and any routing guidance against the many sibling stats tools keeps it at merely adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including the useful 'call list_sites if unsure' note on siteUrl and the YYYY-MM-DD pattern on both dates, so the schema does the heavy lifting. The description adds only the implicit point that data is daily-grained, which is weak but non-zero 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?
It names the resource (daily crawl data) and enumerates the metrics returned, so the agent knows roughly what it fetches. But the verb is only implied and there is no differentiation from close siblings like get_crawl_issues or get_page_stats, which overlap with 'crawl errors' and 'pages in index'.
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 when-to-use guidance, no prerequisites, and no mention of alternatives such as get_crawl_issues for error detail or get_sitemaps for coverage. The agent must infer selection from the tool name alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inbound_link_countsPages with inbound linksBRead-only
Site pages that receive external links and how many, according to Bing. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Result page, starting at 0 | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description usefully adds the data provenance (Bing) and that results are paginated, but says nothing about ordering, page size, or whether counts are absolute or domain-deduplicated.
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?
Two short sentences, both front-loaded with the essential facts (what is returned, source, pagination) and no filler or repetition of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, low-complexity tool with a fully covered schema this is close to sufficient, but with no output schema the description should say more about the shape of the return (list of pages with counts) and ordering, which it only gestures at.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so siteUrl and page are already fully documented, including the pointer to list_sites. The description only reinforces this with the word 'Paginated', adding no format or constraint detail beyond the schema. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a concrete resource (site pages receiving external links) and the metric returned (how many), plus the data source (Bing). It is clearer than a bare name, but it does not explicitly distinguish itself from the sibling get_inbound_links, which an agent could easily confuse it with.
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 statement of when to use this tool versus get_inbound_links (per-link detail) or get_url_info. 'Paginated' hints that large result sets should be walked with the page parameter, but no explicit context or exclusion is given.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_inbound_linksInbound links to a URLARead-only
External links pointing to one URL of the site, with anchor text. Paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | URL on the site whose inbound links you want | |
| page | No | Result page, starting at 0 | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, so the safety profile is covered. The description adds genuine context beyond that: results are external links with anchor text and the response is paginated, which hints at paging behavior the annotations do not convey. Missing detail on page size or end-of-results, but solid for a read-only tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two terse sentences with the core resource front-loaded and no filler. Every phrase earns its place: the subject (external links), the scope (one URL of the site), the return detail (anchor text), and the behavior (paginated).
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 no output schema, the description carries the return-value burden and does state what comes back (links plus anchor text) and that paging exists. It stops short of describing pagination mechanics or field shape, but for a simple three-parameter read tool this is nearly complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: 'link', 'siteUrl' (including the 'Call list_sites if unsure' hint) and 'page' are all documented in the schema. The description adds only the loose implication that 'Paginated' relates to the page parameter, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('External links pointing to one URL of the site') and adds the return detail 'with anchor text'. It is clear what the tool retrieves, though it never names the close sibling get_inbound_link_counts, so the agent must infer the distinction between raw links and counts.
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 when-to-use or when-not-to-use guidance is given. The description never mentions alternatives such as get_inbound_link_counts, which is the obvious competing tool for backlink data. Usage must be inferred entirely from the name and title.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_keyword_statsKeyword historyARead-only
Historical Bing impressions for a keyword (keyword research; not tied to your site).
| Name | Required | Description | Default |
|---|---|---|---|
| q | Yes | Keyword | |
| country | No | Country code, e.g. us, es, mx (optional) | |
| language | No | Language, e.g. en-US, es-ES (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety and scope profile is covered. The description adds that the data is Bing-sourced, historical, and independent of the user's site, which is useful context but stops short of return format, time range, or granularity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One sentence, front-loaded with the resource and its data source, with the parenthetical scoping constraint packed in at no cost. Nothing is wasted.
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 no output schema, the description carries the burden of describing return values, and while it says what kind of data comes back (Bing impressions), it omits time window, granularity, and metric units. Adequate to select the tool, but thin for interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (q, country, language are each documented in the schema), so the baseline is 3. The description adds no syntax, format, or default guidance for any of the three parameters, so it does not exceed that baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names the exact resource (historical Bing impressions for a keyword) and explicitly scopes it as site-independent, which separates it from site-tied siblings like get_query_stats. The phrasing is a noun clause rather than a verb, but an agent can tell what it returns without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'keyword research; not tied to your site' implies the context of use and gives a when-not signal (site-specific data belongs elsewhere), but it never names the alternative tool or states when this is the right choice over get_related_keywords or get_query_stats. Usage must be inferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_pages_for_queryPages for a queryBRead-only
Which URLs of the site show up in Bing for a given query, with their clicks and impressions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return (default 50, max 200). Prefer filters or aggregation over large limits | |
| query | Yes | Exact query | |
| sortBy | No | Sort order (default: clicks) | |
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| aggregate | No | true (default): one row per item summed over the period. false: one row per item per week | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the meaningful context that data comes from Bing (external data source) and that rows carry clicks and impressions, but says nothing about whether rows are aggregated by default, how the date window behaves when omitted, or the paging cap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no filler; the key scope (URLs for a query) leads. It is phrased as a noun clause rather than an imperative, which is slightly less directive but costs nothing in length.
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 seven parameters, no output schema, and an aggregate flag that changes row granularity, the description leaves the return shape underspecified – it implies clicks and impressions but a page-level report likely also returns ctr and position, and weekly vs. period-summed rows are not mentioned. Bugs and defaults are otherwise covered by the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, including defaults for limit, sortBy and aggregate and the exact-match requirement for query, so the schema carries the parameter burden. The description only references clicks and impressions, which are outputs rather than parameters, and adds no format or syntax detail 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 names the resource (URLs of the site appearing in Bing for a query) and the metrics returned (clicks and impressions), which is more than a restatement of the name. It does not explicitly contrast with the inverse sibling get_queries_for_page or with get_page_stats, so differentiation must be inferred from the title.
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 statement of when to use this tool versus the many siblings, no mention that get_queries_for_page answers the inverse question, and no prerequisites such as needing a verified site URL. The only guidance about site identification lives in the schema, not the description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_page_statsPerformance by pageBRead-only
Clicks, impressions, CTR and average position per URL of the site in Bing (top pages). By default rows are summed per URL over the period.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return (default 50, max 200). Prefer filters or aggregation over large limits | |
| sortBy | No | Sort order (default: clicks) | |
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| contains | No | Only rows whose query/URL contains this text (case-insensitive) | |
| aggregate | No | true (default): one row per item summed over the period. false: one row per item per week | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description's only behavioral addition is the default aggregation semantics ('rows are summed per URL over the period'), which duplicates the schema's own description of the aggregate parameter; nothing is said about data freshness, quota/billing impact, or rate limits.
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?
Two tight sentences that front-load the returned metrics before stating the default row granularity. Slight redundancy with the schema's aggregate parameter description keeps it from being a 5.
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 no output schema and a moderate seven-parameter surface, the description does identify the four returned measures, which is the key missing piece. However, it omits reporting-period conventions (Bing's data lag), how position/CTR are expressed, and the relationship to the sibling query- and page-oriented tools, so it is adequate rather than complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all seven parameters (limit, sortBy, contains, aggregate, dates, siteUrl) are already documented with defaults, ranges and enums. The description adds no syntax, format, or edge-case detail beyond that, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names the concrete metrics (clicks, impressions, CTR, average position), the entity (per URL), the surface (Bing), and the output shape ('top pages'). That is a specific verb+resource statement an agent can act on, though it never names the sibling tools it is distinct from (get_query_stats, get_pages_for_query).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit when-to-use or when-not-to-use guidance, and the sibling list contains several near-identical tools (get_query_stats, get_pages_for_query, get_url_traffic_info) that an agent could easily confuse with this one. Usage is only weakly implied by the 'per URL / top pages' framing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_queries_for_pageQueries for a pageARead-only
Which queries bring Bing traffic to a given URL, with clicks, impressions, CTR and position.
| Name | Required | Description | Default |
|---|---|---|---|
| page | Yes | Full page URL | |
| limit | No | Maximum rows to return (default 50, max 200). Prefer filters or aggregation over large limits | |
| sortBy | No | Sort order (default: clicks) | |
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| contains | No | Only rows whose query/URL contains this text (case-insensitive) | |
| aggregate | No | true (default): one row per item summed over the period. false: one row per item per week | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds the returned metrics (clicks, impressions, CTR, position), which is useful, but says nothing about pagination, aggregation behavior, or rate limits beyond what the schema carries.
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 zero waste; the resource and the metric payload come first and nothing is redundant.
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 no output schema, the description usefully names the return metrics, and the schema plus annotations cover parameters and safety for this 8-param read tool. It stops short of covering pagination/aggregation trade-offs and the reverse-direction sibling, so it is solid but not fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all eight parameters are already documented in the schema. The description adds no syntax or format detail beyond that baseline, which is the expected floor when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (queries) and scope (queries bringing Bing traffic to a given URL), plus the metrics returned. The direction is implicitly contrasted with the sibling get_pages_for_query, but the description never names it, so sibling differentiation is left to inference.
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?
Usage is only implied: an agent infers you call this when you have a URL and want its queries. There is no explicit when-to-use note, no exclusions, and no routing to the reverse-direction sibling get_pages_for_query.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_statsPerformance by queryARead-only
Clicks, impressions, CTR and average position per search query in Bing. Bing keeps weekly data for recent months; by default rows are summed per query over the period.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Maximum rows to return (default 50, max 200). Prefer filters or aggregation over large limits | |
| sortBy | No | Sort order (default: clicks) | |
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| contains | No | Only rows whose query/URL contains this text (case-insensitive) | |
| aggregate | No | true (default): one row per item summed over the period. false: one row per item per week | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so safety is covered. The description adds genuinely useful context beyond that: Bing retains only weekly data for recent months, and the default return shape is one row per query summed over the period. It does not mention rate limits or row/size caps, which the limit param hints at.
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?
Two short sentences, front-loaded with the returned metrics, with no redundant or filler content. Every clause earns its place by conveying either output shape or data-availability behavior.
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 no output schema, the description usefully enumerates the returned fields and discloses the weekly retention window and default aggregation. That is nearly sufficient for correct invocation; pagination is only implicitly handled via the schema's limit parameter.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all seven parameters are documented in the schema itself. The description restates the default aggregation behavior ('rows are summed per query over the period'), which mirrors the aggregate param description rather than adding new syntax or format detail. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States the exact metrics returned (clicks, impressions, CTR, average position) and the resource granularity (per search query in Bing), which cleanly distinguishes it from get_page_stats and get_queries_for_page. It never names a sibling explicitly, so differentiation is implicit rather than 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 implies the tool's role (query-level metric retrieval) and notes data retention and default summing, but gives no explicit when-to-use vs alternatives guidance (e.g. when to prefer get_query_trend or get_page_stats). Usage is inferable but not directed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_query_trendQuery trendBRead-only
Time series of clicks and impressions for one query in Bing.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Exact query | |
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so safety behavior is covered structurally. The description adds the returned metrics (clicks and impressions), which is useful content, but says nothing about default date range, granularity, or result limits.
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 tight sentence with the resource and scope front-loaded and zero filler. Nothing could be removed without losing meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity read tool with full schema coverage and clear read-only annotations, this is nearly adequate. The notable gap is that omitting the optional startDate/endDate has an unknown default behavior that is never disclosed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all four parameters (query, siteUrl, startDate, endDate) are already documented in the schema, including the list_sites hint for siteUrl. The description adds no format or date-range semantics beyond 'for one query', so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (time series of clicks and impressions) scoped to one query, which is a clear verb-equivalent and tells the agent this is a temporal breakdown rather than an aggregate. It implicitly separates itself from get_query_stats via 'Time series', but never names siblings explicitly, so it stops 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?
No when-to-use, when-not-to-use, or alternative routing is given. The phrase 'for one query' implies single-query scope, but an agent must infer on its own when to pick this over get_query_stats or get_traffic_trend.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sitemapsSitemapsBRead-only
Submitted sitemaps and feeds: status, URLs discovered, last crawl and errors.
| Name | Required | Description | Default |
|---|---|---|---|
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so safety is covered. The description adds value by disclosing the returned content categories (status, discovered URLs, last crawl, errors), which the annotations do not provide, but it says nothing about result volume, pagination, or refresh timing.
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 compact sentence with no filler, and the most useful content (what is returned) is front-loaded. The telegraphic fragment style is efficient though slightly clipped.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter, read-only tool with no output schema, the description adequately communicates both scope and return content, and the schema handles the parameter. Only the absence of any usage/exclusion guidance keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter exists and the schema documents it at 100% coverage, including the pointer to list_sites, so the schema carries the full burden. The description contributes no additional parameter meaning, which is the expected baseline in this situation.
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 the resource ('submitted sitemaps and feeds') and enumerates what it surfaces (status, URLs discovered, last crawl, errors), which clearly separates it from the keyword/traffic/crawl-stat siblings. It is a noun phrase rather than an explicit verb+resource, but an agent can still tell what it does without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no statement of when to use this tool versus alternatives, nor any prerequisites beyond what the schema's siteUrl description already supplies ('Call list_sites if unsure'). The agent must infer usage 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_traffic_trendTraffic trendARead-only
Time series of clicks and impressions for the whole site in Bing.
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | No | End date, YYYY-MM-DD (optional) | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. | |
| startDate | No | Start date, YYYY-MM-DD (optional) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds the metrics returned (clicks and impressions), which annotations do not convey, but says nothing about date-range defaults for the optional dates or the time granularity of the series.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the resource and scope. Nothing is wasted or buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description should carry more of the return-shape burden. It names the metrics but not the interval/granularity of the series or what happens when startDate/endDate are omitted, which are the details an agent most needs for a trend 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 100%: siteUrl's format, the list_sites fallback, and the YYYY-MM-DD pattern for startDate/endDate are all documented in the schema. The description adds no parameter meaning beyond that, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (time series of clicks and impressions) and scope (whole site, in Bing), so an agent knows it returns trend data rather than a snapshot. The phrase 'whole site' implicitly distinguishes it from get_query_trend and get_url_traffic_info, but those siblings are never named.
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?
Usage is only implied: 'whole site' suggests this is the aggregate trend view as opposed to the query- or page-level trend siblings, but there is no explicit when-to-use statement, no prerequisites, and no named alternative. Adequate but leaves routing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_infoURL index statusBRead-only
Index information for one URL: HTTP status, discovery and last crawl dates, size, document links…
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, and openWorldHint=true, covering the safety profile. The description usefully adds the kinds of values returned, which matters because there is no output schema, but it omits behavior for unindexed URLs, errors, and any rate limits.
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 keeps it tight, and the enumerated fields are efficient. The trailing ellipsis is a minor structural weakness that makes the return list feel incomplete.
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?
Required parameters and safety semantics are adequately covered via schema and annotations. However, with no output schema, the description's partial field list ending in '…' leaves the full return shape and non-happy-path behavior 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 100%, and the schema itself explains that siteUrl must exactly match the verified Bing Webmaster Tools site and suggests list_sites when unsure. The description adds no parameter-level meaning beyond that, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: index information for one URL, and lists several returned fields (HTTP status, discovery/last crawl dates, size, document links). It does not explicitly distinguish itself from siblings such as get_url_traffic_info or get_inbound_links, 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 gives no when-to-use or when-not-to-use guidance and does not name alternatives. 'For one URL' implies scope but does not tell the agent which sibling to choose for traffic, links, or keyword data. The list_sites hint lives in the schema, not the description, so it does not count here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_submission_quotaURL submission quotaBRead-only
How many URLs the site can still submit to Bing today and this month.
| Name | Required | Description | Default |
|---|---|---|---|
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is clear. The description adds useful quota semantics (remaining submissions for today and this month) but does not disclose auth requirements, side effects, or whether the quota resets.
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 zero wasted words. It states the output concept directly and is appropriately sized for a simple read-only tool.
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-only tool with annotations covering safety and a fully described schema, the definition is largely complete. It states the return concept despite having no output schema, though it lacks explicit usage guidance.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single siteUrl parameter is already well documented, including an example and a pointer to list_sites. The description adds no additional parameter meaning beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the specific information returned: how many URLs the site can still submit to Bing today and this month. It does not explicitly contrast with any sibling tool, but the resource and scope are unambiguous.
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 call this tool versus alternatives. The schema notes calling list_sites if unsure of the site URL, but that is parameter-preparation guidance, not tool-selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_url_traffic_infoURL trafficBRead-only
Clicks and impressions for one URL according to Bing's index.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | Full URL | |
| siteUrl | Yes | Site URL exactly as verified in Bing Webmaster Tools (e.g. https://example.com/). Call list_sites if unsure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds one useful piece of context (the data reflects Bing's index), but omits the reporting window, freshness, and whether data is returned for zero-traffic URLs.
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. Nothing is wasted, though for a metrics tool the brevity borders on under-specification rather than tightness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only query tool with full schema coverage and no output schema, the essentials are present. The notable gap is that 'clicks and impressions' implies a time window that is neither a parameter nor explained, leaving the agent unable to tell what period or granularity the numbers cover.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented in the schema, including the pointer to list_sites for siteUrl. The description adds nothing beyond identifying the subject as a single URL, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and metric set: clicks and impressions for a single URL. 'For one URL' meaningfully separates it from aggregate siblings like get_traffic_trend and get_query_stats, though it does not name a sibling 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 when-to-use or when-not-to-use guidance and no mention of alternatives such as get_page_stats or get_url_info, so the agent must infer selection criteria from sibling names alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_sitesList sitesARead-only
Lists the user's sites in Bing Webmaster Tools and whether each is verified. Call this first to get the exact siteUrl.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds that results carry a verification flag and that this call is a prerequisite for others, but says nothing about auth scope, pagination, or result shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, purpose first and the sequencing instruction second. Every clause earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a no-param read tool with no output schema, the description covers what is listed, the extra verification field, and why the agent should call it early. It stops short of describing the remaining returned fields or volume, which is a minor gap given the trivial interface.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters and the schema is trivially empty at 100% coverage, so there is no parameter semantics to add. Baseline 4 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Lists the user's sites in Bing Webmaster Tools') plus a distinguishing detail (verified status), and frames itself as the entry point that yields the siteUrl every other tool needs, which separates it from siblings like get_sitemaps or get_url_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?
'Call this first to get the exact siteUrl' gives explicit ordering guidance relative to the other 15 tools in the family. It doesn't state a when-not condition, but for a zero-argument enumeration call there is little to exclude.
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.
17 tool updates
v1.0.0- First observed
get_crawl_issues - First observed
get_crawl_stats - First observed
get_inbound_link_counts - First observed
get_inbound_links - First observed
get_keyword_stats - First observed
get_page_stats - First observed
get_pages_for_query - First observed
get_queries_for_page - First observed
get_query_stats - First observed
get_query_trend - First observed
get_related_keywords - First observed
get_sitemaps - First observed
get_traffic_trend - First observed
get_url_info - First observed
get_url_submission_quota - First observed
get_url_traffic_info - First observed
list_sites
TDQS
Scored across 17 tools
Most tools target a clearly distinct dimension (queries, pages, crawls, links, sitemaps, trends), and descriptions explicitly disambiguate the risky pairs like get_query_stats vs get_queries_for_page and get_page_stats vs get_pages_for_query. The only mild overlap is get_inbound_links vs get_inbound_link_counts (per-URL link detail vs per-page counts) and get_url_info vs get_url_traffic_info, but both pairs are still distinguishable from their descriptions.
Every tool follows a consistent verb_noun snake_case pattern, overwhelmingly get_* with a single list_sites. The noun phrases are descriptive and predictable across the whole set.
17 tools is slightly above the ideal range for a single-domain server, but the domain (a full webmaster analytics API) is broad and each tool maps to a distinct report or entity. None feel like filler, so it justifies its weight without being bloated.
Coverage is strong across analytics (queries, pages, trends), crawl diagnostics, sitemaps, links, and keyword research. The main gap is action-oriented operations like URL submission and sitemap submission: get_url_submission_quota hints at submission but no submit tool exists, leaving a write-side dead end.
Maintenance
Related MCP Connectors
Live SEO workflow tools for Claude Code, Codex, and AI agents.
Query your Google Search Console, GA4 and Bing Webmaster data across every site you run.
SEO audits, Search Console, GA4, keyword and backlink data for Claude, ChatGPT and Cursor.
Live Google Ads, GA4, Search Console, Meta Ads and GBP data in Claude, ChatGPT and any MCP client
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables querying Google Search Console data, including search analytics, indexing status, and sitemap management, through natural language conversations with Claude.94 npm6MIT
- AlicenseBqualityCmaintenanceProvides AI agents full access to Bing Webmaster Tools API for site management, URL submission, sitemaps, traffic stats, keyword research, and URL blocking.248 npm1MIT
- AlicenseAqualityAmaintenanceBing Webmaster Tools and IndexNow for AI agents: traffic, indexing, crawl issues, inbound links, keywords. Direct writes are off by default; changes go through a plan a person applies.63287 PyPI1MIT
- AlicenseCqualityCmaintenanceEnables AI assistants to manage Bing Webmaster Tools, including site verification, URL submissions, traffic analytics, crawl monitoring, and keyword analysis through natural language.62MIT