CrawlForge MCP
HomePlaygroundUse CasesIntegrationsPricingDocumentationBlog
Web Search MCP Server With Local LLM: Which Model Actually Runs
AI Engineering
Back to Blog
AI Engineering

Web Search MCP Server With Local LLM: Which Model Actually Runs

C
CrawlForge Team
Engineering Team
August 31, 2026
4 min read

On this page

Quick Answer

CrawlForge is a web search MCP server whose LLM-backed tools run on a local Ollama model by default: Ollama needs no API key, so on a machine with no cloud keys it is the only provider registered and becomes the default. It does not hardcode a model — an explicit OLLAMA_DEFAULT_MODEL wins, otherwise it picks the highest-ranked model you actually have installed, and that ranking is measured rather than assumed. gemma3:4b tops it at 18/18 fields in about 1,040 ms, beating gpt-oss:20b on speed and matching it on accuracy. Local inference changes where your page content goes, not what the tools cost — search_web is still 5 credits whichever model answers.

Most guides to running a web search MCP server "with a local LLM" stop at the install command. The more useful question is which model your machine actually ends up using, because CrawlForge does not hardcode one — it ranks the models you already have installed and picks the best of them.

Two jobs are worth separating first. search_web finds pages; it is a search API call and no LLM is involved. The local model matters for what happens next — extract_with_llm, summarize_content, analyze_content, deep_research. So "web search MCP server with local LLM" really means: the search is remote, the reading is local.

Does a web search MCP server use a local LLM by default?

CrawlForge does, with no configuration. Providers are registered in a fixed order of preference — openai, anthropic, ollama — but the two cloud providers only register when their API key is present. Ollama needs no key, so on a machine with no keys set it is the only provider registered, and it becomes the default.

Set OPENAI_API_KEY and OpenAI outranks Ollama. That is deliberate: a cloud key is only there because someone deliberately configured it, so it wins over the zero-config local option. Set DISABLE_OLLAMA=true to keep Ollama out entirely.

Which local model does CrawlForge actually pick?

In this order:

  1. OLLAMA_DEFAULT_MODEL if set — an explicit pin always wins.
  2. Otherwise the highest-ranked model you actually have installed.
  3. Otherwise the first installed model, whatever it is.
  4. llama3.2 only when Ollama cannot be reached at all — so the error message names a real model rather than a placeholder.

The installed list comes from a single GET /api/tags against OLLAMA_BASE_URL (default http://localhost:11434) with a three-second timeout, cached for the life of the process.

Step 1 is the one that bites. A stray OLLAMA_DEFAULT_MODEL left in a local .env silently defeats the entire ranking, and nothing warns you.

Why does a 4B model outrank a 20B one?

Because the ranking is measured, not assumed. Scored against three live product pages with independently verified ground truth, counting correct fields out of 18:

ModelScoreTime
gemma3:4b18/181,040 ms
gpt-oss:20b18/183,464 ms
gemma3:12b16/183,652 ms
mistral:7b16/182,377 ms
llama3.216/181,179 ms
qwen2.5:3b16/181,067 ms
dolphin-llama3:8b12/186,288 ms

Parameter count did not predict accuracy. gemma3:4b matched the 20B model's score at roughly a third of the latency, and held 45/45 across five runs.

The failures are the interesting part. llama3.2 — the old hardcoded default — invented a compare-at price on a product that has none, on every single run. That is why choosing the best installed model replaced hardcoding one.

There is a second ranking for a different job. Judging claims — relevance, same-meaning grouping, contradiction — is not extraction, and only gemma3:12b is listed as fit for it. gemma3:4b, the extraction winner, scored a Playwright-versus-Selenium marketing page 0.9 relevant to an anti-bot research topic. A model absent from that list is never asked to judge, because a model that invents disagreement between sources that agree is worse than one that reports none.

What happens when Ollama is not running?

It is probed once. If the host is unreachable the Ollama provider is de-registered and selection re-runs, so a machine holding a cloud key falls back to that, and a machine with neither reports no provider available instead of hanging. Tools that can degrade to CSS or keyword extraction do so rather than failing.

Does running the model locally make the search free?

No. Local inference costs nothing to run, but the tools still cost credits: search_web 5, summarize_content 4, extract_with_llm 3, analyze_content 3, list_ollama_models 1. Metering runs before a provider is chosen, so it never learns that a local model answered.

What local inference changes is where your data goes. With Ollama, scraped page content is never sent to a third-party model. Pair it with provider: "searxng" on search_web and the query stays on your network too — though that is a privacy change, not a cost one.

Try this yourself — no signup needed

Run any of CrawlForge's 29 scraping and extraction tools in the playground, then start free with 1,000 credits.

1,000 free credits • One-time • No credit card required

Tags

mcpollamalocal llmweb searchextract_with_llmai-engineering

About the Author

C

CrawlForge Team

Engineering Team

Building the most comprehensive web scraping MCP server. We create tools that help developers extract, analyze, and transform web data for AI applications.

Stay updated with the latest insights

Get tutorials, product updates, and web scraping tips delivered to your inbox.

No spam. Unsubscribe anytime.

Put this into practice

Test CrawlForge's tools on any URL — free, no signup.

On this page

Frequently Asked Questions

Do I need an OpenAI or Anthropic key to use CrawlForge's LLM tools?+

No. Ollama is registered without an API key and becomes the default provider when no cloud key is present, so extract_with_llm, summarize_content and analyze_content work on a clean install with nothing but Ollama running locally. A cloud key is optional, and setting one makes that provider outrank Ollama.

Which Ollama model should I install for CrawlForge?+

gemma3:4b. It scored 18 of 18 fields against verified ground truth at about 1,040 ms — matching gpt-oss:20b at a third of the latency — and held 45/45 across five runs. If you also use deep_research, add gemma3:12b: it is the only model currently listed as fit to judge claim relevance and contradiction, and that role falls back to the extraction ranking when it is absent.

Does using a local LLM reduce credit cost?+

No. search_web costs 5 credits, summarize_content 4, extract_with_llm 3, analyze_content 3 and list_ollama_models 1, whichever provider answers. The credit check wraps the tool and runs before a provider is selected, so it cannot know a local model did the work. Running locally is a data-residency change, not a billing one.

Why is llama3.2 ranked low if it is also the fallback model?+

Those are two different roles. In the accuracy ranking llama3.2 sits near the bottom because it fabricated a compare-at price on every run of a product that has none. It appears separately as the name used when Ollama cannot be reached at all — that path never runs a model, it just needs the error to name something real rather than a placeholder.

Related Articles

Web Search MCP Server: Self-Hosted With SearXNG
AI Engineering

Web Search MCP Server: Self-Hosted With SearXNG

Most "self-hosted" search MCP servers only run the process locally. CrawlForge can point search_web at your own SearXNG instance — and here is the part that still isn't self-hosted.

C
CrawlForge Team
|
Aug 28
|
4m
MCP Protocol Explained: A Developer Guide for 2026
AI Engineering

MCP Protocol Explained: A Developer Guide for 2026

Learn how the Model Context Protocol works, why it matters for AI agents, and how to build MCP servers and clients with architecture diagrams and code.

C
CrawlForge Team
|
Apr 27
|
10m
Extract Web Data With Local LLMs (Ollama + CrawlForge)
AI Engineering

Extract Web Data With Local LLMs (Ollama + CrawlForge)

No API keys, no cloud, no data leaving your machine. Use extract_with_llm with local Ollama to pull structured data from any site.

C
CrawlForge Team
|
May 24
|
9m

Footer

CrawlForge MCP

Enterprise web scraping for AI Agents. 29 specialized MCP tools designed for modern developers building intelligent systems.

Product

  • Features
  • Playground
  • Pricing
  • Use Cases
  • Integrations
  • Alternatives
  • Changelog

Resources

  • Getting Started
  • API Reference
  • Templates
  • Guides
  • Blog
  • Glossary
  • FAQ
  • Sitemap

Developers

  • MCP Protocol
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Company

  • About
  • Contact
  • Privacy
  • Terms
  • Acceptable Use
  • Cookies

Stay updated

Get the latest updates on new tools and features.

Built with Next.js and MCP protocol

© 2025-2026 CrawlForge. All rights reserved.