Skip to main content
Glama
mcp-server-bing-webmaster

mcp-server-bing-webmaster

by isiahw1

MCP Server for Bing Webmaster Tools

npm version License: MIT Python Node

An MCP (Model Context Protocol) server that provides access to Bing Webmaster Tools functionality through Claude and other MCP-compatible AI assistants.

🚀 Quick Start

For Claude Code Users:

# Add the MCP server with your API key
claude mcp add bing-webmaster -e BING_WEBMASTER_API_KEY=your_api_key_here -- npx -y @isiahw1/mcp-server-bing-webmaster@latest

# Launch Claude Code
claude

For Claude Desktop Users:

Add to your configuration (Settings → Developer → Edit Config):

{
  "mcpServers": {
    "bing-webmaster": {
      "command": "npx",
      "args": ["-y", "@isiahw1/mcp-server-bing-webmaster@latest"],
      "env": {
        "BING_WEBMASTER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Get your API key from Bing Webmaster Tools → Settings → API Access

Related MCP server: microsoft-ads-mcp

Table of Contents

Features

  • 🚀 Direct API Integration: Simple and reliable access to Bing Webmaster Tools

  • 📊 Comprehensive Features: Site management, traffic analytics, crawl data, and more

  • 🛡️ Error Handling: Robust error handling with detailed logging

  • 🎯 MCP Compliant: Full compatibility with Model Context Protocol

  • 📈 Rich Functionality: URL submission, keyword analysis, sitemap management, and more

Installation

Prerequisites

Quick Start

The easiest way to use this MCP server is through npx (no installation required):

npx @isiahw1/mcp-server-bing-webmaster@latest

Global Installation (Optional)

npm install -g @isiahw1/mcp-server-bing-webmaster

Development Installation

For contributors and developers:

git clone https://github.com/isiahw1/mcp-server-bing-webmaster.git
cd mcp-server-bing-webmaster
uv pip install -e .

Configuration

1. Get your Bing Webmaster API Key

  1. Sign in to Bing Webmaster Tools

  2. Go to Settings → API Access

  3. Generate your API key

2. Client Setup Instructions

# Add the MCP server with inline API key
claude mcp add bing-webmaster -e BING_WEBMASTER_API_KEY=your_api_key_here -- npx -y @isiahw1/mcp-server-bing-webmaster@latest

# Launch Claude Code
claude

Option 2: Using System Environment Variable

# Set your API key
export BING_WEBMASTER_API_KEY="your_api_key_here"

# Add the MCP server
claude mcp add bing-webmaster -- npx -y @isiahw1/mcp-server-bing-webmaster@latest

# Launch Claude Code
claude

Option 3: Using Environment File

# Create .env file
echo "BING_WEBMASTER_API_KEY=your_api_key_here" > .env

# Add the MCP server
claude mcp add bing-webmaster -- npx -y @isiahw1/mcp-server-bing-webmaster@latest

# Launch Claude Code
claude

Troubleshooting

If you encounter issues, run with debug mode:

claude --mcp-debug
  1. Open Claude Desktop

  2. Go to Claude → Settings

  3. Select Developer from the sidebar

  4. Click Edit Config

  5. Add the following to your configuration:

{
  "mcpServers": {
    "bing-webmaster": {
      "command": "npx",
      "args": ["-y", "@isiahw1/mcp-server-bing-webmaster@latest"],
      "env": {
        "BING_WEBMASTER_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Save the file and restart Claude Desktop

Configuration file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

  1. Launch Cursor

  2. Open Cursor → Settings → Cursor Settings

  3. Select MCP in the left sidebar

  4. Click Add new global MCP server

  5. Paste this configuration:

{
  "mcpServers": {
    "bing-webmaster": {
      "command": "npx",
      "args": ["-y", "@isiahw1/mcp-server-bing-webmaster@latest"],
      "env": {
        "BING_WEBMASTER_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Restart Cursor

  1. Open Windsurf

  2. Navigate to Settings → MCP Configuration

  3. Add the following configuration:

{
  "mcpServers": {
    "bing-webmaster": {
      "command": "npx",
      "args": ["-y", "@isiahw1/mcp-server-bing-webmaster@latest"],
      "env": {
        "BING_WEBMASTER_API_KEY": "your_api_key_here"
      }
    }
  }
}
  1. Restart Windsurf

For developers working with the source code:

# Clone the repository
git clone https://github.com/isiahw1/mcp-server-bing-webmaster.git
cd mcp-server-bing-webmaster

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv pip install -e .

Claude Desktop Configuration for Development

{
  "mcpServers": {
    "bing-webmaster-dev": {
      "command": "uv",
      "args": ["run", "python", "-m", "mcp_server_bwt"],
      "cwd": "/path/to/mcp-server-bing-webmaster",
      "env": {
        "BING_WEBMASTER_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Code Configuration for Development

# Set environment variable
export BING_WEBMASTER_API_KEY="your_api_key_here"

# Run from the project directory
cd /path/to/mcp-server-bing-webmaster
claude mcp add bing-webmaster-dev -- uv run python -m mcp_server_bwt

3. Verify Installation

After configuration, you should be able to:

  • See "bing-webmaster" in your MCP servers list

  • Use commands like "Show me all my sites in Bing Webmaster Tools"

  • Access all Bing Webmaster Tools functions

Troubleshooting

"Could not attach to MCP server" error:

  1. Check your API key is correct

  2. Ensure you have internet connectivity

  3. For Claude Desktop: Check logs in Settings → Developer → Open Logs Folder

  4. For Claude Code: Run with claude --mcp-debug

"spawn mcp-server-bing-webmaster ENOENT" error:

  • Make sure you're using npx as the command, not mcp-server-bing-webmaster

  • If you have an old global installation, uninstall it: npm uninstall -g @isiahw1/mcp-server-bing-webmaster

Available Tools

Site Management

  • get_sites - List all verified sites in your account

  • add_site - Add a new site to Bing Webmaster Tools

  • verify_site - Verify ownership of a site

  • remove_site - Remove a site from your account

  • get_site_roles - Get list of users with access to the site

  • add_site_roles - Delegate site access to another user

Traffic Analysis

  • get_query_stats - Get search query performance data

  • get_page_stats - Get page-level traffic statistics

  • get_rank_and_traffic_stats - Get overall ranking and traffic data

  • get_query_page_stats - Get detailed traffic statistics for a specific query

  • get_query_page_detail_stats - Get statistics for specific query-page combinations

  • get_url_traffic_info - Get traffic information for specific URLs

Crawling & Indexing

  • get_crawl_stats - View crawl statistics and bot activity

  • get_crawl_issues - Get crawl errors and issues

  • get_crawl_settings - Get crawl settings for a site

  • update_crawl_settings - Update crawl settings (slow/normal/fast)

  • get_url_info - Get detailed index information for a specific URL

URL Management

  • submit_url - Submit a single URL for indexing

  • submit_url_batch - Submit multiple URLs at once

  • get_url_submission_quota - Check your URL submission limits

Content Submission

  • submit_content - Submit page content directly without crawling

  • get_content_submission_quota - Get content submission quota information

Sitemaps & Feeds

  • submit_sitemap - Submit a new sitemap

  • remove_sitemap - Remove a sitemap

  • get_feeds - Get all RSS/Atom feeds for a site

Keyword Analysis

  • get_keyword_data - Get detailed data for specific keywords

  • get_related_keywords - Find related search terms

  • get_keyword_stats - Get historical statistics for a specific keyword

  • get_link_counts - Get inbound link statistics

  • get_url_links - Get inbound links for specific site URL (requires link and page parameters)

  • add_connected_page - Add a page that has a link to your website

Content Blocking

  • get_blocked_urls - View blocked URLs

  • add_blocked_url - Block URLs from crawling

  • remove_blocked_url - Unblock URLs

  • get_deep_link_blocks - Get list of blocked deep links

  • add_deep_link_block - Block deep links for specific URL patterns

  • remove_deep_link_block - Remove a deep link block

URL Parameters

  • get_query_parameters - Get URL normalization parameters (may require special permissions)

  • add_query_parameter - Add URL normalization parameter

  • remove_query_parameter - Remove a URL normalization parameter

Geographic Settings

  • get_country_region_settings - Get country/region targeting settings (may require special permissions)

  • add_country_region_settings - Add country/region targeting settings

  • remove_country_region_settings - Remove country/region targeting settings

Page Preview Management

  • add_page_preview_block - Add a page preview block to prevent rich snippets

  • get_active_page_preview_blocks - Get list of active page preview blocks

  • remove_page_preview_block - Remove a page preview block

Site Migration

  • get_site_moves - Get history of site moves/migrations

  • submit_site_move - Submit a site move/migration notification

Children URL Management

  • get_children_url_info - Get information about child URLs under a parent URL

  • get_children_url_traffic_info - Get traffic information for child URLs

Usage Examples

Once configured, you can use these tools in Claude:

Basic Examples

"Show me all my verified sites in Bing Webmaster Tools"
"What are the top search queries for example.com?"
"Submit https://example.com/new-page for indexing"
"Show me crawl errors for my site"
"What's my daily URL submission quota?"

Advanced Examples

"Get detailed stats for the query 'best products' on my site"
"Submit this HTML content directly for https://example.com/page"
"Show me traffic info for my top 10 pages"
"Add user@example.com as an administrator for my site"
"Block all URLs matching /temp/* pattern"
"Get historical data for the keyword 'seo tools'"
"Configure crawl rate to slow for my site"
"Get keyword suggestions related to 'marketing'"

Development

Setup Development Environment

# Clone the repository
git clone https://github.com/isiahw1/mcp-server-bing-webmaster.git
cd mcp-server-bing-webmaster

# Install uv (if not already installed)
curl -LsSf https://astral.sh/uv/install.sh | sh

# Install dependencies
uv sync

# Install in development mode
uv pip install -e .

Running the Server

# Set your API key
export BING_WEBMASTER_API_KEY=your_api_key_here

# Run the server
uv run python -m mcp_server_bwt

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

License

MIT License - see LICENSE file for details.

Support

For issues, questions, or contributions, please visit: https://github.com/isiahw1/mcp-server-bing-webmaster

Available Tools

60 tools
add_blocked_urlC

Block a URL or directory from being crawled.

Inputs: site_url (required), url (required), block_type. Returns: result

add_connected_pageC

Add a page that has a link to your website.

Inputs: site_url (required), connected_url (required). Returns: result

add_country_region_settingsC

Add country/region targeting settings.

Inputs: site_url (required), country_code (required), region_code. Returns: result

add_page_preview_blockC

Add a page preview block to prevent rich snippets.

Inputs: site_url (required), block_url (required), block_type. Returns: result

add_query_parameterD

Add URL normalization parameter.

Inputs: site_url (required), parameter (required). Returns: result

add_siteB

Add a new site to Bing Webmaster Tools

Inputs: site_url (required). Returns: result

add_site_rolesC

Delegate site access to another user.

Inputs: site_url (required), user_email (required), auth_token (required), role_type (required), +2 more. Returns: result

enable_disable_query_parameterC

Enable or disable a URL query parameter.

Inputs: site_url (required), parameter (required), enabled (required). Returns: result

fetch_urlC

Request Bing to fetch/crawl a specific URL.

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

get_active_page_preview_blocksC

Get list of active page preview blocks.

Inputs: site_url (required). Returns: result

get_blocked_urlsC

Get list of blocked URLs for a site.

Inputs: site_url (required). Returns: result

get_children_url_infoC

Get information about child URLs under a parent URL.

Inputs: site_url (required), parent_url (required). Returns: result

get_children_url_traffic_infoC

Get traffic information for child URLs.

Inputs: site_url (required), parent_url (required), limit. Returns: result

get_connected_pagesB

Get list of connected pages that link to your site.

Inputs: site_url (required). Returns: result

get_content_submission_quotaC

Get content submission quota information.

Inputs: site_url (required). Returns: result

get_country_region_settingsA

Get country/region targeting settings. Note: May require special permissions.

Inputs: site_url (required). Returns: result

get_crawl_issuesB

Get crawl issues and errors for a site.

Inputs: site_url (required). Returns: result

get_crawl_settingsC

Get crawl settings for a site.

Inputs: site_url (required). Returns: result

get_crawl_statsC

Retrieve crawl statistics for a specific site.

Inputs: site_url (required). Returns: result

get_feed_detailsC

Get detailed information about a specific feed.

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

get_feedsC

Get all RSS/Atom feeds for a site.

Inputs: site_url (required). Returns: result

get_fetched_url_detailsD

Get detailed information about a fetched URL.

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

get_fetched_urlsC

Get list of URLs that have been fetched.

Inputs: site_url (required). Returns: result

get_keyword_dataC

Get detailed data for a specific keyword/query.

Inputs: site_url (required), query (required). Returns: result

get_keyword_statsC

Get historical statistics for a specific keyword.

Inputs: site_url (required), query (required), country, language. Returns: result

get_page_query_statsC

Get query statistics for a specific page.

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

get_page_statsC

Get traffic statistics for top pages.

Inputs: site_url (required). Returns: result

get_query_page_detail_statsC

Get detailed statistics for a specific query and page combination.

Inputs: site_url (required), query (required), page (required). Returns: result

get_query_page_statsC

Get detailed traffic statistics for a specific query.

Inputs: site_url (required), query (required). Returns: result

get_query_parametersC

Get URL normalization parameters. Note: May require special permissions.

Inputs: site_url (required). Returns: result

get_query_statsC

Get detailed traffic statistics for top queries.

Inputs: site_url (required). Returns: result

get_query_traffic_statsC

Get traffic statistics for queries over time.

Inputs: site_url (required), query (required), period. Returns: result

get_rank_and_traffic_statsC

Get overall ranking and traffic statistics.

Inputs: site_url (required). Returns: result

get_site_movesC

Get history of site moves/migrations.

Inputs: site_url (required). Returns: result

get_site_rolesC

Get list of users with access to the site.

Inputs: site_url (required). Returns: result

get_sitesA

Retrieve all sites in the user's Bing Webmaster Tools account

Inputs: no named parameters. Returns: result

get_url_infoC

Get detailed index information for a specific URL.

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

get_url_submission_quotaC

Get information about URL submission quota and usage.

Inputs: site_url (required). Returns: result

get_url_traffic_infoC

Get traffic information for specific URLs.

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

remove_blocked_urlC

Remove a URL from the blocked list.

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

remove_country_region_settingsC

Remove country/region targeting settings.

Inputs: site_url (required), country_code (required). Returns: result

remove_feedC

Remove a feed from Bing Webmaster Tools.

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

remove_page_preview_blockC

Remove a page preview block.

Inputs: site_url (required), block_url (required). Returns: result

remove_query_parameterC

Remove a URL normalization parameter.

Inputs: site_url (required), parameter (required). Returns: result

remove_siteC

Remove a site from Bing Webmaster Tools

Inputs: site_url (required). Returns: result

remove_sitemapC

Remove a sitemap from Bing.

Inputs: site_url (required), sitemap_url (required). Returns: result

remove_site_roleC

Remove a user's access to a site.

Inputs: site_url (required), user_email (required). Returns: result

submit_contentC

Submit page content directly to Bing without crawling.

Inputs: site_url (required), url (required), content (required), content_type, +1 more. Returns: result

submit_sitemapB

Submit a sitemap to Bing.

Inputs: site_url (required), sitemap_url (required). Returns: result

submit_site_moveC

Submit a site move/migration notification.

Inputs: old_site_url (required), new_site_url (required), move_type. Returns: result

submit_urlC

Submit a single URL for indexing.

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

submit_url_batchC

Submit multiple URLs for indexing.

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

update_crawl_settingsC

Update crawl settings for a site.

Inputs: site_url (required), crawl_rate. Returns: result

verify_siteC

Attempt to verify ownership of a site

Inputs: site_url (required). Returns: result

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    C2.8/5.0

    Scored across 60 tools

    Disambiguation3/5

    The tools have clear purposes but significant overlap exists, particularly in the 'get_' category where many tools retrieve similar types of data (e.g., get_crawl_stats, get_page_stats, get_query_stats, get_rank_and_traffic_stats all provide traffic/statistical data). While descriptions help differentiate them, an agent could easily misselect between closely related tools like get_query_stats and get_query_traffic_stats.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout. All tools use clear action verbs (add, get, remove, submit, update, enable_disable, fetch) followed by specific nouns, with consistent snake_case formatting. This predictability makes the tool set easy to navigate and understand.

    Tool Count2/5

    With 60 tools, this is an extremely large set that feels overwhelming for the Bing Webmaster Tools domain. While the domain is broad, many tools could likely be consolidated (e.g., multiple 'get_' tools for different statistics types). The count will make it difficult for agents to efficiently navigate and select the right tool.

    Completeness5/5

    The tool set provides comprehensive coverage of the Bing Webmaster Tools domain. It includes full CRUD operations for resources (add/get/remove), extensive data retrieval options, submission capabilities, configuration management, and administrative functions. No obvious gaps exist for core webmaster workflows.

    Maintenance

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      C
      quality
      B
      maintenance
      A Model Context Protocol server that enables AI assistants like Claude to interact with Bing Webmaster Tools API, allowing users to manage sites, submit URLs for indexing, analyze traffic, and access other webmaster tools through natural language.
      62
      54 PyPI
      7
      MIT
    • A
      license
      A
      quality
      D
      maintenance
      An MCP server for the Microsoft Advertising (Bing Ads) API. Gives an MCP client live read and management access to your Microsoft Advertising accounts — reporting, campaign structure, and full write operations.
      26
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      This MCP server provides LLMs with programmatic access to Google Search Console data and functionality, including search analytics, sitemap management, site management, and URL inspection.
      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