Skip to content

MCP Server

The Model Context Protocol (MCP) server enables AI assistants to perform web searches through OmniSerp.

Installation

go install github.com/plexusone/omniserp/cmd/mcp-omniserp@latest

Or build from source:

go build ./cmd/mcp-omniserp

Configuration

Add to your Claude Desktop config (~/Library/Application Support/Claude/claude_desktop_config.json on macOS):

{
  "mcpServers": {
    "omniserp": {
      "command": "mcp-omniserp",
      "env": {
        "SERPER_API_KEY": "your_serper_api_key",
        "SEARCH_ENGINE": "serper"
      }
    }
  }
}

Available Tools

The MCP server dynamically registers only the tools supported by the current search engine backend:

  • When using Serper, all 12 tools are available including Lens search
  • When using SerpAPI, 11 tools are available (Lens is excluded)

Tool Categories

Tool Description Serper SerpAPI
google_search General web searches ✓ ✓
google_search_news Search news articles ✓ ✓
google_search_images Search for images ✓ ✓
google_search_videos Search for videos ✓ ✓
google_search_places Search for locations and businesses ✓ ✓
google_search_maps Search maps data ✓ ✓
google_search_reviews Search reviews ✓ ✓
google_search_shopping Search shopping/product listings ✓ ✓
google_search_scholar Search academic papers ✓ ✓
google_search_lens Visual search capabilities ✓ ✗
google_search_autocomplete Get search suggestions ✓ ✓
webpage_scrape Extract content from webpages ✓ ✓

All searches support parameters like location, language, country, and number of results.

Server Logs

The MCP server logs which tools were registered and which were skipped:

2025/12/13 19:00:00 Using engine: serpapi v1.0.0
2025/12/13 19:00:00 Registered 11 tools: [google_search, google_search_news, ...]
2025/12/13 19:00:00 Skipped 1 unsupported tools: [google_search_lens]

Secure Mode (Optional)

The MCP server supports optional secure credential management using VaultGuard. When a policy file exists, API keys are retrieved from the OS keychain instead of environment variables.

Setup for Secure Mode

  1. Store your API key in the keychain:

    security add-generic-password -s "omnivault" -a "SERPER_API_KEY" -w "your-key"
    
  2. Create a security policy (~/.vaultguard/policy.json):

    {
      "version": 1,
      "local": {
        "require_encryption": true,
        "min_security_score": 50
      }
    }
    
  3. Update your Claude Desktop config (no env section needed):

    {
      "mcpServers": {
        "omniserp": {
          "command": "mcp-omniserp"
        }
      }
    }
    

Note

Without a policy file, the server works exactly as before using environment variables.

Security Features

  • OS Keychain Integration: API keys stored in macOS Keychain, Windows Credential Manager, or Linux Secret Service
  • Security Posture Checking: Validates disk encryption, biometrics before credential access
  • Policy-Based Access: Configure minimum security requirements
  • Graceful Fallback: Uses environment variables when no policy exists

Security Logging

When running in secure mode, the server logs security check results:

Security check passed: score=75, level=high
  Platform: darwin, Encrypted: true, Biometrics: true
SERPER_API_KEY retrieved from keychain successfully