Claude Code MCP server for web search and fetch. Supports Ollama's hosted API or self-hosted SearXNG instances.
ollama-web-tools-mcp
A Claude Code MCP server that exposes web search and web fetch tools powered by Ollama's hosted API.
Note: This is an MCP server (external process), not a Claude Code plugin (internal skill). It runs as a separate process and communicates with Claude Code over stdio. It cannot be installed via
claude plugin install— instead, you install it as a Python package and register it in Claude Code's MCP config.
Installation
From GitHub
pip install git+https://github.com/chakkritte/ollama-web-tools-mcp.git
ollama-web-tools-configure
From Local Clone
git clone https://github.com/chakkritte/ollama-web-tools-mcp.git
cd ollama-web-tools-mcp
pip install -e .
ollama-web-tools-configure
First-Time Setup
When you run ollama-web-tools-configure for the first time, it will:
- Prompt for your Ollama API key — Guides you to get a free key from https://ollama.com/settings/keys and paste it. The key is hidden while typing (like a password).
- Write Claude Code config — Automatically registers the server in
~/.claude/claude_code_config.jsonusing the exact Python interpreter that ran the configure script. - Tell you to restart Claude Code — The tools will appear after restart.
Pass API key directly (non-interactive)
If you already have your key, you can pass it as an argument to skip the prompt:
ollama-web-tools-configure your_api_key_here
The key is masked in output (e.g., 4****O).
Manual Setup
If you prefer not to use the automatic setup script:
- Get a free API key at https://ollama.com/settings/keys
- Add the server to
~/.claude/claude_code_config.json:
Use the full path to the Python interpreter from the environment where the package is installed (e.g. a conda env or virtualenv). This avoids PATH issues when Claude Code launches the server from a different context.{ "mcpServers": { "ollama-web-tools": { "type": "stdio", "command": "/ABSOLUTE/PATH/TO/python", "args": ["-m", "ollama_web_tools_mcp"], "env": { "OLLAMA_API_KEY": "your_key_here" } } } } - Restart Claude Code.
Tip: If you run
which pythonin the terminal where you installed the package, use that exact path as thecommand.
Environment
The server reads all configuration from environment variables passed by the MCP harness (via the env block in claude_code_config.json).
| Variable | Required | Description |
|----------|----------|-------------|
| OLLAMA_API_KEY | Yes | API key from https://ollama.com/settings/keys |
Tools
web_search— Search the web using Ollama's hosted API.web_fetch— Fetch a webpage using Ollama's hosted API.
Troubleshooting
"OLLAMA_API_KEY not set" error
The server always starts and registers its tools, even if credentials are missing. If you see this error when Claude Code tries to use a tool, it means the env block in your claude_code_config.json is missing or the key is empty. Re-run ollama-web-tools-configure to fix it.
Tools don't appear in Claude Code
- Check that
~/.claude/claude_code_config.jsonhas anmcpServers.ollama-web-toolsentry. - Restart Claude Code after any config change.
- Make sure the
commandpath is the full absolute path to the Python interpreter where you installed the package.