mcp-server-bing-webmaster
This MCP server provides comprehensive integration with Bing Webmaster Tools API, enabling AI assistants to manage websites, analyze search performance, and control crawling through natural language commands.
Site Management: List, add, verify, and remove sites. Manage user roles and access permissions. Track site migration history and submit move notifications.
Traffic & Analytics: Retrieve detailed statistics for search queries, individual pages, rankings, and overall site performance. Analyze query-page combinations, URL-specific traffic, and historical trends.
SEO & Keywords: Get detailed keyword data, related search terms, and historical statistics by country and language. Track keyword performance over time.
Crawling & Indexing: View crawl statistics, identify issues, and adjust crawl rate settings. Request URL fetching, track fetched URLs, and check index status for specific URLs.
URL & Content Submission: Submit single URLs, batches, or HTML content directly for indexing. Check submission quotas and track usage limits.
Sitemaps & Feeds: Submit and remove XML sitemaps. View and manage RSS/Atom feeds with detailed information.
Link Management: Get inbound link statistics and counts for your site or specific URLs. Add connected pages that link to your site.
Content Control: Block/unblock URLs and directories from crawling. Manage deep link blocks with custom patterns, page preview blocks to prevent rich snippets, and URL normalization parameters.
Geographic Targeting: View, add, and remove country/region targeting preferences.
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., "@mcp-server-bing-webmaster show me the top keywords for my site from last week"
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.
MCP Server for Bing Webmaster Tools
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
claudeFor 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
Node.js 16+ (for npm/npx)
Python 3.10+ (python.org)
Bing Webmaster API key (Get your API key)
Quick Start
The easiest way to use this MCP server is through npx (no installation required):
npx @isiahw1/mcp-server-bing-webmaster@latestGlobal Installation (Optional)
npm install -g @isiahw1/mcp-server-bing-webmasterDevelopment 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
Sign in to Bing Webmaster Tools
Go to Settings → API Access
Generate your API key
2. Client Setup Instructions
Option 1: Quick Setup (Recommended)
# 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
claudeOption 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
claudeOption 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
claudeTroubleshooting
If you encounter issues, run with debug mode:
claude --mcp-debugOpen Claude Desktop
Go to
Claude → SettingsSelect
Developerfrom the sidebarClick
Edit ConfigAdd 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"
}
}
}
}Save the file and restart Claude Desktop
Configuration file locations:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.jsonLinux:
~/.config/Claude/claude_desktop_config.json
Launch Cursor
Open
Cursor → Settings → Cursor SettingsSelect
MCPin the left sidebarClick
Add new global MCP serverPaste this configuration:
{
"mcpServers": {
"bing-webmaster": {
"command": "npx",
"args": ["-y", "@isiahw1/mcp-server-bing-webmaster@latest"],
"env": {
"BING_WEBMASTER_API_KEY": "your_api_key_here"
}
}
}
}Restart Cursor
Open Windsurf
Navigate to Settings → MCP Configuration
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"
}
}
}
}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_bwt3. 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:
Check your API key is correct
Ensure you have internet connectivity
For Claude Desktop: Check logs in Settings → Developer → Open Logs Folder
For Claude Code: Run with
claude --mcp-debug
"spawn mcp-server-bing-webmaster ENOENT" error:
Make sure you're using
npxas the command, notmcp-server-bing-webmasterIf 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 accountadd_site- Add a new site to Bing Webmaster Toolsverify_site- Verify ownership of a siteremove_site- Remove a site from your accountget_site_roles- Get list of users with access to the siteadd_site_roles- Delegate site access to another user
Traffic Analysis
get_query_stats- Get search query performance dataget_page_stats- Get page-level traffic statisticsget_rank_and_traffic_stats- Get overall ranking and traffic dataget_query_page_stats- Get detailed traffic statistics for a specific queryget_query_page_detail_stats- Get statistics for specific query-page combinationsget_url_traffic_info- Get traffic information for specific URLs
Crawling & Indexing
get_crawl_stats- View crawl statistics and bot activityget_crawl_issues- Get crawl errors and issuesget_crawl_settings- Get crawl settings for a siteupdate_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 indexingsubmit_url_batch- Submit multiple URLs at onceget_url_submission_quota- Check your URL submission limits
Content Submission
submit_content- Submit page content directly without crawlingget_content_submission_quota- Get content submission quota information
Sitemaps & Feeds
submit_sitemap- Submit a new sitemapremove_sitemap- Remove a sitemapget_feeds- Get all RSS/Atom feeds for a site
Keyword Analysis
get_keyword_data- Get detailed data for specific keywordsget_related_keywords- Find related search termsget_keyword_stats- Get historical statistics for a specific keyword
Link Analysis
get_link_counts- Get inbound link statisticsget_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 URLsadd_blocked_url- Block URLs from crawlingremove_blocked_url- Unblock URLs
Deep Link Management
get_deep_link_blocks- Get list of blocked deep linksadd_deep_link_block- Block deep links for specific URL patternsremove_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 parameterremove_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 settingsremove_country_region_settings- Remove country/region targeting settings
Page Preview Management
add_page_preview_block- Add a page preview block to prevent rich snippetsget_active_page_preview_blocks- Get list of active page preview blocksremove_page_preview_block- Remove a page preview block
Site Migration
get_site_moves- Get history of site moves/migrationssubmit_site_move- Submit a site move/migration notification
Children URL Management
get_children_url_info- Get information about child URLs under a parent URLget_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_bwtContributing
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 toolsadd_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_deep_link_blockC
Block deep links for specific URL patterns.
Inputs: site_url (required), url_pattern (required), block_type (required), reason (required). 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_deep_link_blocksB
Get list of blocked deep links.
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_link_countsB
Get inbound link counts for a site.
Inputs: site_url (required). 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_linksC
Get inbound links for specific site URL.
Inputs: site_url (required), link (required), page. 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_deep_link_blockD
Remove a deep link block.
Inputs: site_url (required), url_pattern (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
Scored across 60 tools
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.
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.
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.
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
Related MCP Connectors
Hosted Bing Webmaster Tools MCP server, with each action switched on or off per account.
Read-only Google Search Console MCP server for AI assistants.
An MCP server that provides access to Agility CMS. See https://mcp.agilitycms.com for more details.
Audit, rank-track and analyze SEO for sites via an authenticated MCP server.
Related MCP Servers
- AlicenseCqualityBmaintenanceA 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.6254 PyPI7MIT
- AlicenseAqualityDmaintenanceAn 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.26MIT
- AlicenseNot gradedqualityDmaintenanceThis 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
- AlicenseAqualityCmaintenanceEnables MCP clients to manage Bing Webmaster Tools data, including search performance, sitemaps, URL submission, IndexNow pings, crawl diagnostics, keyword research, and backlinks.1431 npmMIT