连接 Endor Labs 扫描 MCP
通过本地 endorctl stdio 服务扫描依赖和代码。企业命名空间与凭据通过 env_vars 提供,文档服务使用独立连接。
Endor Labs 给 Codex 的扫描 MCP 是本机 stdio,不是远程 HTTP。官方用户层表名是 endor-cli-tools。它通过 npx 或系统里的 endorctl 起进程,再去云端查依赖、漏洞、泄露密钥和 SAST。配置使用 command 和 args。
需要 Node.js 18 或以上,官方推荐 24 LTS。npx 跟 Node 一起装,不必再装一份 npm。低于 24 时,扫描前可能先打一行 CommonJS / ESM 的 ExperimentalWarning,那是 Node 自己的提示,不是 endorctl 挂了。
开发版免费,用 Endor 默认策略,不必先开账号。第一次用工具会弹出浏览器,走 GitHub、GitLab 或 Google 登录:
codex mcp add endor-cli-tools -- npx -y endorctl ai-tools mcp-server
codex mcp list
[mcp_servers.endor-cli-tools]
command = "npx"
args = ["-y", "endorctl", "ai-tools", "mcp-server"]
enabled = true
这是本地 stdio 服务,无需 OAuth 登录。Codex 写进 ~/.codex/config.toml,对你所有项目生效。冷 npx 握手慢,可加 startup_timeout_sec = 60。
企业版才读你们组织的策略。开发者至少要有 Read-Only。命名空间和登录方式从启动 Codex 的那个进程转发,不要写成 --env KEY=… 字面量,TOML 占位符也不会展开:
[mcp_servers.endor-cli-tools]
command = "npx"
args = ["-y", "endorctl", "ai-tools", "mcp-server"]
env_vars = ["ENDOR_NAMESPACE", "ENDOR_MCP_SERVER_AUTH_MODE", "ENDOR_MCP_SERVER_AUTH_TENANT"]
enabled = true
ENDOR_MCP_SERVER_AUTH_MODE 可以是 github / gitlab / google / sso。选 sso 才需要 ENDOR_MCP_SERVER_AUTH_TENANT。开发版不写这三项,默认浏览器登录。自定义密钥规则一类非密钥路径,才写进 [mcp_servers.endor-cli-tools.env],例如 SECRETS_RULES_PATH。
连上后让它查 npm 包 lodash 的 4.17.20 有没有漏洞。官方会走 check_dependency_for_vulnerabilities。还可以查依赖风险和恶意包、拉漏洞详情、跑 scan(依赖 / SAST / Git 历史里的密钥)。security_review 看未提交 diff 或相对主分支的提交,只要企业版,还要在控制台打开 AI security code review,并配好 ENDOR_NAMESPACE。MCP 返回全量发现,不做函数级可达性,也不按 action policy 过滤。
只要部分工具时,在同一张表写 enabled_tools,官方示例是 check_dependency_for_vulnerabilities 和 scan。TUI 里用 /mcp 看已启用的服务器。仓库根的 AGENTS.md 可以写「改 lockfile 先查依赖」,官方示例还要求走这台 MCP、不要直接调 endorctl;按你们流程改,不要整段粘贴。
默认 npx -y endorctl 把最新包丢进 ~/.npm/_npx/,不会用你 Homebrew 装的那份。版本旧了就清 npx 缓存,或把 args 里的包名钉成 endorctl@版本。公司代理让 npx 超时,改成系统二进制:
codex mcp add endor-cli-tools -- endorctl ai-tools mcp-server
command 写成 which endorctl 给出的绝对路径;fnm / nvm 尤其不要写裸命令名。Windows 还要把 npm 全局 bin 加进 PATH,用 npm config get prefix 核对。
相关服务与配置:
- 文档 MCP 是另一张 HTTP 表
endor-docs,地址https://docs.endorlabs.com/mcp,没有鉴权。Codex 会误探 OAuth 然后失败。官方权宜是占位 bearer:先export ENDOR_DOCS_KEY=dummy,再codex mcp add endor-docs --url https://docs.endorlabs.com/mcp --bearer-token-env-var ENDOR_DOCS_KEY。变量必须在启动 Codex 的进程里。不要和endor-cli-tools写成同一张表。 - Agent Kit 是工作流插件,不是这台扫描 MCP。官方 Codex 页是
codex plugin marketplace add endorlabs/ai-plugins --sparse .agents/plugins --sparse plugins/codex/endor-labs-agent-kit,装完新开会话。文档没写plugin add。清单 name 和插件 name 都是endor-labs-agent-kit。 - Coding Agent Governance 钩子是
endorctl ai-audit codex,写在[hooks]或hooks.json,用来拦命令 / 文件 / MCP。API 密钥通过凭据配置提供。不要同时 exportENDOR_TOKEN。那不是mcp add。
网页 Cloud 读不到这台本机 CLI。配置后重新打开会话。用 codex mcp get endor-cli-tools 看传输是 stdio,command 是 npx 还是绝对路径。