Koskamo

MCP Retrieval

A local Go-based MCP server that provides web search, image search, and page scraping capabilities without requiring API keys. It uses DuckDuckGo for web search, Bing Images for image search, and a readability extractor to convert HTML pages into clean Markdown. The server supports both stdio and HTTP transports and exposes three read-only tools: web_search, web_search_images, and web_scrape.

Package and access

Local package with source-attributed installation metadata. Koskamo does not execute packages during review.

MCP Retrieval logo, by Role1776Community listingLocal stdioSource reviewed; not executedPublished by Role1776
Vendor documentation

What you can do with it

  • Perform parallel web searches with freshness filters
  • Search for images using Bing Images
  • Scrape web pages and extract main content as Markdown

Source and maintenance

Community listingRegistry 0.1.10
Maintenance checked

Packages and installation

Source-provided package data. Koskamo has not executed or live-probed this package.

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

mcpbSHA-256 supplied
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.10/mcp-retrieval_0.1.10_linux_arm64.mcpb package definition
{
  "version": "0.1.10",
  "transport": "stdio",
  "fileSha256": "18371315a8a60277f221aa98f16ee0a64cf605de314b8a3de31fcdb903590484",
  "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.10/mcp-retrieval_0.1.10_linux_arm64.mcpb",
  "registryType": "mcpb",
  "environmentVariables": [
    {
      "name": "MCP_TRANSPORT",
      "choices": [
        "stdio",
        "http"
      ],
      "default": "stdio",
      "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
    },
    {
      "name": "MCP_NAME",
      "default": "mcp-retrieval",
      "description": "Server name reported in the MCP initialize handshake."
    },
    {
      "name": "MCP_PATH",
      "default": "/mcp",
      "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
    },
    {
      "name": "SERVER_PORT",
      "default": "8080",
      "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
    },
    {
      "name": "SERVER_READ_TIMEOUT",
      "default": "60s",
      "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
    },
    {
      "name": "SERVER_WRITE_TIMEOUT",
      "default": "60s",
      "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
    },
    {
      "name": "LOG_MODE",
      "choices": [
        "local",
        "prod"
      ],
      "default": "local",
      "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
    },
    {
      "name": "MAX_IDLE_CONNS_PER_HOST",
      "default": "100",
      "description": "Idle connections the outbound HTTP client keeps per host."
    },
    {
      "name": "MAX_QUERIES",
      "default": "10",
      "description": "Maximum queries or URLs accepted in one call."
    },
    {
      "name": "DEFAULT_RESULTS",
      "default": "5",
      "description": "Snippets returned per query when the call does not ask for a count."
    },
    {
      "name": "MAX_RESULTS",
      "default": "20",
      "description": "Upper bound for snippets per query."
    },
    {
      "name": "DEFAULT_IMAGES",
      "default": "5",
      "description": "Images returned per query when the call does not ask for a count."
    },
    {
      "name": "MAX_IMAGES",
      "default": "10",
      "description": "Upper bound for images per query."
    },
    {
      "name": "DEFAULT_TIMEOUT_MS",
      "default": "5000",
      "description": "Per-call timeout in milliseconds when the call does not request one."
    },
    {
      "name": "MIN_TIMEOUT_MS",
      "default": "1000",
      "description": "Lowest timeout a call may request, in milliseconds."
    },
    {
      "name": "MAX_TIMEOUT_MS",
      "default": "10000",
      "description": "Highest timeout a call may request, in milliseconds."
    },
    {
      "name": "DEFAULT_DOCUMENT_CHARS",
      "default": "20000",
      "description": "Characters kept per scraped page when the call does not ask for a limit."
    },
    {
      "name": "MAX_DOCUMENT_CHARS",
      "default": "20000",
      "description": "Upper bound for characters kept per scraped page."
    },
    {
      "name": "PROXY_SCHEME",
      "description": "Outbound proxy scheme. Optional; set all five PROXY_* variables or none."
    },
    {
      "name": "PROXY_HOST",
      "description": "Outbound proxy host. Enables per-request rotating proxy sessions."
    },
    {
      "name": "PROXY_PORT",
      "description": "Outbound proxy port. Required when PROXY_HOST is set."
    },
    {
      "name": "PROXY_LOGIN",
      "description": "Outbound proxy username. Required when PROXY_HOST is set."
    },
    {
      "name": "PROXY_PASSWORD",
      "description": "Outbound proxy password. Required when PROXY_HOST is set."
    }
  ]
}

Tools

Reported by the attributed source; not independently observed by Koskamo.

No tool definitions available.

Let your agent find its tools

Find servers like MCP Retrieval from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.