On this page
Search for a self-hosted web search MCP server and the results split into two piles: GitHub projects you run entirely yourself, and vendor pages that call a hosted API "local" because the client runs on your laptop. Those are different things, and which one you need depends on what you are actually trying to keep in-house.
This post is specific about where CrawlForge sits on that line — including the part that is not self-hosted.
What "Self-Hosted" Means for an MCP Server
A web search MCP setup has three layers, and they can each be hosted independently:
- The server process — the thing your MCP client spawns and talks to over stdio.
- The search backend — whatever actually answers the query.
- The control plane — auth, metering, billing.
Most "self-hosted" claims only cover layer 1. Running a server process locally is table stakes; nearly every MCP server does it. The question that decides whether it counts as self-hosted for privacy purposes is layer 2: does your query leave your network, and who sees it?
How Much of CrawlForge Runs on Your Machine
Layer 1 is entirely yours. crawlforge-mcp-server is an MIT-licensed npm package that runs as a local process over stdio — no vendor daemon, no cloud runtime, and the source is on GitHub if you want to read it before you run it.
npm install -g crawlforge-mcp-serverLayer 2 is the interesting one. search_web takes a provider parameter with two accepted values, and one of them is your own SearXNG instance:
export CRAWLFORGE_SEARXNG_URL=http://localhost:8888{
"query": "mcp server directory",
"provider": "searxng",
"limit": 10
}With that set, the query goes to your SearXNG box and nowhere else — no third-party search vendor sees the string. Results come back normalised into the same shape as the hosted provider, so ranking, deduplication and caching still apply and nothing downstream in your workflow changes.
The LLM-backed tools follow the same pattern. extract_with_llm, summarize_content and analyze_content default to a local Ollama model, so the extraction step can stay on your hardware too.
What Is Not Self-Hosted
Layer 3. Metering runs through CrawlForge no matter which provider you pick.
search_web is wrapped in the same auth-and-credit check as every other tool, and that check neither knows nor cares that you chose SearXNG. A SearXNG-backed search still needs a valid API key and still costs 5 credits, exactly like a hosted one.
It is worth being plain about what that does and does not buy you. Self-hosting the search backend changes who sees your queries — a real privacy win, and the usual reason people want this. It does not make the tool free, and it does not remove the vendor dependency. If your requirement is "no outbound connection to a vendor at all", CrawlForge does not meet it today.
When a Fully Self-Hosted Server Is the Right Call
If layer 3 is the part you need to own — air-gapped network, no vendor accounts, no per-call cost — use a fully self-hosted project instead. SearXNG has MCP wrappers that talk to it directly, and for that requirement they will serve you better than working around a metered tool.
CrawlForge earns its place when you want the search backend local but still want one server covering the rest of the job: scrape, extract_content, crawl_deep, serp_rank and 23 more tools on the same connection and the same key. Searching against your own instance and extracting with your own Ollama, while a hosted path handles the pages SearXNG only pointed you at, is a reasonable middle — and in practice it is the configuration most people who search for this end up wanting.
Get an API key — 1,000 one-time credits, no card required. Set CRAWLFORGE_SEARXNG_URL, pass provider: "searxng", and your queries stay on your network.
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
About the Author
Stay updated with the latest insights
Get tutorials, product updates, and web scraping tips delivered to your inbox.
No spam. Unsubscribe anytime.