bing-seo-mcp
v1.0.0
Published
MCP server for Bing Webmaster Tools — SEO site management, URL submission, sitemaps, stats, keywords
Maintainers
Readme
🅱️ 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
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
📦 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
- Sign in at Bing Webmaster Tools
- Go to Settings → API access → API Key
- Copy the key — set it via the
b_set_apikeytool or theBING_API_KEYenv 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 withconfirm: true.
📄 License
MIT © skiddgoddamn
