Skip to content
Agentmart
Submit a tool

mcpsurfr

Local web search with multi-engine deep research and on-device re-ranking.

Connector by nkapila6 · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 134
Write a review

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.

We use your email only for this newsletter. Privacy

About

Local web search with multi-engine deep research and on-device re-ranking. No API keys.

Use cases: web-search, deep-research

No 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_research
  • deep_research_ddgs
  • deep_research_google
  • rag_search_ddgs
  • rag_search_google
  • search

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 research

    Research 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 search

    Search 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 search

    Search 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
    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)