用 AI 助手只读查制品库:AngusRepo MCP 怎么接入

简介: Coding Agent 要在对话里问「这个坐标在哪个仓、依赖和漏洞计数是什么」,并不需要把 mvn npm docker 搬进模型上下文。AngusRepo 把这条能力做成进程内的 MCP 只读端点:宿主连上之后调用具名工具,服务端回环本进程管理 API,返回元数据投影。

Coding Agent 要在对话里问「这个坐标在哪个仓、依赖和漏洞计数是什么」,并不需要把 mvn / npm / docker 搬进模型上下文。AngusRepo 把这条能力做成进程内的 MCP 只读端点:宿主连上之后调用具名工具,服务端回环本进程管理 API,返回元数据投影。

结论: Repo MCP 全部只读——默认暴露 8 个以 repo_ 开头的工具;不代理 /maven、/npm、/v2 等协议路径;不下载二进制、不签发令牌、不执行清理。社区版不含 MCP;团队版 / 企业版 / 云服务版按文档接入。身份必须是门户签发的用户访问令牌(PAT),Deploy Token(repod_)会被 401。

控制台与客户端怎么接 MCP,见文末参考「通过 MCP 连接 AngusRepo」。本文说明只读八工具怎么划分、鉴权为何区分 PAT 与 Deploy Token,以及限流与版本边界。缓存一致性见文末参考「缓存架构设计与实践」。

1. Agent 常问的五类只读问题

对话里反复出现的,大致是这五类:

  1. 定位已入库制品,并说明是否隔离、是否扫过。
  2. 查看依赖、声明许可与漏洞计数。
  3. 按仓库格式给出客户端配置示例(口令占位符)。
  4. 预览已有清理策略会影响什么(不执行)。
  5. 读取仓库或租户已有的安全评分快照。

明确不做:上传、删除、发布、下载、触发扫描、签发令牌。协议拉包继续走 PAT 或 Deploy Token,不进 MCP。

2. 形态:进程内端点 + 回环

IDE / Agent
  --POST {网关}/repo/mcp-->  Boot /mcp
  --回环 Bearer-->  /api/v1/**(白名单 GET)

选择进程内端点,是因为权限和审计已经在 REST 上;再做一个外部 Node 去包 REST,会把策略复制一份。回环没有通用 path 参数,协议路径和下载接口不会被模型拼出来。

项 口径
传输 无状态 POST;默认路径 /mcp;经网关为 {host}/repo/mcp
回环 基址本机 Repo 端口;Bearer 原样转发;带 X-Angus-Client-Source: mcp
注册面 只注册 tools;不注册 MCP resources / prompts / sampling
GM 不新增 GM 资源;工具显隐跟现有 @PPS 权限码走

实例开关(发行配置口径,与用户文档一致):

配置 作用
angus.mcp.enabled(环境变量 ANGUS_MCP_ENABLED,未设置时为 true) false 时不注册端点;制品托管不受影响
angus.mcp.write-enabled 产品侧固定 false,无写工具

限流:每个账号每分钟最多 30 次合法 tools/call;非法参数在计入限流前返回。社区版不种子「系统 → MCP」Tab,并强制关闭 /mcp。

3. 八个工具(名称以文档为准)

系统管理员或持有全部只读权限时,tools/list 应看到恰好 8 个:

工具 权限要点 做什么
repo_find_artifact Artifacts:VIEW 按名称片段等检索;至少一项过滤条件;pageSize 夹到 1–20
repo_locate_version Artifacts:VIEW 精确定位主文件;多条时 ambiguous + 候选,不猜一条
repo_inspect_dependencies 制品字段 Artifacts:VIEW;许可证发现另需 SecurityScans:VIEW 依赖、声明许可、漏洞计数;不触发扫描
repo_list_repositories Repositories:VIEW 可见仓库列表,不含 settings
repo_client_setup Repositories:VIEW 与控制台同源模板;口令为占位符
repo_artifact_security 扫描历史等另需 SecurityScans:VIEW 隔离、已有漏洞计数与扫描历史;不触发扫描
repo_repository_score SecurityScans:VIEW 仓库/租户评分快照,不是单个包的分数
repo_cleanup_preview CleanupPolicies:VIEW 只走 GET preview,不创建执行记录

结果投影刻意丢掉 downloadUrl、校验和、README 与许可证全文,降低模型侧误用与泄密面。

明确不在列表中: repo_search、repo_compare_versions(后续项、默认不注册)、repo_invoke_read、repo_connection_check,以及任何 publish / delete / execute cleanup / mint token。

secure 为空或 scanTrust=UNKNOWN 表示尚未扫描,不等于安全。门禁默认关;Repo 执法、Security 引擎分工与产品文档 FAQ 一致。

4. 鉴权边界(容易踩坑)

凭证 结果
门户签发的用户访问令牌(PAT) 可进 MCP;工具集随角色收窄
repod_ Deploy Token 401,无工具列表
OAuth 刷新令牌 / 其他产品令牌 401
无 Bearer 401(避免收成工具内错误导致模型盲重试)

可见范围等于该用户在 /api/v1 的范围,与控制台一致;MCP 不单独再解释协议路径上的 repo:read / repo:write。PAT 上的 repo:write 只表示协议可写,不表示 MCP 可写。

个人令牌:右上角头像 → 我的(/profile)签发。CI 用服务账号,不要把个人登录态写进仓库。

5. 宿主接入(与手册对齐的最小片段)

令牌放环境变量,勿写入仓库:

{
   
  "mcpServers": {
   
    "angus-repo": {
   
      "url": "https://<gateway-host>/repo/mcp",
      "headers": {
    "Authorization": "Bearer ${ANGUS_REPO_TOKEN}" }
    }
  }
}
宿主 配置文件(以各宿主文档为准)
Cursor 项目 .cursor/mcp.json 或用户级 ~/.cursor/mcp.json
Claude claude_desktop_config.json
VS Code 工作区 .vscode/mcp.json

仅 stdio 的宿主可用 @anguskit/mcp --product repo 转发;该进程读 ANGUS_TOKEN / ANGUS_BASE_URL,与上面的 ANGUS_REPO_TOKEN 不是同一变量名。若默认 npm 源没有该包,文档建议改用 https://repo.anguskit.com/npm/npm-public/。完整宿主表见文末参考:MCP 文档。

5.1 一次真实对话:用户问 → 工具 → 期望形态

步骤 内容
用户问 log4j-api 2.24.1 在哪个仓?隔离了吗?
应调用 先 repo_locate_version(坐标/名称 + 版本精确定位);若需漏洞计数与隔离字段,再 repo_artifact_security(或定位结果里已有的安全投影字段,以实际返回为准)
期望字段 / 形态 制品 id 为十进制字符串;仓库名、格式、版本可核对;多条主文件时返回 ambiguous 并列出候选,不由模型任选一条
不应出现 downloadUrl、完整校验和、许可证全文;也不应触发新扫描

连上后也可先让助手 tools/list 确认恰好八个 repo_*,再指定一条真实 Maven 坐标调用 repo_locate_version 做冒烟。

6. 与业界形态的对照(极短)

形态 代表 与 AngusRepo(一句话)
托管情报 MCP Sonatype Guide 查公开组件情报,不读客户仓
平台宽工具面 JFrog Platform MCP 含写操作面;AngusRepo 选窄只读
进程内窄工具 AngusRepo 回环本进程 REST,协议路径隔离

对照说明产品取舍,不是采购排名。细节以各厂商当日文档为准。

7. 边界与翻车表

现象 原因 处理
连不上 社区版 / enabled=false / URL 错 换版本或开开关;核对 /repo/mcp
401 用了 repod_ 或刷新令牌 改用「我的」里签发的 PAT
工具很少 角色缺权限码 按文档补 Artifacts:VIEW 等
想让 Agent 拉 jar 误以为 MCP 代理协议 用 mvn/npm/docker 走协议路径
把仓库分当成包分 误读 repo_repository_score 制品看漏洞计数与隔离字段
ambiguous 同坐标多条主文件 列出候选让人挑,不任选
rate_limited 超过 30 次/分钟 稍后再试;合并提问

FAQ

MCP 会不会删包或执行清理?

不会。写开关恒关;清理只有 preview。

和 Skill 什么关系?

Skill 描述该问哪些制品风险;MCP 提供可调用的查询工具。两者可同时用(产品文档口径)。

为什么不做通用只读网关?

具名工具限制回环白名单,避免把管理 API 整面暴露给模型,并便于投影脱敏。

Deploy Token 为什么不能连 MCP?

repod_ 是单仓 CI 凭据。若能调管理面 MCP,会把自动化令牌变成对话身份——鉴权前直接 401。

小结

  • 核心取舍:只读、八工具、回环 REST、协议路径隔离。
  • 接入核心:网关 /repo/mcp + PAT;Deploy Token 不行。
  • 社区版没有这条能力;需要时对照团队/企业/云服务版文档与控制台开关。

参考文章

相关文章
|
5天前
|
云安全 人工智能 运维
当攻击全面Agent化,你的安全防御能否跟上AI Speed?
多起客户侧AK泄露事件应急的真实观察
1241 4
|
28天前
|
人工智能 JSON API
全网刷屏的 Jev 模型正式开放!一手实战测评 + 保姆级教程
全网爆火的 Jev 模型是什么?有什么用?怎么使用?怎么接入 AI 编程工具?效果真的好么?傻子可懂的 Jev 保姆级实战教程 + 项目实战测评来啦
9782 32
|
8天前
|
存储 人工智能 安全
千问办公官网入口网页版登录:qwenwork.cn 注册送2000积分、登录送100积分
阿里云千问办公(QwenWork)是AI智能工作平台,支持一句话生成PPT、表格、网页、视频及数据分析。个人免费版送2000积分+每日登录赠100分,含1GB存储、5个发布页;企业版198元/席/月起。阿里千问办公QwenWork官网:https://t.aliyun.com/U/0VCTGt 阿里AI工作平台,一句话完成数据分析、PPT 生成、视频剪辑、网页搭建等复杂任务
|
3天前
|
人工智能 API 开发工具
DeepSeek Harness 神插件:白嫖 13 家大厂模型
`dsh-our-free-model` 是 DeepSeek Harness 神级插件:零配置、零API Key、零账号,聚合13家大厂免费模型(含DeepSeek V4.1 Flash、Kimi K3等),支持本地网关、用量看板与自动降级,真正实现“白嫖即用”。
|
14天前
|
存储 人工智能 并行计算
大模型本地部署终端选型方法论:以 Qwen3.8-27B 为例的四档分层完整流程
本文提出一套大模型本地部署终端选型方法论:定约束、定档位、定框架、定参数四步决策法,配合入门、主力、质量、无损四档分层模型。以 Qwen3.8-27B 实测数据为例,逐环节解读显存、带宽、存储、散热、系统、预算等要素,给出面向不同预算的优选方案、决策自查清单与市场观察框架。文末前瞻 AI 笔记本的 CPU+GPU 与统一内存两条路线,论证四步决策法在新品类上的延续性。
|
5天前
|
Web App开发 人工智能 JavaScript
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
REA(Reverse Engineer Anything)是近期爆火的开源AI逆向工具,4月发布,1个月内斩获15万+ Star。它让AI Agent无需源码即可分析二进制、APK、JS/Electron、HAR包等17类目标,自动反编译、生成可运行代码,并强制返回带证据与局限的结论。全本地执行,MIT协议,支持Hopper/Ghidra/IDA等引擎,一行命令即可上手。
621 1
太猛了,一个月干到15W+,给大家推荐一个最近爆火的开源逆向工具:REA
|
12天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型深度拆解:原理解读、实战测评与保姆级落地教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为**System One Model(系统一模型)**,对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
927 1
|
9天前
|
人工智能 JSON 自然语言处理
2026 年 Jev 决策模型全解析:核心原理拆解,性能实战测评与落地部署教程
有一款特殊AI模型在开发者圈子刷屏,它摒弃传统大模型擅长的对话聊天能力,专注做高速结构化决策,它就是TypeSafe AI推出的Jev模型。该模型由ChatGPT共同发明人Diogo Almeida主导研发,定位为System One Model(系统一模型),对标人类大脑快速直觉判断的思维模式,在响应延迟、调用成本、结构化输出稳定性上相比传统生成式大模型有着巨大差异。本文会完整拆解Jev底层原理、三大核心原语能力、适用业务场景,同时提供可直接运行的curl、Python代码示例,并且结合多组实测数据,客观分析模型优势与能力边界,帮助普通开发者和AI应用从业者快速上手落地。
592 0