MCP Search & Fetch

MCP Search & Fetch

Provides web search and page fetching capabilities using Ollama's API.

Category
Visit Server

README

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

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.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured