web_researchLABSCO SUMMARY
Evidence with a provenance trail, and it scans pages for injections.
Two things separate this from a fetch tool. Every chunk comes back with where in the page it came from, so a claim can be traced rather than trusted. And pages are scanned for prompt injection before their text reaches the model — the project reports 92.5% recall at a 0% false-positive rate on benign pages in its own eval. All six tools are read-only and every model runs locally, so nothing you research leaves the machine.
What it is
A read-only Node server that fetches and ranks web content on your machine. Behind the six tools sit local BM25 ranking, a local cross-encoder reranker, a local NLI classifier, local sentence embeddings, a regex prompt-injection scanner, and a two-tier in-memory and SQLite fetch cache.
What you get
- One-shot research: search, fetch the top results in parallel, rank chunks inside and across sources, and return an evidence pack with per-chunk citations, an agreement signal and NLI-backed contradiction detection —
web_research - A single page fetched, chunked and ranked against a task within a token budget, with a TL;DR capsule, a retrieval-confidence signal, structured-data extraction, a prompt-injection scan and DOM-path provenance —
web_context - A claim checked against one or more source URLs and returned as supported, refuted or unclear, with per-source supporting and refuting evidence —
web_verify - Clean page text with token-savings metadata —
web_read - Search results from Brave when a key is present and DuckDuckGo HTML otherwise —
web_search - Best-effort field extraction against a schema you supply —
web_extract
Requirements
No API keys at any point. Node 20 or newer; the client launches npx with -y and internet-context-mcp. The first call downloads three local models from HuggingFace, about 125 MB in total, after which the server runs fully offline. Optional variables: BRAVE_SEARCH_API_KEY switches search from the DuckDuckGo fallback to Brave, INTERNET_CONTEXT_MCP_RERANK, INTERNET_CONTEXT_MCP_NLI and INTERNET_CONTEXT_MCP_EMBEDDINGS turn individual engines off, and INTERNET_CONTEXT_MCP_CACHE_DIR moves the SQLite cache. Rendering JavaScript-heavy pages needs npm install playwright and npx playwright install chromium, then render: "browser" on the call.
Setup effort
One command — npx -y internet-context-mcp
USE CASES
Researching a question end to end
Get a single evidence pack with citations and an agreement signal instead of running a search and then three fetches.
Checking a claim before repeating it
Point the verifier at the sources and get supported, refuted or unclear with the passages behind the verdict.
Reading a long doc page cheaply
Rank the page's chunks against your actual task and take only what fits the budget, with the TL;DR capsule first.
Pulling structured fields off a page
Describe the fields you want and get them back, rather than parsing the page text by hand.
6 tools
Listed in project docs. Your client may show a different list.
web_contextweb_searchweb_readweb_verifyweb_extractBEFORE YOU INSTALL
What to know first
Tools you get
6 tools named in the project's documentation.
Requires
npx on PATH
Where it runs
The documented client runs the server on your machine.
INSTALLATION
Connect your client
Server setup
npx -y internet-context-mcpMCP Clients
Claude Desktop
{
"mcpServers": {
"internet-context": {
"command": "npx",
"args": [
"-y",
"internet-context-mcp"
]
}
}
}