WebVector MCP Server
Allows using Brave Search as a search backend for web research, returning ranked passages from fetched pages.
Uses DuckDuckGo as the default no-key search provider for web research.
Supports Google Custom Search (google-cse) as a search provider for web research.
Supports Ollama as a local embedding provider for on-device semantic ranking.
Supports OpenAI embeddings for semantic passage ranking and can return results through OpenAI-compatible tooling.
Supports Perplexity as a search provider for web research.
Supports SearXNG as a search provider for web research.
Supports Wikipedia as a search provider for web research.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
WebVector
Web research for AI agents in one call: search → read the full pages → rank → cited passages. No API keys, no model download, ~12 MB. Ships as an MCP server, a library and a CLI.
npx -y webvector-cli search "what changed in the MCP spec in 2026?"**[1]** Streamable HTTP — Model Context Protocol — <https://modelcontextprotocol.io/specification/2026-07-28/…>
> Protocol versions 2025-03-26 through 2025-11-25 also used the Streamable HTTP transport, but in a
> different shape: servers could assign a session via the Mcp-Session-Id header … None of these
> mechanisms are part of this revision.
## Sources
- Streamable HTTP — Model Context Protocol — <https://…> [1]
Quick start: MCP server
Cursor, Claude Code, Claude Desktop, Windsurf, VS Code, Zed — paste into your MCP config (mcp.json / claude_desktop_config.json / .vscode/mcp.json):
{
"mcpServers": {
"webvector": {
"command": "npx",
"args": ["-y", "webvector-mcp"]
}
}
}Or via Claude Code CLI:
claude mcp add webvector -- npx -y webvector-mcpWhat you get: webvector_research (one-call web research with citations), webvector_fetch (read any URL), webvector_search (result list only), webvector_verify (citation checker), webvector_status (diagnostics). Zero config, no API keys required. Free OSS; you only pay upstream providers you opt into (Brave, Serper, OpenAI embeddings, etc. — DuckDuckGo is the default and requires no key).
Optional semantic tier: Add local ONNX embeddings (offline) or set OPENAI_API_KEY / VOYAGE_API_KEY / GEMINI_API_KEY — ranking upgrades from BM25 to hybrid automatically.
Related MCP server: MyWebSearch MCP
Run it
MCP server (Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Zed …):
claude mcp add webvector -- npx -y webvector-mcp{ "mcpServers": { "webvector": { "command": "npx", "args": ["-y", "webvector-mcp"] } } }Library:
import { WebVector } from 'webvector';
const wv = new WebVector();
const res = await wv.research('reciprocal rank fusion k constant', { relatedQueries: ['RRF formula'] });
console.log(res.markdown); // cited passages, ready for a prompt
console.log(res.evidence?.level); // 'strong' | 'weak' | 'none' + suggestedQueriesCLI: npm i -g webvector-cli → webvector search "…" -k 8, webvector fetch <url> --query "…", webvector doctor.
Semantic tier (optional): npm i @huggingface/transformers (local ONNX embeddings, offline) or set OPENAI_API_KEY / VOYAGE_API_KEY / GEMINI_API_KEY … — ranking upgrades from BM25 to hybrid automatically. webvector doctor shows the active tier.
What it does
Capability | Example |
One-call research — search, fetch every result (HTML, PDF, served Markdown), chunk, rank, cite |
|
Hybrid ranking that works keyless — BM25F (title/heading/body fields, proximity, identifiers like |
|
Sub-questions covered — pass |
|
Evidence gate + follow-ups — LLM-free verdict ( |
|
Highlights, token budgets, deep links — best sentence per passage, packing into |
|
Verify citations — classify each sentence of an answer as verbatim / paraphrase / unsupported against the cited passages; flags numbers not in the source |
|
Read one page well — pagination ( | MCP |
Fetch more pages, cleaner — markdown-first content negotiation (10–100× smaller on docs sites), fast paths (arXiv HTML, GitHub README/issues, Hacker News & Stack Exchange APIs, Google Docs), extractor ensemble with a recall guard, JS-shell detection ( |
|
Fast on repeat — SQLite page cache with ETag revalidation (second run: 0 requests), persistent embedding cache, single-flight, per-call |
|
Sessions & stores — pages read once are reused across calls; memory / |
|
Providers — 11 search (DuckDuckGo default, Brave, Serper, Tavily, Exa, SearXNG …), 9 embedding, 5 rerankers, custom in one function | |
Agent-ready MCP — namespaced tools, ≤2 KB instructions, concise/detailed output, | |
Polite & safe — robots.txt + | |
Measured — offline eval over 32 recorded cases + 40-fixture extraction corpus run in CI; ranking changes are gated on it |
|
Markets (opt-in) — ticker/market news from free feeds (deduped, event-tagged), SEC EDGAR filings + full-text search, macro/Fed/earnings calendar, StockTwits + FINRA short volume, VIX/yields pulse; every source classified open/feed/gray, gray off by default |
|
Why WebVector
WebVector | Firecrawl | Jina Reader | Tavily / Exa | Playwright / Browserbase | Cursor/Claude WebSearch/WebFetch | |
Research pipeline | Search + fetch full pages + rank + cited passages in one call | Manual orchestration of crawl → LLM | Single-page read or search | Search only (no full pages) or API fetch | Manual browser scripting | Search returns snippets; fetch returns full page dump |
Wedge | The finished research call, not a step | Deep site crawling (we don't) | Clean single-page markdown | Hosted search API (we can use as provider) | JS-heavy SPAs (we detect | Built-in convenience; no ranking or citations |
API keys | None (DuckDuckGo default); opt into providers | Required | Free tier, then key | Required | Required (+ browser infra) | Built into client (key implicit) |
Runs where | Local Node process | Hosted service | Hosted service | Hosted service | Local or hosted browser | Client MCP or built-in |
Output | Ranked cited passages, evidence gate, token budgets | Raw crawled content or LLM-processed | Clean markdown of one page | Search results with snippets | Full page content + JS state | Search snippets or raw HTML/markdown |
Best for | Agents researching the live web with citations | Crawling entire sites, sitemaps, dynamic content | Reading one clean page | Hosted search when you need a key-based API | SPAs, forms, auth flows, screenshots | Quick built-in search or page fetch |
Fair comparison: Firecrawl crawls sites (we don't); Jina Reader excels at single-page markdown (we use markdown-first content negotiation but focus on multi-page research); Tavily/Exa are hosted search we can use as providers; Playwright handles JS-heavy SPAs (we don't, unless you plug in a renderer); Cursor/Claude built-in tools are snippets-or-dump vs our ranked cited passages with evidence gating.
Configure
Zero config works. Otherwise webvector.config.yaml (with editor autocomplete via $schema) or WEBVECTOR_* env vars — every key in docs/CONFIGURATION.md. webvector init writes a starter file.
Docs
Full guide · Configuration · Providers · Markets · Architecture · MCP server · CLI · Security · Contributing · Eval
Develop
git clone https://github.com/rthomas24/web-vector && cd web-vector
npm install && npm run build && npm test && npm run evalRequires Node ≥ 22.12. MIT © Ryan Thomas.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Scrape, crawl and search the web for AI agents via MCP.
Live AI-native web search with citations. One tool for every MCP client. Flat per-request pricing.
Web search, fetch, extract, and research for AI agents. Markdown output + AI-synthesized answers.
Web data for agents. Extract web pages, crawl websites, discover URLs, and search the web.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to perform grounded web research with injection resistance, claim verification, and cost-aware routing through MCP tools like web_search, fetch_url, extract_claims, and check_grounding.MIT
- FlicenseNot gradedqualityCmaintenanceEnables AI agents to perform unified web research through a single MCP server, including search, page fetching, recursive crawling, document parsing, YouTube transcript extraction, and deep multi-query research.3-
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to perform live web searches across 9 engines, scrape web pages into clean formats, and run agentic research with citations via MCP.48 PyPI6MIT
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to perform web research over MCP: search with a real browser, fetch JS-rendered pages, download PDFs and convert them to Markdown, then search and page through large documents using bounded previews so the context window isn't flooded.BSD Zero Clause