Repolode
Role1776

Role1776/mcp-retrieval

A Go MCP server giving LLM clients web search, image search and page-to-Markdown scraping, with no API keys needed.

Stars
23
Forks
2
Open issues
0
Last commit
14 days ago

What is it?

mcp-retrieval is a Model Context Protocol server written in Go. It exposes three read-only tools to MCP-compatible clients such as Claude Desktop or IDE agents: web_search for search queries, web_search_images for image queries, and web_scrape for extracting the main article text of a page as Markdown.

Web search uses DuckDuckGo Lite, image search uses Bing Images, and page fetching runs HTML through a readability extractor, so no search-engine API keys are required. Requests impersonate real browsers at the TLS level with rotating browser profiles, and an optional rotating proxy can be configured so each request gets a new exit IP.

The server runs over stdio by default or as a streamable HTTP server. Each call fans out across its query or URL list in parallel, returns a per-item status of success, failed or timeout, and enforces configurable limits on counts, timeouts and input length.

Key features

  • 01Three read-only tools: web search, image search and page scraping.
  • 02Search and page content work without any search-engine API keys.
  • 03Page content is extracted with a readability parser and returned as Markdown.
  • 04Browser TLS fingerprint impersonation and optional rotating proxy support.
  • 05Supports stdio and streamable HTTP transports.
  • 06Per-item status reporting, so partial failures still return successful results.

Use cases

  • Giving a local LLM assistant live web search results without paying for a search API.
  • Feeding article text from web pages into a model as clean Markdown.
  • Letting an IDE agent look up documentation or current information during coding.
  • Running a shared retrieval server for a team over HTTP.

Quick start

  1. 1

    Build the binary from source (needs Go 1.25.5+)

    make build
  2. 2

    Run the server on the default stdio transport

    ./bin/mcp-retrieval

Things to know

  • web_scrape handles HTML only, so raw text and file URLs such as raw.githubusercontent.com return nothing.
  • Image search relevance is not guaranteed, so results may be unrelated and need checking.
  • Pages are fetched without JavaScript, so client-rendered content is not extracted.
  • Bursts of parallel searches can trigger DuckDuckGo's bot challenge and fail until the request rate drops; a proxy is needed to spread the load.

In collections

Topics

FAQ

What is mcp-retrieval?
A Go MCP server giving LLM clients web search, image search and page-to-Markdown scraping, with no API keys needed. mcp-retrieval is a Model Context Protocol server written in Go. It exposes three read-only tools to MCP-compatible clients such as Claude Desktop or IDE agents: web_search for search queries, web_search_images for image queries, and web_scrape for extracting the main article text of a page as Markdown.
Is mcp-retrieval free to use? What license does it have?
mcp-retrieval is open source under the MIT license. Check the license terms before using it in commercial products.
Is mcp-retrieval still maintained?
Actively maintained. The last commit to mcp-retrieval was on Oct 24, 2026.
What can I use mcp-retrieval for?
Giving a local LLM assistant live web search results without paying for a search API. Feeding article text from web pages into a model as clean Markdown. Letting an IDE agent look up documentation or current information during coding. Running a shared retrieval server for a team over HTTP.
How do I install mcp-retrieval?
Build the binary from source (needs Go 1.25.5+): make build Run the server on the default stdio transport: ./bin/mcp-retrieval
Where can I get mcp-retrieval?
The source code and installation instructions are on GitHub: https://github.com/Role1776/mcp-retrieval

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects