Skip to main content
Glama
lkiesow

MCP Search & Fetch

by lkiesow

MCP Search & Fetch

An MCP server exposing Ollama's web search and web fetch capabilities as tools.

Features

  • web_search: Perform web searches using Ollama's hosted search API

  • web_fetch: Fetch content from web pages

Related MCP server: mcp-web-tools

Requirements

Installation

pip install mcp-search-and-fetch

# Export your API key
OLLAMA_API_KEY=your_api_key_here

# Run the MCP server
mcp-search-and-fetch

Clone from Repository

# Clone the repository
git clone https://github.com/lkiesow/mcp-search-and-fetch.git
cd mcp-search-and-fetch

# Install dependencies
pip install -r requirements.txt

export OLLAMA_API_KEY=your_api_key_here
python mcp_search_and_fetch.py

Docker

To run the pre-built containers:

docker run -p 8000:8000 --env-file .env ghcr.io/lkiesow/mcp-search-and-fetch:latest

Or, if you want to build your own containers:

docker build -t mcp-search-fetch .
docker run -p 8000:8000 --env-file .env mcp-search-fetch

Docker Compose

An example ´docker-compose.yml` with Caddy as reverse proxy:

services:
  search-and-fetch:
    image: ghcr.io/lkiesow/mcp-search-and-fetch:1.0.1
    container_name: search-and-fetch
    restart: always
    environment:
      OLLAMA_API_KEY: secret.ollama.api.key
    networks:
      - mcp

  caddy:
    image: docker.io/library/caddy:2.10.2
    container_name: caddy
    restart: always
    environment:
      CADDY_DOMAIN: search-and-fetch.example.com
      CADDY_API_KEY: secret.mcp.api.key
    volumes:
      - /opt/mcp-search-and-fetch/caddy:/etc/caddy
      - caddy_data:/data
      - caddy_config:/config
    ports:
      - 80:80
      - 443:443
      - 443:443/udp
    networks:
      - mcp

volumes:
  caddy_data:
  caddy_config:

networks:
  mcp:

And an example Caddyfile in the caddy directory like this:

{$CADDY_DOMAIN} {
	@no_auth {
		not header Authorization "Bearer {$CADDY_API_KEY}"
	}
	respond @no_auth "Unauthorized" 401
	reverse_proxy /* search-and-fetch:8000
}

Usage

Local (stdio)

python mcp_search_and_fetch.py

HTTP Server (Streamable HTTP)

# Set port and host in .env
export MCP_SERVER_PORT=8000
export MCP_SERVER_HOST=0.0.0.0

python mcp_search_and_fetch.py

Configuration

You can either set environment variables or provide a .env file. Take a look at the .env.sample for an example.

Environment Variable

Required

Default

Description

OLLAMA_API_KEY

Yes

-

Your Ollama API key

MCP_SERVER_PORT

No

-

Run HTTP server on specified port

MCP_SERVER_HOST

No

127.0.0.1

Host to bind to

Tools

web_search(query, max_results=3)

Performs a web search and returns results as JSON.

web_fetch(url)

Fetches content from a URL and returns it as JSON.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    B
    maintenance
    Enables web search and web fetch operations using Ollama's hosted APIs, allowing MCP clients to search the web and retrieve page content.
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables performing web searches and fetching web page content via Ollama's hosted APIs, providing search results and raw page data.
    2
    1
    MIT