Skip to main content
Glama
bing-seo-mcp

bing-seo-mcp

by skiddgoddamn

πŸ…±οΈ bing-seo-mcp

The full Bing Webmaster Tools API for AI agents β€” over one MCP server.

Sites & verification Β· URL submission Β· Sitemaps Β· Traffic & crawl stats Β· Keyword research Β· URL blocking

npm version npm downloads node license MCP


A Model Context Protocol server that lets Claude (and any MCP client) drive Bing Webmaster Tools end to end β€” manage and verify sites, push URLs for indexing, submit sitemaps, pull traffic / query / crawl stats, research keywords, and block URLs. Auth is a single API key β€” paste it once and you're running.

✨ Highlights

  • 🌐 Sites & verification β€” list, add, verify, inspect roles

  • πŸ“€ URL submission β€” single, batch, full-content, with live quota

  • πŸ—ΊοΈ Sitemaps β€” list and submit feeds

  • πŸ“ˆ Stats β€” rank & traffic, queries, pages, crawl stats & issues

  • πŸ”‘ Keyword research β€” keyword and related-keyword data

  • 🚫 URL blocking β€” block pages/directories and deep links

  • πŸ” One-key auth β€” validated on save, stored locally

  • πŸ›‘οΈ Safety rails β€” read-only mode and per-call confirm guards

Related MCP server: Bing Webmaster MCP Server

πŸ“¦ Installation

Run straight from npm with npx (no install needed), or build from source:

# from source
git clone https://github.com/skiddgoddamn/bing-seo-mcp
cd bing-seo-mcp
npm install && npm run build

πŸ”Œ Connect to your MCP client

Add to your MCP config (e.g. ~/.claude.json or claude_desktop_config.json):

{
  "mcpServers": {
    "bing-seo": {
      "command": "npx",
      "args": ["-y", "bing-seo-mcp"],
      "env": { "BING_API_KEY": "" }
    }
  }
}
{
  "mcpServers": {
    "bing-seo": {
      "command": "node",
      "args": ["F:/projects/bing-seo-mcp/build/index.js"]
    }
  }
}

πŸ”‘ Get your API key

  1. Sign in at Bing Webmaster Tools

  2. Go to Settings β†’ API access β†’ API Key

  3. Copy the key β€” set it via the b_set_apikey tool or the BING_API_KEY env var

πŸš€ Setup flow

Step

Tool

What happens

1

b_set_apikey

Save your key β€” validated against the live API before it's stored

2

bing_sites_get

List your verified sites

βœ“

b_auth_status

Check whether the key is configured and valid

βš™οΈ Environment variables

Variable

Default

Description

BING_API_KEY

β€”

Fallback API key (a saved key takes precedence)

BING_MCP_CONFIG_DIR

~/.bing-seo-mcp

Override the config directory

B_READONLY

false

Block every mutating tool (_add _submit _remove _block _verify)

B_CONFIRM

false

Require a confirm=true argument on mutating calls

B_LOG_LEVEL

INFO

DEBUG Β· INFO Β· WARNING Β· ERROR

B_LOG_BODIES

false

Log request/response bodies to stderr (verbose)

B_LOG_FILE

β€”

Append log lines to a file (default: stderr only)

See .env.example for a ready-to-copy template.

🧰 Tool reference

πŸ” Auth

Tool

Description

b_auth_status

Show whether an API key is configured and valid

b_set_apikey

Save and validate the Bing Webmaster API key

🌐 Site management

Tool

Description

bing_sites_get

List all sites for the authenticated user

bing_site_add

Add a site to the account

bing_site_verify

Trigger ownership verification for a site

bing_site_roles

Get roles/owners of a site

πŸ“€ URL submission

Tool

Description

bing_submit_url

Submit a single URL for indexing

bing_submit_url_batch

Submit multiple URLs in one batch

bing_submit_content

Submit a URL with its full HTTP content

bing_url_quota

Daily/monthly URL submission quota

πŸ—ΊοΈ Sitemaps

Tool

Description

bing_sitemaps_get

List submitted sitemaps/feeds for a site

bing_sitemap_submit

Submit a sitemap/feed URL

πŸ“ˆ Stats & analytics

Tool

Description

bing_rank_traffic_stats

Rank and traffic stats for a site

bing_query_stats

Search query stats for a site

bing_page_stats

Per-page traffic stats

bing_page_query_stats

Query stats for a specific page

bing_crawl_stats

Crawl stats for a site

bing_crawl_issues

Crawl issues/errors for a site

πŸ”‘ Keywords

Tool

Description

bing_keyword_get

Impression data for an exact keyword

bing_related_keywords

Related keywords for a query

🚫 URL blocking

Tool

Description

bing_blocked_urls_get

List blocked URLs for a site

bing_block_url_add

Block a URL or directory from Bing search

bing_block_url_remove

Remove a URL block

bing_deep_link_block

Add a deep link block

πŸ›‘οΈ Safety rails

  • B_READONLY=true β€” blocks every tool whose name contains _add _submit _remove _block _verify. Reads still work.

  • B_CONFIRM=true β€” mutating tools return a preview and require a follow-up call with confirm: true.

πŸ“„ License

MIT Β© skiddgoddamn

Available Tools

24 tools
b_auth_statusA

Show Bing auth status: whether an API key is configured and valid.

Inputs: no named parameters.

bing_blocked_urls_getB

Bing: list blocked URLs for a site.

Inputs: site_url (required).

bing_block_url_addC

Bing: block a URL or directory from Bing search.

Inputs: site_url (required), blocked_url (required), entity_type (required), date.

bing_block_url_removeC

Bing: remove a URL block.

Inputs: site_url (required), blocked_url (required), entity_type (required).

bing_crawl_issuesB

Bing: get crawl issues (errors) for a site.

Inputs: site_url (required).

bing_crawl_statsC

Bing: get crawl stats for a site.

Inputs: site_url (required).

bing_keyword_getC

Bing: get impression/keyword data for an exact query.

Inputs: q (required), country (required), end_date (required), language (required), +1 more.

bing_page_query_statsC

Bing: get query stats for a specific page.

Inputs: page (required), site_url (required).

bing_page_statsC

Bing: get per-page traffic stats for a site.

Inputs: site_url (required).

bing_query_statsC

Bing: get search query stats for a site.

Inputs: site_url (required).

bing_rank_traffic_statsC

Bing: get rank and traffic stats for a site.

Inputs: site_url (required).

bing_site_addC

Bing: add a site to the account.

Inputs: site_url (required).

bing_sitemaps_getA

Bing: list submitted sitemaps/feeds for a site.

Inputs: site_url (required).

bing_sitemap_submitB

Bing: submit a sitemap/feed URL for a site.

Inputs: feed_url (required), site_url (required).

bing_site_rolesC

Bing: get roles/owners of a site.

Inputs: site_url (required).

bing_sites_getA

Bing: list all sites for the authenticated user.

Inputs: no named parameters.

bing_site_verifyA

Bing: trigger verification for a site (after placing the verification token).

Inputs: site_url (required).

bing_submit_contentB

Bing: submit a URL together with its HTTP content (content submission API).

Inputs: url (required), site_url (required), http_message (required), dynamic_serving, +1 more.

bing_submit_urlB

Bing: submit a single URL for indexing.

Inputs: url (required), site_url (required).

bing_submit_url_batchB

Bing: submit multiple URLs for indexing in one batch.

Inputs: urls (required), site_url (required).

bing_url_quotaA

Bing: get daily/monthly URL submission quota for a site.

Inputs: site_url (required).

b_set_apikeyA

Save the Bing Webmaster Tools API key. Validated via GetUserSites before saving. Get it at Bing Webmaster Tools β†’ Settings β†’ API access β†’ API Key.

Inputs: api_key (required).

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 24 tools

    Disambiguation5/5

    Each tool targets a specific operation (auth, site management, URL submission, sitemaps, stats, keywords, blocking) with clear boundaries. Even similar tools like submit_url, submit_url_batch, and submit_content are differentiated by their purpose and input.

    Naming Consistency4/5

    Most tools follow a 'bing_<domain>_<action>' pattern, but there are minor inconsistencies: plural vs singular (bing_sites_get vs bing_site_add) and verb placement (bing_site_verify vs bing_verify? Actually consistent) but overall pattern is recognizable.

    Tool Count4/5

    24 tools is on the higher end but justified by the broad scope of Bing Webmaster Tools (auth, sites, URLs, sitemaps, analytics, keywords, blocking). Each tool provides distinct functionality, so no obvious bloat.

    Completeness5/5

    The tool surface covers the full lifecycle of Bing SEO: authentication, site management (add, verify, roles), URL submission (single, batch, content), sitemaps, analytics, keywords, and blocking. Only minor gaps like site deletion or sitemap removal, but likely not supported by API.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      Bing 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.
      63
      56 PyPI
      1
      MIT
    • A
      license
      C
      quality
      B
      maintenance
      Enables AI assistants to query Bing Webmaster Tools data such as site verification, traffic analytics, and search performance, with read-only defaults and configurable site access controls.
      34
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Enables MCP clients to manage Bing Webmaster Tools data, including search performance, sitemaps, URL submission, IndexNow pings, crawl diagnostics, keyword research, and backlinks.
      14
      31 npm
      MIT