Skip to main content
Glama
idowebid

Bing Webmaster Tools MCP

by idowebid
README.md
# Bing Webmaster Tools MCP

A local MCP server that exposes the Bing Webmaster Tools API to Claude, the same
way the Google Search Console connector works. Your API key stays on your machine.

## What it can do

Read tools: list sites, rank & traffic stats, query stats, query→page and
page→query breakdowns, page stats, per-URL traffic, crawl stats, crawl issues,
crawl settings, URL info, child-URL info, sitemaps/feeds, link counts, inbound
links, connected pages, keyword research, related keywords, blocked URLs,
submission quotas.

Write tools (labelled WRITE in the tool list): submit URL, submit URL batch,
submit/remove sitemap, block/unblock URL.

`call_bing_api` is a generic escape hatch to reach any other Bing Webmaster API
method (AddSite, VerifySite, SaveCrawlSettings, GetQueryTrafficStats, etc.).

## 1. Get your API key

If you ever need a new one: Bing Webmaster Tools →
Settings (gear icon) → **API Access** → **API Key** → generate/copy.

## 2. Install

Requires Python 3.10+.

```bash
cd <folder containing bing_webmaster_mcp.py>
python3 -m pip install -r requirements.txt
```

## 3. Register it in the Claude desktop app

Open the Claude config file:

- macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
- Windows: `%APPDATA%\Claude\claude_desktop_config.json`

Add this under `mcpServers` (merge if the key already exists). Use the **absolute
path** to the script and put your key in the `env` block:

```json
{
  "mcpServers": {
    "bing-webmaster": {
      "command": "python3",
      "args": ["/ABSOLUTE/PATH/TO/bing_webmaster_mcp.py"],
      "env": {
        "BING_WEBMASTER_API_KEY": "PASTE_YOUR_KEY_HERE"
      }
    }
  }
}
```

Save, then fully quit and reopen the Claude desktop app. The `bing-webmaster`
tools will appear in the connectors list.

> Tip: if `python3` isn't on your PATH inside the app, use the full path to your
> interpreter (find it with `which python3`).

## 4. Test it

Run it directly to confirm it starts without errors:

```bash
BING_WEBMASTER_API_KEY=yourkey python3 bing_webmaster_mcp.py
```

It should start and wait on stdio (no output = good; Ctrl+C to exit). Then in
Claude, ask: "List my Bing Webmaster sites" — it should call `list_sites`.

## Notes

- `siteUrl` must match exactly how the site is registered in Bing (including
  `http(s)://` and trailing slash). Run `list_sites` first to get exact values.
- Dates for keyword tools use `YYYY-MM-DD`.
- The API is rate-limited; submission tools consume your daily/monthly quota.
- This uses the official Bing Webmaster API:
  https://learn.microsoft.com/en-us/bingwebmaster/getting-access