Skip to main content
Glama
deXterbed

Ollama Web Search

by deXterbed

Ollama Web Search MCP Server

A stdio MCP server that exposes Ollama's hosted web search and web fetch APIs as tools any MCP client can call. Based on the Ollama web search docs.

Tools:

Tool

Args

Returns

web_search

query (string), max_results (int, default 5, max 10)

{ results: [{ title, url, content }] }

web_fetch

url (string)

{ title, content, links: [...] }

Prerequisites

Related MCP server: DDG Web Search

Install

For use as an MCP server in editors, install once so the binary is available immediately on startup (avoids timeout issues caused by uvx resolving packages on every invocation):

uv tool install ollama-web-search
# or from a local checkout:
# uv tool install .

For a quick smoke test without installing, you can use uvx (slower on first run because it resolves packages each time):

export OLLAMA_API_KEY=your_api_key_here
uvx ollama-web-search

It will sit waiting for MCP messages on stdio. Wire it into a client instead of running it by hand.

Client configuration

Set your key in the env block below. Use the installed binary (ollama-web-search) rather than uvx to avoid startup timeouts.

Claude Desktop / Claude Code (mcpServers block):

{
  "mcpServers": {
    "Ollama Web Search": {
      "command": "ollama-web-search",
      "args": [],
      "env": { "OLLAMA_API_KEY": "your_api_key_here" }
    }
  }
}

For Claude Code you can also add it from the CLI:

claude mcp add ollama-web-search \
  --env OLLAMA_API_KEY=your_api_key_here \
  -- ollama-web-search

Zed (~/.config/zed/settings.json, under context_servers):

{
  "context_servers": {
    "Ollama Web Search": {
      "command": "ollama-web-search",
      "args": [],
      "env": { "OLLAMA_API_KEY": "your_api_key_here" }
    }
  }
}

Cline:

{
  "mcpServers": {
    "Ollama Web Search": {
      "type": "stdio",
      "command": "ollama-web-search",
      "args": [],
      "env": { "OLLAMA_API_KEY": "your_api_key_here" }
    }
  }
}

Codex (~/.codex/config.toml):

[mcp_servers.ollama_web_search]
command = "ollama-web-search"
args = []
env = { OLLAMA_API_KEY = "your_api_key_here" }

Available Tools

2 tools
web_fetchA

Fetch the readable content of a web page via Ollama's hosted fetch API.

Args: url: The absolute URL to fetch (must include http:// or https://).

Returns: A dict with the page title, content, and a list of links.

ParametersJSON Schema
NameRequiredDescriptionDefault
urlYes

Output Schema

ParametersJSON Schema
NameRequiredDescription

No output parameters

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description covers the return format (dict with title, content, links) and input requirement (absolute URL). However, it does not disclose limitations, error handling, or potential issues like timeouts, making it moderately transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with a clear Args/Returns structure, no extra words, and front-loaded purpose. Every sentence is necessary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (one param, output schema exists), the description adequately covers input constraints and output structure. It lacks mention of error handling or edge cases, but overall complete for its complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds meaning to the 'url' parameter beyond the schema by specifying it must be absolute and include http/https. With 0% schema coverage, this compensates well for the single parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool fetches readable content of a web page using a specific verb 'Fetch' and resource 'web page'. It distinguishes from sibling web_search by implying this is for a specific URL's content, not search results.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description indicates when to use it (to fetch page content) but does not provide when-not-to-use or compare with sibling web_search. It lacks explicit usage guidance, but the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.4/5.0
Disambiguation5/5

The two tools have completely distinct purposes: web_search performs search queries, while web_fetch retrieves content from a specific URL. No overlap.

Naming Consistency5/5

Both tools follow a consistent verb_noun pattern (web_fetch, web_search), using snake_case and the same prefix.

Tool Count4/5

With only 2 tools, the set is minimal but appropriate for a simple web search and fetch utility. Could be expanded, but not overly sparse.

Completeness5/5

The tool surface covers the core operations: searching the web and fetching a page. No obvious gaps for the stated purpose.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/deXterbed/ollama-web-search'

If you have feedback or need assistance with the MCP directory API, please join our Discord server