Koskamo

MCP Retrieval

A local Go-based MCP server that provides web search, image search, and page scraping capabilities. It uses DuckDuckGo and Bing Images for search and a readability extractor to convert HTML pages into Markdown. It requires no API keys and runs locally, supporting both stdio and HTTP transports for integration with LLM agents.

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

Checks and signals

Each line is separate evidence, not a trust score.

  • Popularity 23 GitHub stars

What you can do with it

  • Run parallel web searches with deduplication and reranking
  • Search for images using Bing Images with freshness filters
  • Scrape web pages and extract main article text as Markdown

Source and maintenance

Community listingRegistry 0.1.10MIT
Last repository push
Latest release
v0.1.10
Maintenance checked

Packages and installation

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

ghcr.io/role1776/mcp-retrieval:0.1.10

oci
ghcr.io/role1776/mcp-retrieval:0.1.10 package definition
{
  "transport": "stdio",
  "identifier": "ghcr.io/role1776/mcp-retrieval:0.1.10",
  "registryType": "oci",
  "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.

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · repository · passed · metadata changed · updated
  • · backfill · recorded · Pre-expansion baseline; unobserved rich metadata remains unknown

Connect from your client

Each snippet configures the same source-provided package; replace placeholders before use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Cursor

Merge this local stdio configuration, replace every placeholder environment value, and restart Cursor. Koskamo has not executed this package.
Cursor configuration
{
  "mcpServers": {
    "mcp-retrieval-0-1-10": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
        "-e",
        "MCP_NAME=<YOUR_MCP_NAME>",
        "-e",
        "MCP_PATH=<YOUR_MCP_PATH>",
        "-e",
        "SERVER_PORT=<YOUR_SERVER_PORT>",
        "-e",
        "SERVER_READ_TIMEOUT=<YOUR_SERVER_READ_TIMEOUT>",
        "-e",
        "SERVER_WRITE_TIMEOUT=<YOUR_SERVER_WRITE_TIMEOUT>",
        "-e",
        "LOG_MODE=<YOUR_LOG_MODE>",
        "-e",
        "MAX_IDLE_CONNS_PER_HOST=<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "-e",
        "MAX_QUERIES=<YOUR_MAX_QUERIES>",
        "-e",
        "DEFAULT_RESULTS=<YOUR_DEFAULT_RESULTS>",
        "-e",
        "MAX_RESULTS=<YOUR_MAX_RESULTS>",
        "-e",
        "DEFAULT_IMAGES=<YOUR_DEFAULT_IMAGES>",
        "-e",
        "MAX_IMAGES=<YOUR_MAX_IMAGES>",
        "-e",
        "DEFAULT_TIMEOUT_MS=<YOUR_DEFAULT_TIMEOUT_MS>",
        "-e",
        "MIN_TIMEOUT_MS=<YOUR_MIN_TIMEOUT_MS>",
        "-e",
        "MAX_TIMEOUT_MS=<YOUR_MAX_TIMEOUT_MS>",
        "-e",
        "DEFAULT_DOCUMENT_CHARS=<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "-e",
        "MAX_DOCUMENT_CHARS=<YOUR_MAX_DOCUMENT_CHARS>",
        "-e",
        "PROXY_SCHEME=<YOUR_PROXY_SCHEME>",
        "-e",
        "PROXY_HOST=<YOUR_PROXY_HOST>",
        "-e",
        "PROXY_PORT=<YOUR_PROXY_PORT>",
        "-e",
        "PROXY_LOGIN=<YOUR_PROXY_LOGIN>",
        "-e",
        "PROXY_PASSWORD=<YOUR_PROXY_PASSWORD>",
        "ghcr.io/role1776/mcp-retrieval:0.1.10"
      ],
      "env": {
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_NAME": "<YOUR_MCP_NAME>",
        "MCP_PATH": "<YOUR_MCP_PATH>",
        "SERVER_PORT": "<YOUR_SERVER_PORT>",
        "SERVER_READ_TIMEOUT": "<YOUR_SERVER_READ_TIMEOUT>",
        "SERVER_WRITE_TIMEOUT": "<YOUR_SERVER_WRITE_TIMEOUT>",
        "LOG_MODE": "<YOUR_LOG_MODE>",
        "MAX_IDLE_CONNS_PER_HOST": "<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "MAX_QUERIES": "<YOUR_MAX_QUERIES>",
        "DEFAULT_RESULTS": "<YOUR_DEFAULT_RESULTS>",
        "MAX_RESULTS": "<YOUR_MAX_RESULTS>",
        "DEFAULT_IMAGES": "<YOUR_DEFAULT_IMAGES>",
        "MAX_IMAGES": "<YOUR_MAX_IMAGES>",
        "DEFAULT_TIMEOUT_MS": "<YOUR_DEFAULT_TIMEOUT_MS>",
        "MIN_TIMEOUT_MS": "<YOUR_MIN_TIMEOUT_MS>",
        "MAX_TIMEOUT_MS": "<YOUR_MAX_TIMEOUT_MS>",
        "DEFAULT_DOCUMENT_CHARS": "<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "MAX_DOCUMENT_CHARS": "<YOUR_MAX_DOCUMENT_CHARS>",
        "PROXY_SCHEME": "<YOUR_PROXY_SCHEME>",
        "PROXY_HOST": "<YOUR_PROXY_HOST>",
        "PROXY_PORT": "<YOUR_PROXY_PORT>",
        "PROXY_LOGIN": "<YOUR_PROXY_LOGIN>",
        "PROXY_PASSWORD": "<YOUR_PROXY_PASSWORD>"
      }
    }
  }
}

Cline

Merge this local stdio configuration, replace every placeholder environment value, and restart Cline. Koskamo has not executed this package.
Cline configuration
{
  "mcpServers": {
    "mcp-retrieval-0-1-10": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
        "-e",
        "MCP_NAME=<YOUR_MCP_NAME>",
        "-e",
        "MCP_PATH=<YOUR_MCP_PATH>",
        "-e",
        "SERVER_PORT=<YOUR_SERVER_PORT>",
        "-e",
        "SERVER_READ_TIMEOUT=<YOUR_SERVER_READ_TIMEOUT>",
        "-e",
        "SERVER_WRITE_TIMEOUT=<YOUR_SERVER_WRITE_TIMEOUT>",
        "-e",
        "LOG_MODE=<YOUR_LOG_MODE>",
        "-e",
        "MAX_IDLE_CONNS_PER_HOST=<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "-e",
        "MAX_QUERIES=<YOUR_MAX_QUERIES>",
        "-e",
        "DEFAULT_RESULTS=<YOUR_DEFAULT_RESULTS>",
        "-e",
        "MAX_RESULTS=<YOUR_MAX_RESULTS>",
        "-e",
        "DEFAULT_IMAGES=<YOUR_DEFAULT_IMAGES>",
        "-e",
        "MAX_IMAGES=<YOUR_MAX_IMAGES>",
        "-e",
        "DEFAULT_TIMEOUT_MS=<YOUR_DEFAULT_TIMEOUT_MS>",
        "-e",
        "MIN_TIMEOUT_MS=<YOUR_MIN_TIMEOUT_MS>",
        "-e",
        "MAX_TIMEOUT_MS=<YOUR_MAX_TIMEOUT_MS>",
        "-e",
        "DEFAULT_DOCUMENT_CHARS=<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "-e",
        "MAX_DOCUMENT_CHARS=<YOUR_MAX_DOCUMENT_CHARS>",
        "-e",
        "PROXY_SCHEME=<YOUR_PROXY_SCHEME>",
        "-e",
        "PROXY_HOST=<YOUR_PROXY_HOST>",
        "-e",
        "PROXY_PORT=<YOUR_PROXY_PORT>",
        "-e",
        "PROXY_LOGIN=<YOUR_PROXY_LOGIN>",
        "-e",
        "PROXY_PASSWORD=<YOUR_PROXY_PASSWORD>",
        "ghcr.io/role1776/mcp-retrieval:0.1.10"
      ],
      "env": {
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_NAME": "<YOUR_MCP_NAME>",
        "MCP_PATH": "<YOUR_MCP_PATH>",
        "SERVER_PORT": "<YOUR_SERVER_PORT>",
        "SERVER_READ_TIMEOUT": "<YOUR_SERVER_READ_TIMEOUT>",
        "SERVER_WRITE_TIMEOUT": "<YOUR_SERVER_WRITE_TIMEOUT>",
        "LOG_MODE": "<YOUR_LOG_MODE>",
        "MAX_IDLE_CONNS_PER_HOST": "<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "MAX_QUERIES": "<YOUR_MAX_QUERIES>",
        "DEFAULT_RESULTS": "<YOUR_DEFAULT_RESULTS>",
        "MAX_RESULTS": "<YOUR_MAX_RESULTS>",
        "DEFAULT_IMAGES": "<YOUR_DEFAULT_IMAGES>",
        "MAX_IMAGES": "<YOUR_MAX_IMAGES>",
        "DEFAULT_TIMEOUT_MS": "<YOUR_DEFAULT_TIMEOUT_MS>",
        "MIN_TIMEOUT_MS": "<YOUR_MIN_TIMEOUT_MS>",
        "MAX_TIMEOUT_MS": "<YOUR_MAX_TIMEOUT_MS>",
        "DEFAULT_DOCUMENT_CHARS": "<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "MAX_DOCUMENT_CHARS": "<YOUR_MAX_DOCUMENT_CHARS>",
        "PROXY_SCHEME": "<YOUR_PROXY_SCHEME>",
        "PROXY_HOST": "<YOUR_PROXY_HOST>",
        "PROXY_PORT": "<YOUR_PROXY_PORT>",
        "PROXY_LOGIN": "<YOUR_PROXY_LOGIN>",
        "PROXY_PASSWORD": "<YOUR_PROXY_PASSWORD>"
      }
    }
  }
}

VS Code

Merge this local stdio configuration, replace every placeholder environment value, and restart VS Code. Koskamo has not executed this package.
VS Code configuration
{
  "servers": {
    "mcp-retrieval-0-1-10": {
      "type": "stdio",
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
        "-e",
        "MCP_NAME=<YOUR_MCP_NAME>",
        "-e",
        "MCP_PATH=<YOUR_MCP_PATH>",
        "-e",
        "SERVER_PORT=<YOUR_SERVER_PORT>",
        "-e",
        "SERVER_READ_TIMEOUT=<YOUR_SERVER_READ_TIMEOUT>",
        "-e",
        "SERVER_WRITE_TIMEOUT=<YOUR_SERVER_WRITE_TIMEOUT>",
        "-e",
        "LOG_MODE=<YOUR_LOG_MODE>",
        "-e",
        "MAX_IDLE_CONNS_PER_HOST=<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "-e",
        "MAX_QUERIES=<YOUR_MAX_QUERIES>",
        "-e",
        "DEFAULT_RESULTS=<YOUR_DEFAULT_RESULTS>",
        "-e",
        "MAX_RESULTS=<YOUR_MAX_RESULTS>",
        "-e",
        "DEFAULT_IMAGES=<YOUR_DEFAULT_IMAGES>",
        "-e",
        "MAX_IMAGES=<YOUR_MAX_IMAGES>",
        "-e",
        "DEFAULT_TIMEOUT_MS=<YOUR_DEFAULT_TIMEOUT_MS>",
        "-e",
        "MIN_TIMEOUT_MS=<YOUR_MIN_TIMEOUT_MS>",
        "-e",
        "MAX_TIMEOUT_MS=<YOUR_MAX_TIMEOUT_MS>",
        "-e",
        "DEFAULT_DOCUMENT_CHARS=<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "-e",
        "MAX_DOCUMENT_CHARS=<YOUR_MAX_DOCUMENT_CHARS>",
        "-e",
        "PROXY_SCHEME=<YOUR_PROXY_SCHEME>",
        "-e",
        "PROXY_HOST=<YOUR_PROXY_HOST>",
        "-e",
        "PROXY_PORT=<YOUR_PROXY_PORT>",
        "-e",
        "PROXY_LOGIN=<YOUR_PROXY_LOGIN>",
        "-e",
        "PROXY_PASSWORD=<YOUR_PROXY_PASSWORD>",
        "ghcr.io/role1776/mcp-retrieval:0.1.10"
      ],
      "env": {
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_NAME": "<YOUR_MCP_NAME>",
        "MCP_PATH": "<YOUR_MCP_PATH>",
        "SERVER_PORT": "<YOUR_SERVER_PORT>",
        "SERVER_READ_TIMEOUT": "<YOUR_SERVER_READ_TIMEOUT>",
        "SERVER_WRITE_TIMEOUT": "<YOUR_SERVER_WRITE_TIMEOUT>",
        "LOG_MODE": "<YOUR_LOG_MODE>",
        "MAX_IDLE_CONNS_PER_HOST": "<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "MAX_QUERIES": "<YOUR_MAX_QUERIES>",
        "DEFAULT_RESULTS": "<YOUR_DEFAULT_RESULTS>",
        "MAX_RESULTS": "<YOUR_MAX_RESULTS>",
        "DEFAULT_IMAGES": "<YOUR_DEFAULT_IMAGES>",
        "MAX_IMAGES": "<YOUR_MAX_IMAGES>",
        "DEFAULT_TIMEOUT_MS": "<YOUR_DEFAULT_TIMEOUT_MS>",
        "MIN_TIMEOUT_MS": "<YOUR_MIN_TIMEOUT_MS>",
        "MAX_TIMEOUT_MS": "<YOUR_MAX_TIMEOUT_MS>",
        "DEFAULT_DOCUMENT_CHARS": "<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "MAX_DOCUMENT_CHARS": "<YOUR_MAX_DOCUMENT_CHARS>",
        "PROXY_SCHEME": "<YOUR_PROXY_SCHEME>",
        "PROXY_HOST": "<YOUR_PROXY_HOST>",
        "PROXY_PORT": "<YOUR_PROXY_PORT>",
        "PROXY_LOGIN": "<YOUR_PROXY_LOGIN>",
        "PROXY_PASSWORD": "<YOUR_PROXY_PASSWORD>"
      }
    }
  }
}

Claude Desktop

Merge this local stdio configuration, replace every placeholder environment value, and restart Claude Desktop. Koskamo has not executed this package.
Claude Desktop configuration
{
  "mcpServers": {
    "mcp-retrieval-0-1-10": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "MCP_TRANSPORT=<YOUR_MCP_TRANSPORT>",
        "-e",
        "MCP_NAME=<YOUR_MCP_NAME>",
        "-e",
        "MCP_PATH=<YOUR_MCP_PATH>",
        "-e",
        "SERVER_PORT=<YOUR_SERVER_PORT>",
        "-e",
        "SERVER_READ_TIMEOUT=<YOUR_SERVER_READ_TIMEOUT>",
        "-e",
        "SERVER_WRITE_TIMEOUT=<YOUR_SERVER_WRITE_TIMEOUT>",
        "-e",
        "LOG_MODE=<YOUR_LOG_MODE>",
        "-e",
        "MAX_IDLE_CONNS_PER_HOST=<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "-e",
        "MAX_QUERIES=<YOUR_MAX_QUERIES>",
        "-e",
        "DEFAULT_RESULTS=<YOUR_DEFAULT_RESULTS>",
        "-e",
        "MAX_RESULTS=<YOUR_MAX_RESULTS>",
        "-e",
        "DEFAULT_IMAGES=<YOUR_DEFAULT_IMAGES>",
        "-e",
        "MAX_IMAGES=<YOUR_MAX_IMAGES>",
        "-e",
        "DEFAULT_TIMEOUT_MS=<YOUR_DEFAULT_TIMEOUT_MS>",
        "-e",
        "MIN_TIMEOUT_MS=<YOUR_MIN_TIMEOUT_MS>",
        "-e",
        "MAX_TIMEOUT_MS=<YOUR_MAX_TIMEOUT_MS>",
        "-e",
        "DEFAULT_DOCUMENT_CHARS=<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "-e",
        "MAX_DOCUMENT_CHARS=<YOUR_MAX_DOCUMENT_CHARS>",
        "-e",
        "PROXY_SCHEME=<YOUR_PROXY_SCHEME>",
        "-e",
        "PROXY_HOST=<YOUR_PROXY_HOST>",
        "-e",
        "PROXY_PORT=<YOUR_PROXY_PORT>",
        "-e",
        "PROXY_LOGIN=<YOUR_PROXY_LOGIN>",
        "-e",
        "PROXY_PASSWORD=<YOUR_PROXY_PASSWORD>",
        "ghcr.io/role1776/mcp-retrieval:0.1.10"
      ],
      "env": {
        "MCP_TRANSPORT": "<YOUR_MCP_TRANSPORT>",
        "MCP_NAME": "<YOUR_MCP_NAME>",
        "MCP_PATH": "<YOUR_MCP_PATH>",
        "SERVER_PORT": "<YOUR_SERVER_PORT>",
        "SERVER_READ_TIMEOUT": "<YOUR_SERVER_READ_TIMEOUT>",
        "SERVER_WRITE_TIMEOUT": "<YOUR_SERVER_WRITE_TIMEOUT>",
        "LOG_MODE": "<YOUR_LOG_MODE>",
        "MAX_IDLE_CONNS_PER_HOST": "<YOUR_MAX_IDLE_CONNS_PER_HOST>",
        "MAX_QUERIES": "<YOUR_MAX_QUERIES>",
        "DEFAULT_RESULTS": "<YOUR_DEFAULT_RESULTS>",
        "MAX_RESULTS": "<YOUR_MAX_RESULTS>",
        "DEFAULT_IMAGES": "<YOUR_DEFAULT_IMAGES>",
        "MAX_IMAGES": "<YOUR_MAX_IMAGES>",
        "DEFAULT_TIMEOUT_MS": "<YOUR_DEFAULT_TIMEOUT_MS>",
        "MIN_TIMEOUT_MS": "<YOUR_MIN_TIMEOUT_MS>",
        "MAX_TIMEOUT_MS": "<YOUR_MAX_TIMEOUT_MS>",
        "DEFAULT_DOCUMENT_CHARS": "<YOUR_DEFAULT_DOCUMENT_CHARS>",
        "MAX_DOCUMENT_CHARS": "<YOUR_MAX_DOCUMENT_CHARS>",
        "PROXY_SCHEME": "<YOUR_PROXY_SCHEME>",
        "PROXY_HOST": "<YOUR_PROXY_HOST>",
        "PROXY_PORT": "<YOUR_PROXY_PORT>",
        "PROXY_LOGIN": "<YOUR_PROXY_LOGIN>",
        "PROXY_PASSWORD": "<YOUR_PROXY_PASSWORD>"
      }
    }
  }
}

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.