Search / io.github.Role1776/mcp-retrieval
MCP Retrieval
L0· runs locallyLocal Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.
v0.1.9 · active · repository · website · descriptor JSON · versions
Search / io.github.Role1776/mcp-retrieval
L0· runs locallyLocal Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.
v0.1.9 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"mcp-retrieval": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"MCP_NAME",
"-e",
"MCP_PATH",
"-e",
"SERVER_PORT",
"-e",
"SERVER_READ_TIMEOUT",
"-e",
"SERVER_WRITE_TIMEOUT",
"-e",
"LOG_MODE",
"-e",
"MAX_IDLE_CONNS_PER_HOST",
"-e",
"MAX_QUERIES",
"-e",
"DEFAULT_RESULTS",
"-e",
"MAX_RESULTS",
"-e",
"DEFAULT_IMAGES",
"-e",
"MAX_IMAGES",
"-e",
"DEFAULT_TIMEOUT_MS",
"-e",
"MIN_TIMEOUT_MS",
"-e",
"MAX_TIMEOUT_MS",
"-e",
"DEFAULT_DOCUMENT_CHARS",
"-e",
"MAX_DOCUMENT_CHARS",
"-e",
"PROXY_LOGIN",
"-e",
"PROXY_PASSWORD",
"ghcr.io/role1776/mcp-retrieval:0.1.9"
],
"env": {
"MCP_TRANSPORT": "stdio",
"MCP_NAME": "mcp-retrieval",
"MCP_PATH": "/mcp",
"SERVER_PORT": "8080",
"SERVER_READ_TIMEOUT": "60s",
"SERVER_WRITE_TIMEOUT": "60s",
"LOG_MODE": "local",
"MAX_IDLE_CONNS_PER_HOST": "100",
"MAX_QUERIES": "10",
"DEFAULT_RESULTS": "5",
"MAX_RESULTS": "20",
"DEFAULT_IMAGES": "5",
"MAX_IMAGES": "10",
"DEFAULT_TIMEOUT_MS": "5000",
"MIN_TIMEOUT_MS": "1000",
"MAX_TIMEOUT_MS": "10000",
"DEFAULT_DOCUMENT_CHARS": "20000",
"MAX_DOCUMENT_CHARS": "20000",
"PROXY_LOGIN": "${PROXY_LOGIN}",
"PROXY_PASSWORD": "${PROXY_PASSWORD}"
}
}
}
}claude mcp add mcp-retrieval -e "MCP_TRANSPORT=stdio" -e "MCP_NAME=mcp-retrieval" -e "MCP_PATH=/mcp" -e "SERVER_PORT=8080" -e "SERVER_READ_TIMEOUT=60s" -e "SERVER_WRITE_TIMEOUT=60s" -e "LOG_MODE=local" -e "MAX_IDLE_CONNS_PER_HOST=100" -e "MAX_QUERIES=10" -e "DEFAULT_RESULTS=5" -e "MAX_RESULTS=20" -e "DEFAULT_IMAGES=5" -e "MAX_IMAGES=10" -e "DEFAULT_TIMEOUT_MS=5000" -e "MIN_TIMEOUT_MS=1000" -e "MAX_TIMEOUT_MS=10000" -e "DEFAULT_DOCUMENT_CHARS=20000" -e "MAX_DOCUMENT_CHARS=20000" -e "PROXY_LOGIN=${PROXY_LOGIN}" -e "PROXY_PASSWORD=${PROXY_PASSWORD}" -- docker run -i --rm -e MCP_TRANSPORT -e MCP_NAME -e MCP_PATH -e SERVER_PORT -e SERVER_READ_TIMEOUT -e SERVER_WRITE_TIMEOUT -e LOG_MODE -e MAX_IDLE_CONNS_PER_HOST -e MAX_QUERIES -e DEFAULT_RESULTS -e MAX_RESULTS -e DEFAULT_IMAGES -e MAX_IMAGES -e DEFAULT_TIMEOUT_MS -e MIN_TIMEOUT_MS -e MAX_TIMEOUT_MS -e DEFAULT_DOCUMENT_CHARS -e MAX_DOCUMENT_CHARS -e PROXY_LOGIN -e PROXY_PASSWORD ghcr.io/role1776/mcp-retrieval:0.1.9[mcp_servers.mcp-retrieval]
command = "docker"
args = ["run", "-i", "--rm", "-e", "MCP_TRANSPORT", "-e", "MCP_NAME", "-e", "MCP_PATH", "-e", "SERVER_PORT", "-e", "SERVER_READ_TIMEOUT", "-e", "SERVER_WRITE_TIMEOUT", "-e", "LOG_MODE", "-e", "MAX_IDLE_CONNS_PER_HOST", "-e", "MAX_QUERIES", "-e", "DEFAULT_RESULTS", "-e", "MAX_RESULTS", "-e", "DEFAULT_IMAGES", "-e", "MAX_IMAGES", "-e", "DEFAULT_TIMEOUT_MS", "-e", "MIN_TIMEOUT_MS", "-e", "MAX_TIMEOUT_MS", "-e", "DEFAULT_DOCUMENT_CHARS", "-e", "MAX_DOCUMENT_CHARS", "-e", "PROXY_LOGIN", "-e", "PROXY_PASSWORD", "ghcr.io/role1776/mcp-retrieval:0.1.9"]
env = { "MCP_TRANSPORT" = "stdio", "MCP_NAME" = "mcp-retrieval", "MCP_PATH" = "/mcp", "SERVER_PORT" = "8080", "SERVER_READ_TIMEOUT" = "60s", "SERVER_WRITE_TIMEOUT" = "60s", "LOG_MODE" = "local", "MAX_IDLE_CONNS_PER_HOST" = "100", "MAX_QUERIES" = "10", "DEFAULT_RESULTS" = "5", "MAX_RESULTS" = "20", "DEFAULT_IMAGES" = "5", "MAX_IMAGES" = "10", "DEFAULT_TIMEOUT_MS" = "5000", "MIN_TIMEOUT_MS" = "1000", "MAX_TIMEOUT_MS" = "10000", "DEFAULT_DOCUMENT_CHARS" = "20000", "MAX_DOCUMENT_CHARS" = "20000", "PROXY_LOGIN" = "${PROXY_LOGIN}", "PROXY_PASSWORD" = "${PROXY_PASSWORD}" }
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"mcp-retrieval": {
"type": "local",
"command": [
"docker",
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"MCP_NAME",
"-e",
"MCP_PATH",
"-e",
"SERVER_PORT",
"-e",
"SERVER_READ_TIMEOUT",
"-e",
"SERVER_WRITE_TIMEOUT",
"-e",
"LOG_MODE",
"-e",
"MAX_IDLE_CONNS_PER_HOST",
"-e",
"MAX_QUERIES",
"-e",
"DEFAULT_RESULTS",
"-e",
"MAX_RESULTS",
"-e",
"DEFAULT_IMAGES",
"-e",
"MAX_IMAGES",
"-e",
"DEFAULT_TIMEOUT_MS",
"-e",
"MIN_TIMEOUT_MS",
"-e",
"MAX_TIMEOUT_MS",
"-e",
"DEFAULT_DOCUMENT_CHARS",
"-e",
"MAX_DOCUMENT_CHARS",
"-e",
"PROXY_LOGIN",
"-e",
"PROXY_PASSWORD",
"ghcr.io/role1776/mcp-retrieval:0.1.9"
],
"enabled": true,
"environment": {
"MCP_TRANSPORT": "stdio",
"MCP_NAME": "mcp-retrieval",
"MCP_PATH": "/mcp",
"SERVER_PORT": "8080",
"SERVER_READ_TIMEOUT": "60s",
"SERVER_WRITE_TIMEOUT": "60s",
"LOG_MODE": "local",
"MAX_IDLE_CONNS_PER_HOST": "100",
"MAX_QUERIES": "10",
"DEFAULT_RESULTS": "5",
"MAX_RESULTS": "20",
"DEFAULT_IMAGES": "5",
"MAX_IMAGES": "10",
"DEFAULT_TIMEOUT_MS": "5000",
"MIN_TIMEOUT_MS": "1000",
"MAX_TIMEOUT_MS": "10000",
"DEFAULT_DOCUMENT_CHARS": "20000",
"MAX_DOCUMENT_CHARS": "20000",
"PROXY_LOGIN": "{env:PROXY_LOGIN}",
"PROXY_PASSWORD": "{env:PROXY_PASSWORD}"
}
}
}
}{
"mcpServers": {
"mcp-retrieval": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"MCP_NAME",
"-e",
"MCP_PATH",
"-e",
"SERVER_PORT",
"-e",
"SERVER_READ_TIMEOUT",
"-e",
"SERVER_WRITE_TIMEOUT",
"-e",
"LOG_MODE",
"-e",
"MAX_IDLE_CONNS_PER_HOST",
"-e",
"MAX_QUERIES",
"-e",
"DEFAULT_RESULTS",
"-e",
"MAX_RESULTS",
"-e",
"DEFAULT_IMAGES",
"-e",
"MAX_IMAGES",
"-e",
"DEFAULT_TIMEOUT_MS",
"-e",
"MIN_TIMEOUT_MS",
"-e",
"MAX_TIMEOUT_MS",
"-e",
"DEFAULT_DOCUMENT_CHARS",
"-e",
"MAX_DOCUMENT_CHARS",
"-e",
"PROXY_LOGIN",
"-e",
"PROXY_PASSWORD",
"ghcr.io/role1776/mcp-retrieval:0.1.9"
],
"env": {
"MCP_TRANSPORT": "stdio",
"MCP_NAME": "mcp-retrieval",
"MCP_PATH": "/mcp",
"SERVER_PORT": "8080",
"SERVER_READ_TIMEOUT": "60s",
"SERVER_WRITE_TIMEOUT": "60s",
"LOG_MODE": "local",
"MAX_IDLE_CONNS_PER_HOST": "100",
"MAX_QUERIES": "10",
"DEFAULT_RESULTS": "5",
"MAX_RESULTS": "20",
"DEFAULT_IMAGES": "5",
"MAX_IMAGES": "10",
"DEFAULT_TIMEOUT_MS": "5000",
"MIN_TIMEOUT_MS": "1000",
"MAX_TIMEOUT_MS": "10000",
"DEFAULT_DOCUMENT_CHARS": "20000",
"MAX_DOCUMENT_CHARS": "20000",
"PROXY_LOGIN": "${PROXY_LOGIN}",
"PROXY_PASSWORD": "${PROXY_PASSWORD}"
}
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=mcp-retrieval&config=eyJjb21tYW5kIjoiZG9ja2VyIiwiYXJncyI6WyJydW4iLCItaSIsIi0tcm0iLCItZSIsIk1DUF9UUkFOU1BPUlQiLCItZSIsIk1DUF9OQU1FIiwiLWUiLCJNQ1BfUEFUSCIsIi1lIiwiU0VSVkVSX1BPUlQiLCItZSIsIlNFUlZFUl9SRUFEX1RJTUVPVVQiLCItZSIsIlNFUlZFUl9XUklURV9USU1FT1VUIiwiLWUiLCJMT0dfTU9ERSIsIi1lIiwiTUFYX0lETEVfQ09OTlNfUEVSX0hPU1QiLCItZSIsIk1BWF9RVUVSSUVTIiwiLWUiLCJERUZBVUxUX1JFU1VMVFMiLCItZSIsIk1BWF9SRVNVTFRTIiwiLWUiLCJERUZBVUxUX0lNQUdFUyIsIi1lIiwiTUFYX0lNQUdFUyIsIi1lIiwiREVGQVVMVF9USU1FT1VUX01TIiwiLWUiLCJNSU5fVElNRU9VVF9NUyIsIi1lIiwiTUFYX1RJTUVPVVRfTVMiLCItZSIsIkRFRkFVTFRfRE9DVU1FTlRfQ0hBUlMiLCItZSIsIk1BWF9ET0NVTUVOVF9DSEFSUyIsIi1lIiwiUFJPWFlfTE9HSU4iLCItZSIsIlBST1hZX1BBU1NXT1JEIiwiZ2hjci5pby9yb2xlMTc3Ni9tY3AtcmV0cmlldmFsOjAuMS45Il0sImVudiI6eyJNQ1BfVFJBTlNQT1JUIjoic3RkaW8iLCJNQ1BfTkFNRSI6Im1jcC1yZXRyaWV2YWwiLCJNQ1BfUEFUSCI6Ii9tY3AiLCJTRVJWRVJfUE9SVCI6IjgwODAiLCJTRVJWRVJfUkVBRF9USU1FT1VUIjoiNjBzIiwiU0VSVkVSX1dSSVRFX1RJTUVPVVQiOiI2MHMiLCJMT0dfTU9ERSI6ImxvY2FsIiwiTUFYX0lETEVfQ09OTlNfUEVSX0hPU1QiOiIxMDAiLCJNQVhfUVVFUklFUyI6IjEwIiwiREVGQVVMVF9SRVNVTFRTIjoiNSIsIk1BWF9SRVNVTFRTIjoiMjAiLCJERUZBVUxUX0lNQUdFUyI6IjUiLCJNQVhfSU1BR0VTIjoiMTAiLCJERUZBVUxUX1RJTUVPVVRfTVMiOiI1MDAwIiwiTUlOX1RJTUVPVVRfTVMiOiIxMDAwIiwiTUFYX1RJTUVPVVRfTVMiOiIxMDAwMCIsIkRFRkFVTFRfRE9DVU1FTlRfQ0hBUlMiOiIyMDAwMCIsIk1BWF9ET0NVTUVOVF9DSEFSUyI6IjIwMDAwIiwiUFJPWFlfTE9HSU4iOiIke1BST1hZX0xPR0lOfSIsIlBST1hZX1BBU1NXT1JEIjoiJHtQUk9YWV9QQVNTV09SRH0ifX0%3D"
}{
"servers": {
"mcp-retrieval": {
"type": "stdio",
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"MCP_NAME",
"-e",
"MCP_PATH",
"-e",
"SERVER_PORT",
"-e",
"SERVER_READ_TIMEOUT",
"-e",
"SERVER_WRITE_TIMEOUT",
"-e",
"LOG_MODE",
"-e",
"MAX_IDLE_CONNS_PER_HOST",
"-e",
"MAX_QUERIES",
"-e",
"DEFAULT_RESULTS",
"-e",
"MAX_RESULTS",
"-e",
"DEFAULT_IMAGES",
"-e",
"MAX_IMAGES",
"-e",
"DEFAULT_TIMEOUT_MS",
"-e",
"MIN_TIMEOUT_MS",
"-e",
"MAX_TIMEOUT_MS",
"-e",
"DEFAULT_DOCUMENT_CHARS",
"-e",
"MAX_DOCUMENT_CHARS",
"-e",
"PROXY_LOGIN",
"-e",
"PROXY_PASSWORD",
"ghcr.io/role1776/mcp-retrieval:0.1.9"
],
"env": {
"MCP_TRANSPORT": "stdio",
"MCP_NAME": "mcp-retrieval",
"MCP_PATH": "/mcp",
"SERVER_PORT": "8080",
"SERVER_READ_TIMEOUT": "60s",
"SERVER_WRITE_TIMEOUT": "60s",
"LOG_MODE": "local",
"MAX_IDLE_CONNS_PER_HOST": "100",
"MAX_QUERIES": "10",
"DEFAULT_RESULTS": "5",
"MAX_RESULTS": "20",
"DEFAULT_IMAGES": "5",
"MAX_IMAGES": "10",
"DEFAULT_TIMEOUT_MS": "5000",
"MIN_TIMEOUT_MS": "1000",
"MAX_TIMEOUT_MS": "10000",
"DEFAULT_DOCUMENT_CHARS": "20000",
"MAX_DOCUMENT_CHARS": "20000",
"PROXY_LOGIN": "${PROXY_LOGIN}",
"PROXY_PASSWORD": "${PROXY_PASSWORD}"
}
}
}
}{
"mcpServers": {
"mcp-retrieval": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"MCP_TRANSPORT",
"-e",
"MCP_NAME",
"-e",
"MCP_PATH",
"-e",
"SERVER_PORT",
"-e",
"SERVER_READ_TIMEOUT",
"-e",
"SERVER_WRITE_TIMEOUT",
"-e",
"LOG_MODE",
"-e",
"MAX_IDLE_CONNS_PER_HOST",
"-e",
"MAX_QUERIES",
"-e",
"DEFAULT_RESULTS",
"-e",
"MAX_RESULTS",
"-e",
"DEFAULT_IMAGES",
"-e",
"MAX_IMAGES",
"-e",
"DEFAULT_TIMEOUT_MS",
"-e",
"MIN_TIMEOUT_MS",
"-e",
"MAX_TIMEOUT_MS",
"-e",
"DEFAULT_DOCUMENT_CHARS",
"-e",
"MAX_DOCUMENT_CHARS",
"-e",
"PROXY_LOGIN",
"-e",
"PROXY_PASSWORD",
"ghcr.io/role1776/mcp-retrieval:0.1.9"
],
"env": {
"MCP_TRANSPORT": "stdio",
"MCP_NAME": "mcp-retrieval",
"MCP_PATH": "/mcp",
"SERVER_PORT": "8080",
"SERVER_READ_TIMEOUT": "60s",
"SERVER_WRITE_TIMEOUT": "60s",
"LOG_MODE": "local",
"MAX_IDLE_CONNS_PER_HOST": "100",
"MAX_QUERIES": "10",
"DEFAULT_RESULTS": "5",
"MAX_RESULTS": "20",
"DEFAULT_IMAGES": "5",
"MAX_IMAGES": "10",
"DEFAULT_TIMEOUT_MS": "5000",
"MIN_TIMEOUT_MS": "1000",
"MAX_TIMEOUT_MS": "10000",
"DEFAULT_DOCUMENT_CHARS": "20000",
"MAX_DOCUMENT_CHARS": "20000",
"PROXY_LOGIN": "${PROXY_LOGIN}",
"PROXY_PASSWORD": "${PROXY_PASSWORD}"
}
}
}
}extensions:
"mcp-retrieval":
enabled: true
name: "mcp-retrieval"
type: stdio
cmd: "docker"
args:
- "run"
- "-i"
- "--rm"
- "-e"
- "MCP_TRANSPORT"
- "-e"
- "MCP_NAME"
- "-e"
- "MCP_PATH"
- "-e"
- "SERVER_PORT"
- "-e"
- "SERVER_READ_TIMEOUT"
- "-e"
- "SERVER_WRITE_TIMEOUT"
- "-e"
- "LOG_MODE"
- "-e"
- "MAX_IDLE_CONNS_PER_HOST"
- "-e"
- "MAX_QUERIES"
- "-e"
- "DEFAULT_RESULTS"
- "-e"
- "MAX_RESULTS"
- "-e"
- "DEFAULT_IMAGES"
- "-e"
- "MAX_IMAGES"
- "-e"
- "DEFAULT_TIMEOUT_MS"
- "-e"
- "MIN_TIMEOUT_MS"
- "-e"
- "MAX_TIMEOUT_MS"
- "-e"
- "DEFAULT_DOCUMENT_CHARS"
- "-e"
- "MAX_DOCUMENT_CHARS"
- "-e"
- "PROXY_LOGIN"
- "-e"
- "PROXY_PASSWORD"
- "ghcr.io/role1776/mcp-retrieval:0.1.9"
envs:
"MCP_TRANSPORT": "stdio"
"MCP_NAME": "mcp-retrieval"
"MCP_PATH": "/mcp"
"SERVER_PORT": "8080"
"SERVER_READ_TIMEOUT": "60s"
"SERVER_WRITE_TIMEOUT": "60s"
"LOG_MODE": "local"
"MAX_IDLE_CONNS_PER_HOST": "100"
"MAX_QUERIES": "10"
"DEFAULT_RESULTS": "5"
"MAX_RESULTS": "20"
"DEFAULT_IMAGES": "5"
"MAX_IMAGES": "10"
"DEFAULT_TIMEOUT_MS": "5000"
"MIN_TIMEOUT_MS": "1000"
"MAX_TIMEOUT_MS": "10000"
"DEFAULT_DOCUMENT_CHARS": "20000"
"MAX_DOCUMENT_CHARS": "20000"
"PROXY_LOGIN": "${PROXY_LOGIN}"
"PROXY_PASSWORD": "${PROXY_PASSWORD}"
timeout: 300
Placeholders to fill from your own secret store: ${PROXY_LOGIN}, ${PROXY_PASSWORD}. The registry never accepts secret values.
This is a local package: the command runs on your machine.
Not scored: fewer than three checks apply, usually because no remote answered a credential-free probe or the server is a local package.
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptions, tools.description_length, tools.schemas, tools.annotations, tools.directory_hints, tools.token_cost, tools.api_dumptool list unknown (behind auth, not probed, or empty)stability.changes, stability.rug_pulltool list unknowndeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website ~liveness-unmeasured +updated-10d-ago -unpinned-packages(1)
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| package | registry | version | runtime | secrets |
|---|---|---|---|---|
ghcr.io/role1776/mcp-retrieval:0.1.9 | oci | unpinned | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_amd64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_arm64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_linux_amd64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_linux_arm64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_amd64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_arm64.mcpb | mcpb | 0.1.9 | – | PROXY_LOGIN, PROXY_PASSWORD |
No tools observed. Local packages are never executed by the registry.
Schemas: list_tools.
{
"name": "io.github.Role1776/mcp-retrieval",
"title": "MCP Retrieval",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"version": "0.1.9",
"packages": [
{
"transport": {
"type": "stdio"
},
"identifier": "ghcr.io/role1776/mcp-retrieval:0.1.9",
"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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "7ffb4c98b4ec08313773148b5dd096c95c77472e89082b8d1f7aaf4cacdefe62",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_amd64.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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "941fbc39d627f47e386734d802b60bfb59e1be42674dc00fdf20db690b5853a7",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "19e17374ac0caae7336ed35d905ce7e4eafa5c41a53497b673fa10a3e47cd2fe",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_linux_amd64.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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "4ef072023de9ddf817fff68d99b466319de60b404fb242b46217f0b14e149517",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "5ac5ab3b4f6cd1bdb5ff7280bdddf688d1debdcd57806fd041c163e758896fd5",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_amd64.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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
},
{
"version": "0.1.9",
"transport": {
"type": "stdio"
},
"fileSha256": "a39c7b9cc6c5111003733eaa4bc4c0d241e4bef92272949c4ab4f23c7ed6d0fa",
"identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_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",
"isSecret": true,
"description": "Outbound proxy username. Required when PROXY_HOST is set."
},
{
"name": "PROXY_PASSWORD",
"isSecret": true,
"description": "Outbound proxy password. Required when PROXY_HOST is set."
}
]
}
],
"repository": {
"url": "https://github.com/Role1776/mcp-retrieval",
"source": "github"
},
"websiteUrl": "https://github.com/Role1776/mcp-retrieval#readme",
"description": "Local Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown."
}