WebFetch.MCP
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@WebFetch.MCPsearch for recent AI research papers"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.

π WebFetch.MCP v0.1.8
Live Web Access for Your Local AI β Tunable Search & Clean Content Extraction
π¨ The Problem
Local LLMs can't browse the web. Out of the box, LM Studio β and most MCP setups β leave your model stuck in 2023 or earlier. No live data. No current events. Paste a URL into chat and all you get back is:
"I can't access the web." A few third-party MCP servers exist, but theyβre API-locked, incomplete, or a pain to run. That means LM Studio users are flying blind β unable to fetch or search live content reliably.
β The Solution β WebFetch.MCP
WebFetch.MCP is a drop-in, self-hosted MCP server that brings your local AI:
π Fresh, Real-Time Data β Go beyond your modelβs training cutoff.
π Reliable URL Fetch β Paste a link, get the clean content.
π Full Search Control β Choose engines, boost sources, filter by type/date/language.
π API-Free Freedom β No API keys, quotas, or tracking.
π§ AI-Ready Output β Structured, clean, distraction-free text your LLM can actually use.
Privacy Note: Search requests and web fetches are visible to your ISP and target sites. Use a VPN for enhanced privacy.
π Why Itβs Different
Feature | WebFetch.MCP | mrkrsl-web-search | mcp-server-fetch-python | Crawl4AI |
Live Web Search | β Yes | β Yes | β No | β Yes |
URL Content Fetch | β Yes | β οΈ Limited | β Yes | β Yes |
Search Tunability | β Full Control | β API-limited | β Basic | β οΈ Limited |
70+ Search Engines | β Yes | β No | β No | β οΈ Few |
Scientific/Technical Focus | β Configurable | β No | β No | β No |
No API Keys | β Yes | β Required | β Required | β Basic only |
Content Quality | β Mozilla Readability | β οΈ Basic | β οΈ Basic | β Advanced |
JS Execution | β Yes (JSDOM) | β No | β Yes | β Yes |
Setup Simplicity | β Easy | β οΈ Medium | β Complex | β Very Complex |
Cost | β Free | π° API costs | π° API costs | β Free |
β¨ Core Features
π― Precision Search
70+ configurable engines β Google Scholar, arXiv, PubMed, IEEE, GitHub, Stack Overflow, weather.gov, and more.
Weighted source control β Boost authoritative and academic sources.
Data type filters β Papers, docs, code, or news only.
Freshness filters β Recent publications, latest docs, breaking news.
π¬ Scientific & Technical Focus
Academic: arXiv, PubMed, IEEE Xplore, ACM Digital Library.
Technical: MDN, Stack Overflow, GitHub, official docs.
Government: weather.gov, data.gov, NASA, NOAA.
π Clean Content Extraction
Mozilla Readability β industry-standard parsing.
JavaScript execution β handles SPAs & dynamic pages.
Removes ads, menus, widgets.
Optimized handling for research papers & technical docs.
βοΈ Complete Control
Enable only trusted engines.
Language & region targeting.
Domain/site restrictions.
Custom weighting per source.
π Prerequisites
β‘ Quick Start
1οΈβ£ Install SearxNG (5 min)
Docker Compose (Recommended)
git clone https://github.com/searxng/searxng-docker.git
cd searxng-docker
sed -i "s|ultrasecretkey|$(openssl rand -hex 32)|g" searxng/settings.yml
docker compose up -dTest SearxNG
curl "http://localhost:8080/search?q=test&format=json"π SearxNG Installation Guide
2οΈβ£ Install WebFetch.MCP
git clone https://github.com/manull/webfetch-mcp.git
cd webfetch-mcp
npm install
node server.mjs3οΈβ£ Connect to LM Studio
In LM Studio β Settings β Developer β MCP Servers:
{
"mcpServers": {
"webfetch": {
"command": "node",
"args": ["/full/path/to/webfetch-mcp/server.mjs"],
"env": {
"SEARXNG_BASE": "http://localhost:8080",
"DEBUG": "false"
}
}
}
}Restart LM Studio β web_search and web_fetch tools will now be available.
4οΈβ£ Test It
In LM Studio:
π Search for recent AI research on transformer architectures
π Fetch content from https://example.com/articleπ§ Configuration
Variable | Default | Description |
SEARXNG_BASE | SearxNG instance URL | |
DEBUG | false | Debug logging |
DETAILED_LOG | true | Detailed log output |
β±οΈ Smart Rate Limiting
WebFetch.MCP uses intelligent time-based rate limiting designed for real research workflows:
π Rate Limits:
12 calls per 5-minute window - Generous limit for research sessions
8 calls per 30-second burst - Prevents LLM spam while allowing quick queries
Automatic reset - No need to restart LM Studio between research sessions
π― Why This Works Better:
β Research-friendly - Supports extended research sessions
β Anti-spam protection - Prevents runaway LLM tool calling
β No restarts needed - Limits reset automatically over time
β Clear feedback - Shows remaining calls and reset times
π Example Usage Patterns:
Quick research: 5-8 rapid calls, then brief pause
Extended research: 12 calls spread over 5 minutes
Continuous work: Limits reset as you work, no interruption
π Example Usage
Search
π Find Python asyncio docs site:python.org
π Search for recent climate data from government sourcesFetch
π Extract content from https://news.example.com/article
π Get main text from https://arxiv.org/abs/2305.12345π§ͺ Testing
curl "http://localhost:8080/search?format=json&q=test&count=5"
DEBUG=true node server.mjsπ€ Contributing
We welcome:
π Bug reports β Open an issue
π§ Code PRs
π Documentation improvements
π License
MIT β see LICENSE.
π Acknowledgments
SearxNG β Privacy-focused metasearch engine.
Mozilla Readability β Clean content extraction.
LM Studio β Local AI runtime.
Model Context Protocol β AI tool integration standard.
Built for LM Studio and local LLM users who need real-time, reliable, tunable access to the web.
β Star this repo if you're done with "I can't access the web" from your AI.
Available Tools
2 toolsweb_fetchA
Fetch and extract readable content from a web page URL using Mozilla Readability.
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | HTTP/HTTPS URL to fetch (must be a valid URL) | |
| max_chars | No | Maximum characters to return |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the burden of behavioral disclosure. It mentions using Mozilla Readability, but does not disclose whether JavaScript executes, rate limits, authentication needs, error handling, or what happens with non-HTML content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single sentence that is front-loaded with the core action. No redundant words. Every part contributes meaning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple but lacks an output schema or description of the return format (e.g., plain text, markdown). Given no output schema, the description should mention the output structure. It is adequate but incomplete for an agent to fully understand the behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds no extra meaning beyond the schema: the URL parameter's description is already present, and max_chars has default/range in the schema. No additional context on why to adjust max_chars or what the extraction output looks like.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Fetch and extract', the resource 'readable content from a web page URL', and the method 'using Mozilla Readability'. It effectively distinguishes from the sibling 'web_search' which is for searching, not fetching specific pages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for extracting content from a single URL, but lacks explicit guidance on when to use it versus alternatives. No mention of when not to use, prerequisites, or comparisons to 'web_search'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
web_searchA
Search the web using a local SearxNG instance. Returns search results with titles, URLs, and snippets.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | Page number for pagination | |
| site | No | Restrict search to a specific site (e.g., 'weather.gov') | |
| limit | No | Maximum number of results to return (1-20) | |
| query | Yes | Search query | |
| engines | No | Comma-separated list of search engines | |
| language | No | Language code (e.g., 'en') | |
| safesearch | No | Safe search level: 0=off, 1=moderate, 2=strict | |
| time_range | No | Time range filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description mentions the tool uses a 'local SearxNG instance', which hints at infrastructure but does not disclose rate limits, authentication, error handling, or other behavioral traits. There are no annotations to supplement, so the description carries the burden but only partially meets it.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences that front-load the core purpose and output. No unnecessary words. Efficient communication.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 8 parameters and no output schema, the description provides basic purpose but lacks context on parameter interactions, result structure (beyond mentioned fields), or differentiation from sibling. Adequate but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear parameter descriptions. The description adds no new parameter details beyond summarizing the return format. Baseline 3 applies given full schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action ('Search the web'), specifies the resource ('local SearxNG instance'), and describes the output ('titles, URLs, and snippets'). It effectively distinguishes from the sibling tool 'web_fetch' (page fetching vs. search).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies general web searching but does not provide explicit guidance on when to use this tool over siblings (e.g., for multi-result search vs. single-page fetch). No when-not-to-use or alternatives mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
2 tool updates
v0.1.8- First observed
web_fetch - First observed
web_search
TDQS
The two tools have clearly distinct purposes: one searches the web, the other fetches a specific page. There is no overlap or ambiguity.
Both tools follow the same verb_noun pattern with snake_case: web_search and web_fetch. The naming is perfectly consistent.
With only 2 tools, the set is minimal but still appropriate for the server's focused purpose of web search and content fetching. It is not excessive or overly thin.
The tool set covers the core operations for web interaction: searching and fetching. While there could be additional tools like raw HTML fetching or link checking, the current scope is reasonably complete.
Maintenance
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
LLM-ready web search + instant answers + URL-to-clean-text fetch for agents and RAG.
Web search, URL content extraction to Markdown, site mapping, and recursive web crawler.
Jina AI Reader/Search MCP β turn any URL into clean LLM-ready markdown, plus web search.
The best web search for your AI Agent
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables AI assistants to perform web searches and read URL content via a SearXNG instance.218MIT
- AlicenseNot gradedqualityCmaintenanceIntegrates SearXNG API to give AI assistants web search and URL reading capabilities.17MIT
- AlicenseAqualityDmaintenanceEnables private web search and webpage content extraction using a local SearxNG instance, prioritizing user privacy and autonomy.22MIT
- FlicenseNot gradedqualityDmaintenanceEnables web search and content scraping from multiple engines via a local SearXNG instance, allowing AI assistants to retrieve and extract web content.1-
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/manooll/webfetch-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server