HomeSearch & Research › MCP Retrieval

MCP Retrieval

Local Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.

Go Local macOSWindowsLinux
★ 12 stars Last pushed 2026-09-03 License: MIT

Topics: Search & Data Extraction

Connect

Review any command before running it. Package names and URLs come from the server's own registry entry.

Package (oci)

docker run -i --rm ghcr.io/role1776/mcp-retrieval:0.1.7

Or add to your MCP client config:

{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.7"
      ],
      "env": {
        "MCP_TRANSPORT": "<YOUR_VALUE>",
        "MCP_NAME": "<YOUR_VALUE>",
        "MCP_PATH": "<YOUR_VALUE>",
        "SERVER_PORT": "<YOUR_VALUE>",
        "SERVER_READ_TIMEOUT": "<YOUR_VALUE>",
        "SERVER_WRITE_TIMEOUT": "<YOUR_VALUE>",
        "LOG_MODE": "<YOUR_VALUE>",
        "MAX_IDLE_CONNS_PER_HOST": "<YOUR_VALUE>",
        "MAX_QUERIES": "<YOUR_VALUE>",
        "DEFAULT_RESULTS": "<YOUR_VALUE>",
        "MAX_RESULTS": "<YOUR_VALUE>",
        "DEFAULT_IMAGES": "<YOUR_VALUE>",
        "MAX_IMAGES": "<YOUR_VALUE>",
        "DEFAULT_TIMEOUT_MS": "<YOUR_VALUE>",
        "MIN_TIMEOUT_MS": "<YOUR_VALUE>",
        "MAX_TIMEOUT_MS": "<YOUR_VALUE>",
        "DEFAULT_DOCUMENT_CHARS": "<YOUR_VALUE>",
        "MAX_DOCUMENT_CHARS": "<YOUR_VALUE>",
        "PROXY_SCHEME": "<YOUR_VALUE>",
        "PROXY_HOST": "<YOUR_VALUE>",
        "PROXY_PORT": "<YOUR_VALUE>",
        "PROXY_LOGIN": "<YOUR_VALUE>",
        "PROXY_PASSWORD": "<YOUR_VALUE>"
      }
    }
  }
}
  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_darwin_amd64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_darwin_arm64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_linux_amd64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_linux_arm64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_windows_amd64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Package (mcpb 0.1.7)

Package: mcpb https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.7/mcp-retrieval_0.1.7_windows_arm64.mcpb

  • MCP_TRANSPORT — stdio (client spawns the process) or http (streamable HTTP listener).
  • MCP_NAME — Server name reported in the MCP initialize handshake.
  • MCP_PATH — HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http.
  • SERVER_PORT — TCP port to listen on. Used only when MCP_TRANSPORT=http.
  • SERVER_READ_TIMEOUT — HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • SERVER_WRITE_TIMEOUT — HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http.
  • LOG_MODE — local (text, debug) or prod (JSON, info). Logs go to stderr.
  • MAX_IDLE_CONNS_PER_HOST — Idle connections the outbound HTTP client keeps per host.
  • MAX_QUERIES — Maximum queries or URLs accepted in one call.
  • DEFAULT_RESULTS — Snippets returned per query when the call does not ask for a count.
  • MAX_RESULTS — Upper bound for snippets per query.
  • DEFAULT_IMAGES — Images returned per query when the call does not ask for a count.
  • MAX_IMAGES — Upper bound for images per query.
  • DEFAULT_TIMEOUT_MS — Per-call timeout in milliseconds when the call does not request one.
  • MIN_TIMEOUT_MS — Lowest timeout a call may request, in milliseconds.
  • MAX_TIMEOUT_MS — Highest timeout a call may request, in milliseconds.
  • DEFAULT_DOCUMENT_CHARS — Characters kept per scraped page when the call does not ask for a limit.
  • MAX_DOCUMENT_CHARS — Upper bound for characters kept per scraped page.
  • PROXY_SCHEME — Outbound proxy scheme. Optional; set all five PROXY_* variables or none.
  • PROXY_HOST — Outbound proxy host. Enables per-request rotating proxy sessions.
  • PROXY_PORT — Outbound proxy port. Required when PROXY_HOST is set.
  • PROXY_LOGIN secret — Outbound proxy username. Required when PROXY_HOST is set.
  • PROXY_PASSWORD secret — Outbound proxy password. Required when PROXY_HOST is set.

Related servers

Listed in punkpeye/awesome-mcp-servers (MIT)

Data from the Official MCP Registry