Claude Web Search MCP Server
This MCP (Model Context Protocol) server provides web search capabilities using the Claude API. It allows LLMs to access up-to-date information from the web through a standardized interface.
Features
- Web search tool using Claude's web search API
- Support for domain filtering (allowed and blocked domains)
- Configurable maximum results per search
- Automatic configuration from Claude Desktop config file
Prerequisites
- Node.js 18 or higher
- An Anthropic API key with web search enabled
- Claude Desktop app for testing
Installation & Setup
- Clone the repository:
git clone https://github.com/Doriandarko/claude-search-mcp.git
cd claude-search-mcp
- Install dependencies:
- Build the server:This compiles the TypeScript code and makes the server executable.
- Link the server for global access:This makes the
mcp-server-claude-search
command available system-wide, allowing the Claude Desktop app to find it.
Running the Server with Claude Desktop App
Once the server is installed and linked, the Claude Desktop app can manage it automatically if configured correctly.
- Configure Claude Desktop App:
Open your Claude Desktop app's MCP server configuration file (usually
claude_desktop_config.json
). Add or update the entry for this server:{
"mcpServers": {
// ... other servers ...
"claude-search": {
"command": "mcp-server-claude-search",
"env": {
"ANTHROPIC_API_KEY": "YOUR_ANTHROPIC_API_KEY_HERE"
}
}
// ... other servers ...
}
}
Replace "YOUR_ANTHROPIC_API_KEY_HERE"
with your actual Anthropic API key. The server will also attempt to read this key from ~/code/claude-search-mcp/claude_desktop_config.json
if the env
variable is not set here, but it's good practice to define it per-server in the main config. - Launch Claude Desktop App:
Start (or restart) your Claude Desktop application. It should now be able to find and launch the
mcp-server-claude-search
when needed. - Use Web Search:
You can now use web search capabilities in your conversations with Claude.
Manual Server Execution (for testing/development)
If you want to run the server manually for testing or development purposes (outside of the Claude Desktop app management):
- Using the globally linked command:
- Directly with tsx (for development with auto-restart):
- Running the compiled code directly:
The web search tool supports the following parameters when called by an LLM:
query
(required): The search query string.maxResults
(optional): Maximum number of search results to return (default: 5).allowedDomains
(optional): Array of domains to include in search results (e.g., ["example.com", "wikipedia.org"]
).blockedDomains
(optional): Array of domains to exclude from search results.
License
MIT