npm package: @iflow-mcp/claude-search-mcp
Description: MCP server that provides Claude web search functionality
Latest version: 1.0.0

# 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

1.  **Clone the repository:**
    ```bash
    git clone https://github.com/Doriandarko/claude-search-mcp.git
    cd claude-search-mcp
    ```

2.  **Install dependencies:**
    ```bash
    npm install
    ```

3.  **Build the server:**
    ```bash
    npm run build
    ```
    This compiles the TypeScript code and makes the server executable.

4.  **Link the server for global access:**
    ```bash
    npm link
    ```
    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.

1.  **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:

    ```json
    {
      "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.

2.  **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.

3.  **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:**
    ```bash
    mcp-server-claude-search
    ```
-   **Directly with tsx (for development with auto-restart):**
    ```bash
    npm run dev
    ```
-   **Running the compiled code directly:**
    ```bash
    npm start
    ```

## Web Search Tool Parameters

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