AgentHubAgentHub

MCP Retrieval MCP配置与使用教程

MCP ServerMCP Registry官方收录

io.github.Role1776/mcp-retrieval · v0.1.9

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

建议先在本页复制安装配置,再到上游核对文档与权限。

产品介绍

Local Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown. MCP Retrieval 是一个MCP Server,收录自 官方 MCP Registry。支持 stdio 传输。本页提供产品介绍、配置教程、安装命令与适用场景,支持 Trae、通义灵码、Cursor、Claude Code、VS Code 等。

适用场景

AgentHub Verified 可用性验证技术测试通过

自动化测试流水线已校验安装命令、传输协议与客户端兼容性

最近校验时间2026-10-18
安装配置格式测试有效CLI 与 mcpServers JSON 语法校验通过
协议连接与握手响应正常支持标准 JSON-RPC 2.0 规格规范
上游数据源存活来源 official-mcp-registry,可正常下载依赖
测试可用客户端Claude Code、Claude Desktop、Cursor 等
安全等级: A+ 级 · 官方认证推荐 (A+)·该工具由官方或知名生态团队维护,源码遵循标准开源许可协议,可安全接入 Cursor / Claude。

按平台快速复制

选择你的平台查看安装方式

  1. 打开项目根目录下的 .cursor/mcp.json(没有就新建)
  2. 点击「复制配置」粘贴进去;若已有其他 MCP,只合并 mcpServers 里的本条目
  3. 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
  4. 保存后按 Cmd+Shift+P(Windows:Ctrl+Shift+P)→ 输入 Reload Window 并执行

预填环境变量与密钥(可选)

secret
secret
secret
secret
secret
secret
secret
secret
secret
secret
secret
secret
secret
secret
隐私安全承诺:所有参数与密钥仅在您本机的浏览器前端进行实时文本替换,AgentHub 绝不向任何服务器上传或存储您的敏感凭据。
点击「复制配置」直接粘贴到客户端
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

配置教程

  1. 打开 MCP Retrieval 详情页,确认这是你需要的 MCP Server(来源 官方 MCP Registry)。
  2. 按客户端选择 Trae、通义灵码、Cursor、Claude Code 或 VS Code,复制 JSON 配置或 CLI 命令。
  3. 将配置合并进 mcpServers,并把环境变量占位符替换为真实密钥。
  4. 重载窗口后,在 Agent 对话中调用该 MCP 提供的工具。

安装命令

以下安装命令与配置步骤已写入页面 HTML,搜索引擎与未启用 JavaScript 的浏览器均可直接读取。

Claude Code(本地)

  1. 确保已安装 Claude Code CLI
  2. 复制下方命令,将 <占位符> 替换为真实环境变量值后,在终端执行
  3. 若下方列出了环境变量,请对照填写
claude mcp add mcp-retrieval -- docker run -i --rm ghcr.io/role1776/mcp-retrieval:0.1.9

Cursor — .cursor/mcp.json(本地)

  1. 打开项目根目录下的 .cursor/mcp.json(没有就新建)
  2. 点击「复制配置」粘贴进去;若已有其他 MCP,只合并 mcpServers 里的本条目
  3. 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
  4. 保存后按 Cmd+Shift+P(Windows:Ctrl+Shift+P)→ 输入 Reload Window 并执行
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

VS Code — .vscode/mcp.json(本地)

  1. 确保 VS Code 已安装 GitHub Copilot 扩展并支持 MCP
  2. 打开项目根目录下的 .vscode/mcp.json(没有就新建)
  3. 点击「复制配置」粘贴;若已有其他 MCP,只合并 mcpServers 里的本条目
  4. 将 env 中的 <占位符> 替换为真实密钥(见下方「环境变量」)
  5. 保存后重新加载 VS Code 窗口
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

Claude Desktop — claude_desktop_config.json(本地)

  1. 打开 Claude Desktop 的 claude_desktop_config.json(路径见远程指引)
  2. 点击「复制配置」合并到 mcpServers
  3. 将 env 中的 <占位符> 替换为真实密钥
  4. 完全退出并重启 Claude Desktop
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

Trae — .trae/mcp.json(本地)

  1. 打开 Trae → 设置 → MCP,或编辑 .trae/mcp.json / 全局 mcp.json
  2. 点击「复制配置」粘贴并合并 mcpServers
  3. 将 env 中的 <占位符> 替换为真实密钥
  4. 保存后重载 Trae 窗口
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

Cherry Studio — MCP 设置(本地)

  1. 打开 Cherry Studio → 设置 → MCP 服务器 → 添加(STDIO)
  2. 也可直接导入下方 JSON:点击「复制配置」合并到 mcpServers
  3. 将 env 中的 <占位符> 替换为真实密钥,并确保本机已安装 Node.js / uv(npx、uvx)
  4. 启用服务并查看工具列表是否加载成功
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

通义灵码 — MCP 配置(本地)

  1. 通义灵码:个人设置 → MCP 服务 → 「+」→ 手工添加(STDIO)或配置文件添加
  2. 点击「复制配置」合并 mcpServers;命令/参数/环境变量与 JSON 一致
  3. 将 env 中的 <占位符> 替换为真实密钥;本机需 Node.js 18+(npx)或已安装 uv(uvx)
  4. 确认服务状态为已连接后再在智能体对话中调用
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

Windsurf — mcp_config.json(本地)

  1. 编辑 ~/.codeium/windsurf/mcp_config.json
  2. 点击「复制配置」合并 mcpServers(本地 stdio 与 Cursor 格式相同)
  3. 将 env 中的 <占位符> 替换为真实密钥后保存并刷新 Cascade
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

Cline — MCP Servers(本地)

  1. Cline 面板 → 设置 → MCP Servers
  2. 点击「复制配置」粘贴并合并
  3. 将 env 中的 <占位符> 替换为真实密钥后保存
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

WorkBuddy — .workbuddy/mcp.json(本地)

  1. 编辑 ~/.workbuddy/mcp.json(用户级)或项目目录 .workbuddy/mcp.json
  2. 也可在界面:插件 → MCP 服务器 → 配置 MCP,粘贴下方 JSON
  3. 将 env 中的 <占位符> 替换为真实密钥;Windows 下 command/脚本路径建议用绝对路径
  4. 保存并重启 WorkBuddy,确认连接器状态为绿色
{
  "mcpServers": {
    "mcp-retrieval": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "ghcr.io/role1776/mcp-retrieval:0.1.9"
      ]
    }
  }
}

常见报错排查与运行避坑 (Troubleshooting)FAQ

针对 MCP Retrieval 在 Cursor、Claude Code 中的常见连接错误与解决办法

在 Cursor / Claude Code 中配置 MCP Retrieval 提示 connection closed 或 exit code 1?

通常由本地运行时环境缺失或命令路径未被 IDE 继承引起。排查步骤: 1. 确认已安装 Node.js 18+(支持 npx)或 Python 3.10+(支持 uvx); 2. 尝试在终端运行 which npx 或 which uvx,把配置文件中的 "command" 字段改为完整绝对路径; 3. 修改 mcp.json 后,必须完全重载或重启客户端窗口。

Fix Snippet
# 终端测试命令是否存在:
which npx
node -v
提示 spawn npx ENOENT 或 command not found?

这是因为编辑器后台进程未加载完整的终端环境变量(PATH)。解决方案:在全局安装该包(如 npm install -g 包名),或在配置文件中将 command 设置为系统的实际路径(如 Windows 下的 C:\Program Files\nodejs\npx.cmd,Mac 下的 /usr/local/bin/npx)。

提示 Missing required environment variable 或 API 认证失败?

MCP Retrieval 依赖环境变量(如 MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD、MCP_TRANSPORT、MCP_NAME、MCP_PATH、SERVER_PORT、SERVER_READ_TIMEOUT、SERVER_WRITE_TIMEOUT、LOG_MODE、MAX_IDLE_CONNS_PER_HOST、MAX_QUERIES、DEFAULT_RESULTS、MAX_RESULTS、DEFAULT_IMAGES、MAX_IMAGES、DEFAULT_TIMEOUT_MS、MIN_TIMEOUT_MS、MAX_TIMEOUT_MS、DEFAULT_DOCUMENT_CHARS、MAX_DOCUMENT_CHARS、PROXY_SCHEME、PROXY_HOST、PROXY_PORT、PROXY_LOGIN、PROXY_PASSWORD)。请在客户端配置文件的 "env" 对象中填入有效密钥,注意不要包含多余空格或未闭合的双引号。

Fix Snippet
// .cursor/mcp.json 或 claude_desktop_config.json
{
  "env": {
    "API_KEY": "your_actual_key_here"
  }
}

免安装模拟调用 (Playground)

仿真环境

MCP Retrieval 核心接口调用仿真 · 无需配置本地环境,直接预览调用参数与返回格式

沙盒就绪 (Virtual Mock)
fn: mcp_retrievalLocal Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.
请求入参 (Arguments)JSON Schema
{
  "target": "MCP Retrieval",
  "action": "execute",
  "options": {
    "mode": "standard",
    "timeoutMs": 5000
  }
}
💡Agent 在规划任务时会自动生成并传递上述入参
Agent Tool Output

点击上方「模拟运行」按钮

查看该工具在 Agent 内部的返回数据格式

测试环境:AgentHub Virtual SandboxJSON-RPC 2.0

选型与决策建议(为什么选它?)

帮助你快速判断该资源是否契合当前项目,避免盲目折腾

适合什么任务?
  • PR 自动审查
  • 生成 changelog
  • 跨仓库 Issue 检索
什么时候不建议用?
  • 替代人工安全审计
  • 在无授权仓库上操作
推荐工作流搭配:查看完整场景 →

MCP Retrieval + 对应场景 Prompt → 组成标准 Agent 自动化任务

MCP 实战教程:从安装到看见效果

按完整实例走一遍(含期望效果与对比验收)。装完本页资源后,用教程里的提示词核对是否真正生效。

打开教程 →

相关资源

常搭配使用

中文公文写作

v2.0.41

SkillClawHub10.2k

io.clawhub.gongyu0918-debug/chinese-official-writing

用于中文公文、事务性材料和新闻稿件的起草、改写、压缩、润色、审校、文种核对、去口语化、降 AI 味及 Word 格式处理,适用于机关、企事业单位、学校和新闻机构。涵盖申请、请示、报告、通知、通告、意见、决定、决议、议案、公报、命令、函、复函、批复、说明、方案、纪要、公告、公示、通报、制度、规定、办法、细则、操作规程、工作要点、总结、调研、讲话、致辞、主持词、述职、可研、审查材料、技术需求、新闻消息、编者按、新闻评论,以及采购、整改、反馈和 AI 算力等场景。

source

继续逛 AgentHub

大多数人安装前还会对比同类工具或看场景方案——下面这些能帮你少走弯路。

收录徽章:把 AgentHub 挂到你的官网

复制下面任意一段代码到项目主页、官网或 GitHub README。徽章是 SVG 热链,无需上传文件,链接指向本页,访客可由此直接找到安装方式。

预览AgentHub 已收录:MCP Retrieval
HTML
<a href="https://myagenthub.cn/p/io.github.Role1776/mcp-retrieval" title="AgentHub 已收录:MCP Retrieval" target="_blank" rel="noopener">
  <img src="https://myagenthub.cn/badge/io.github.Role1776/mcp-retrieval" alt="AgentHub 已收录:MCP Retrieval" height="20" style="border:0"/>
</a>
Markdown(GitHub README)
[![AgentHub 已收录:MCP Retrieval](https://myagenthub.cn/badge/io.github.Role1776/mcp-retrieval)](https://myagenthub.cn/p/io.github.Role1776/mcp-retrieval)

徽章由 /badge/<资源ID> 动态生成,名称与收录状态变化后自动更新;请保留链接指向,它是收录来源的判定依据。

统一 Manifest

{
  "id": "io.github.Role1776/mcp-retrieval",
  "type": "mcp-server",
  "version": "0.1.9",
  "displayName": "MCP Retrieval",
  "description": "Local Go MCP server: DuckDuckGo/Bing web + image search, readability scraping to Markdown.",
  "repository": {
    "url": "https://github.com/Role1776/mcp-retrieval",
    "source": "github"
  },
  "homepage": "https://github.com/Role1776/mcp-retrieval#readme",
  "distribution": {
    "packages": [
      {
        "registryType": "oci",
        "identifier": "ghcr.io/role1776/mcp-retrieval:0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_amd64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_darwin_arm64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_linux_amd64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_linux_arm64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_amd64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      },
      {
        "registryType": "mcpb",
        "identifier": "https://github.com/Role1776/mcp-retrieval/releases/download/v0.1.9/mcp-retrieval_0.1.9_windows_arm64.mcpb",
        "version": "0.1.9",
        "transport": "stdio",
        "environmentVariables": [
          {
            "name": "MCP_TRANSPORT",
            "description": "stdio (client spawns the process) or http (streamable HTTP listener)."
          },
          {
            "name": "MCP_NAME",
            "description": "Server name reported in the MCP initialize handshake."
          },
          {
            "name": "MCP_PATH",
            "description": "HTTP path the MCP endpoint is served on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_PORT",
            "description": "TCP port to listen on. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_READ_TIMEOUT",
            "description": "HTTP read timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "SERVER_WRITE_TIMEOUT",
            "description": "HTTP write timeout as a Go duration. Used only when MCP_TRANSPORT=http."
          },
          {
            "name": "LOG_MODE",
            "description": "local (text, debug) or prod (JSON, info). Logs go to stderr."
          },
          {
            "name": "MAX_IDLE_CONNS_PER_HOST",
            "description": "Idle connections the outbound HTTP client keeps per host."
          },
          {
            "name": "MAX_QUERIES",
            "description": "Maximum queries or URLs accepted in one call."
          },
          {
            "name": "DEFAULT_RESULTS",
            "description": "Snippets returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_RESULTS",
            "description": "Upper bound for snippets per query."
          },
          {
            "name": "DEFAULT_IMAGES",
            "description": "Images returned per query when the call does not ask for a count."
          },
          {
            "name": "MAX_IMAGES",
            "description": "Upper bound for images per query."
          },
          {
            "name": "DEFAULT_TIMEOUT_MS",
            "description": "Per-call timeout in milliseconds when the call does not request one."
          },
          {
            "name": "MIN_TIMEOUT_MS",
            "description": "Lowest timeout a call may request, in milliseconds."
          },
          {
            "name": "MAX_TIMEOUT_MS",
            "description": "Highest timeout a call may request, in milliseconds."
          },
          {
            "name": "DEFAULT_DOCUMENT_CHARS",
            "description": "Characters kept per scraped page when the call does not ask for a limit."
          },
          {
            "name": "MAX_DOCUMENT_CHARS",
            "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.",
            "isSecret": true
          },
          {
            "name": "PROXY_PASSWORD",
            "description": "Outbound proxy password. Required when PROXY_HOST is set.",
            "isSecret": true
          }
        ]
      }
    ],
    "remotes": []
  },
  "dependencies": [],
  "installTargets": [
    "claude-code",
    "claude-desktop",
    "cursor",
    "vscode",
    "trae",
    "cherry-studio",
    "lingma",
    "windsurf",
    "cline",
    "workbuddy"
  ],
  "keywords": [],
  "provenance": {
    "origin": "official-mcp-registry",
    "originalId": "io.github.Role1776/mcp-retrieval",
    "originalUrl": "https://registry.modelcontextprotocol.io/v0.1/servers/io.github.Role1776%2Fmcp-retrieval/versions/latest",
    "isOfficial": true,
    "status": "active"
  }
}