A Model Context Protocol (MCP) server for Microsoft Bing Search API integration, allowing AI assistants to perform web, news, and image searches.


Features
- Web search for general information
- News search for recent events and timely information
- Image search for visual content
- Rate limiting to prevent API abuse
- Comprehensive error handling
Requirements
- Python 3.10 or higher
- Microsoft Bing Search API key
- MCP-compatible client (e.g., Claude Desktop, Cursor)
Installation
- Clone this repository
- Install dependencies:
uv venv
source .venv/bin/activate # On Windows: .venvScriptsactivate
uv pip install -e .
Configuration
Set the required environment variables:
export BING_API_KEY="your-bing-api-key"
export BING_API_URL="https://api.bing.microsoft.com/" # Optional
For Windows:
set BING_API_KEY=your-bing-api-key
set BING_API_URL=https://api.bing.microsoft.com/
Usage
Running the server
uvx bing-search-mcp
Configuring with Claude for Desktop
Add the following to your Claude Desktop configuration file (~/Library/Application Support/Claude/claude_desktop_config.json
on macOS or %APPDATA%Claudeclaude_desktop_config.json
on Windows):
{
"mcpServers": {
"bing-search": {
"command": "uvx",
"args": [
"/path/to/your/bing-search-mcp"
],
"env": {
"BING_API_KEY": "your-bing-api-key"
}
}
}
}
1. bing_web_search
General web search for information, websites, and content.
bing_web_search(query: str, count: int = 10, offset: int = 0, market: str = "en-US")
2. bing_news_search
Search for news articles and current events.
bing_news_search(query: str, count: int = 10, market: str = "en-US", freshness: str = "Day")
3. bing_image_search
Search for images.
bing_image_search(query: str, count: int = 10, market: str = "en-US")
Getting a Bing API Key
- Visit Microsoft Azure Portal
- Create or sign in to your Azure account
- Create a new Bing Search resource
- Go to the resource and find your API key in the "Keys and Endpoint" section
License
MIT License
[
{
"description": "Performs a web search using the Bing Search API for general information and websites. Args: query: Search query (required) count: Number of results (1-50, default 10) offset: Pagination offset (default 0) market: Market code like en-US, en-GB, etc. ",
"inputSchema": {
"properties": {
"count": {
"default": 10,
"title": "Count",
"type": "integer"
},
"market": {
"default": "en-US",
"title": "Market",
"type": "string"
},
"offset": {
"default": 0,
"title": "Offset",
"type": "integer"
},
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "bing_web_searchArguments",
"type": "object"
},
"name": "bing_web_search"
},
{
"description": "Searches for news articles using Bing News Search API for current events and timely information. Args: query: News search query (required) count: Number of results (1-50, default 10) market: Market code like en-US, en-GB, etc. freshness: Time period of news (Day, Week, Month) ",
"inputSchema": {
"properties": {
"count": {
"default": 10,
"title": "Count",
"type": "integer"
},
"freshness": {
"default": "Day",
"title": "Freshness",
"type": "string"
},
"market": {
"default": "en-US",
"title": "Market",
"type": "string"
},
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "bing_news_searchArguments",
"type": "object"
},
"name": "bing_news_search"
},
{
"description": "Searches for images using Bing Image Search API for visual content. Args: query: Image search query (required) count: Number of results (1-50, default 10) market: Market code like en-US, en-GB, etc. ",
"inputSchema": {
"properties": {
"count": {
"default": 10,
"title": "Count",
"type": "integer"
},
"market": {
"default": "en-US",
"title": "Market",
"type": "string"
},
"query": {
"title": "Query",
"type": "string"
}
},
"required": [
"query"
],
"title": "bing_image_searchArguments",
"type": "object"
},
"name": "bing_image_search"
}
]