mcpsurfr
Local web search with multi-engine deep research and on-device re-ranking.
Connector by nkapila6 · GitHub account verified by the MCP Registry
Install
Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.
npx agentmarket install connector/nkapila6-mcpsurfr
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: web-search, deep-research
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.
- Tools
- 6 read · 0 write · 0 deleteRead-only
- Secrets
- None asked for
- Install scripts
- None found
- Runs as
- Docker image
Tools by what they do 6
Read from the source code; the running server may list different tools.
Read 6 · Look things up without changing anything.
deep_researchdeep_research_ddgsdeep_research_googlerag_search_ddgsrag_search_googlesearch
Tools (6)
Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].
deep_researchDeep researchResearch a topic across several search terms and engines. Each term is searched on each backend, results are re-ranked locally by relevance, duplicates are removed, and the best pages are fetched as text. Backends: auto, brave, duckduckgo, google, grokipedia, mojeek, startpage, wikipedia, yahoo. - "auto" (default): ddgs metasearch over several engines, skipping blocked ones. Most reliable. - "brave": fast and usually available. - "wikipedia": exact article lookups, best with title-like terms. - "google", "startpage", "yahoo", "mojeek": often blocked. Empty engines are reported as warnings, …
deep_research_ddgsDeep research (ddgs auto)Deep research using ddgs "auto" metasearch, which queries several engines per term and skips blocked ones. Results are re-ranked locally, de-duplicated and the best pages fetched as text. Same as deep_research with its default backend. Args: search_terms (List[str]): 2-5 specific, related search queries. num_results_per_term (int): Number of results to rank per search term. top_k_per_term (int): Number of top-ranked results to keep per search term. include_urls (bool): Whether to include each page's source URL. Returns: Same shape as deep_research.
deep_research_googleDeep research (Google)Deep research using only Google: each term is searched, re-ranked locally, de-duplicated and the best pages fetched as text. Google often blocks scrapers. If it returns nothing, the terms are retried with ddgs "auto" metasearch and a warning is sent. Args: search_terms (List[str]): 2-5 specific, related search queries. num_results_per_term (int): Number of results to rank per search term. top_k_per_term (int): Number of top-ranked results to keep per search term. include_urls (bool): Whether to include each page's source URL. Returns: Same shape as deep_research.
rag_search_ddgsWeb searchSearch the web and return the most relevant pages as text. Default choice for lookups. Uses ddgs "auto" metasearch, which queries several engines (DuckDuckGo, Brave, Wikipedia, ...) and skips any that are blocked. Results are re-ranked locally by semantic similarity to the query before the top pages are fetched. Args: query (str): The search query. Use natural language questions or keywords. Example: "latest developments in quantum computing" num_results (int): Number of initial search results to rank. More results provide better coverage but incr…
rag_search_googleGoogle searchSearch Google and return the most relevant pages as text, re-ranked locally by semantic similarity. Google often blocks scrapers. When it returns nothing, this retries with ddgs "auto" metasearch and sends a warning saying so. Args: query (str): The query to search for. num_results (int): Number of initial search results to rank. top_k (int): Number of top-ranked pages to fetch and return. include_urls (bool): Whether to include each page's source URL. Returns: Same shape as rag_search_ddgs, with "backend": "auto" and "fallback": true when Google returned nothing.
searchSearch (passages)Search the web and return only the passages that answer the query, not whole pages: usually about a tenth of the text of rag_search_ddgs. Use this first. Tiers, cheapest first: 1. Search, then keep the top_pages results whose title/snippet match best. 2. Fetch those pages, split them into ~600-char passages, keyword-match them (BM25) against the query plus `keywords`. 3. Only if that leaves too many candidates, or matches nothing (a paraphrase), the local embedder ranks them by meaning. If nothing matched the keywords and the client can show questions, the user is asked whether they wan…
Compare and alternatives
Featured in
Signals
- Stars
- 134
- Forks
- 21
- Open issues
- 2
- Contributors
- 5
- Last commit
- Oct 23, 2026 (5 days ago)
- Last release
- Oct 23, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- Registry name
io.github.nkapila6/mcpsurfr- Version
- 1.1.1
- Auth
- No auth
- Packages
- oci
ghcr.io/nkapila6/mcpsurfr:v1.1.1 - License
- MIT
- Repository
- github.com/nkapila6/mcpsurfr
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
Cite this page
mcpsurfr MCP server. Agent Mart. https://agentmart.dev/connectors/nkapila6-mcpsurfr (last updated 2026-10-24)