:AngusRepo MCP 怎么接入)
Coding Agent 要在對(duì)話里問「這個(gè)坐標(biāo)在哪個(gè)倉(cāng)、依賴和漏洞計(jì)數(shù)是什么」并不需要把mvn/npm/docker搬進(jìn)模型上下文。AngusRepo 把這條能力做成進(jìn)程內(nèi)的MCP 只讀端點(diǎn)宿主連上之后調(diào)用具名工具服務(wù)端回環(huán)本進(jìn)程管理 API返回元數(shù)據(jù)投影。結(jié)論Repo MCP全部只讀——默認(rèn)暴露 8 個(gè)以repo_開頭的工具不代理/maven、/npm、/v2等協(xié)議路徑不下載二進(jìn)制、不簽發(fā)令牌、不執(zhí)行清理。社區(qū)版不含 MCP團(tuán)隊(duì)版 / 企業(yè)版 / 云服務(wù)版按文檔接入。身份必須是門戶簽發(fā)的用戶訪問令牌PATDeploy Tokenrepod_會(huì)被 401??刂婆_(tái)與客戶端怎么接 MCP見文末參考「通過 MCP 連接 AngusRepo」。本文說明只讀八工具怎么劃分、鑒權(quán)為何區(qū)分 PAT 與 Deploy Token以及限流與版本邊界。緩存一致性見文末參考「緩存架構(gòu)設(shè)計(jì)與實(shí)踐」。1. Agent 常問的五類只讀問題對(duì)話里反復(fù)出現(xiàn)的大致是這五類定位已入庫(kù)制品并說明是否隔離、是否掃過。查看依賴、聲明許可與漏洞計(jì)數(shù)。按倉(cāng)庫(kù)格式給出客戶端配置示例口令占位符。預(yù)覽已有清理策略會(huì)影響什么不執(zhí)行。讀取倉(cāng)庫(kù)或租戶已有的安全評(píng)分快照。明確不做上傳、刪除、發(fā)布、下載、觸發(fā)掃描、簽發(fā)令牌。協(xié)議拉包繼續(xù)走 PAT 或 Deploy Token不進(jìn) MCP。2. 形態(tài)進(jìn)程內(nèi)端點(diǎn) 回環(huán)IDE / Agent --POST {網(wǎng)關(guān)}/repo/mcp-- Boot /mcp --回環(huán) Bearer-- /api/v1/**白名單 GET選擇進(jìn)程內(nèi)端點(diǎn)是因?yàn)闄?quán)限和審計(jì)已經(jīng)在 REST 上再做一個(gè)外部 Node 去包 REST會(huì)把策略復(fù)制一份?;丨h(huán)沒有通用 path 參數(shù)協(xié)議路徑和下載接口不會(huì)被模型拼出來。項(xiàng)口徑傳輸無狀態(tài)POST默認(rèn)路徑/mcp經(jīng)網(wǎng)關(guān)為{host}/repo/mcp回環(huán)基址本機(jī) Repo 端口Bearer 原樣轉(zhuǎn)發(fā)帶X-Angus-Client-Source: mcp注冊(cè)面只注冊(cè)tools不注冊(cè) MCP resources / prompts / samplingGM不新增 GM 資源工具顯隱跟現(xiàn)有PPS權(quán)限碼走實(shí)例開關(guān)發(fā)行配置口徑與用戶文檔一致配置作用angus.mcp.enabled環(huán)境變量ANGUS_MCP_ENABLED未設(shè)置時(shí)為truefalse時(shí)不注冊(cè)端點(diǎn)制品托管不受影響angus.mcp.write-enabled產(chǎn)品側(cè)固定false無寫工具限流每個(gè)賬號(hào)每分鐘最多30次合法tools/call非法參數(shù)在計(jì)入限流前返回。社區(qū)版不種子「系統(tǒng) → MCP」Tab并強(qiáng)制關(guān)閉/mcp。3. 八個(gè)工具名稱以文檔為準(zhǔn)系統(tǒng)管理員或持有全部只讀權(quán)限時(shí)tools/list應(yīng)看到恰好 8 個(gè)工具權(quán)限要點(diǎn)做什么repo_find_artifactArtifacts:VIEW按名稱片段等檢索至少一項(xiàng)過濾條件pageSize夾到 1–20repo_locate_versionArtifacts:VIEW精確定位主文件多條時(shí)ambiguous 候選不猜一條repo_inspect_dependencies制品字段Artifacts:VIEW許可證發(fā)現(xiàn)另需SecurityScans:VIEW依賴、聲明許可、漏洞計(jì)數(shù)不觸發(fā)掃描repo_list_repositoriesRepositories:VIEW可見倉(cāng)庫(kù)列表不含 settingsrepo_client_setupRepositories:VIEW與控制臺(tái)同源模板口令為占位符repo_artifact_security掃描歷史等另需SecurityScans:VIEW隔離、已有漏洞計(jì)數(shù)與掃描歷史不觸發(fā)掃描repo_repository_scoreSecurityScans:VIEW倉(cāng)庫(kù)/租戶評(píng)分快照不是單個(gè)包的分?jǐn)?shù)repo_cleanup_previewCleanupPolicies:VIEW只走 GET preview不創(chuàng)建執(zhí)行記錄結(jié)果投影刻意丟掉downloadUrl、校驗(yàn)和、README 與許可證全文降低模型側(cè)誤用與泄密面。明確不在列表中repo_search、repo_compare_versions后續(xù)項(xiàng)、默認(rèn)不注冊(cè)、repo_invoke_read、repo_connection_check以及任何 publish / delete / execute cleanup / mint token。secure為空或scanTrustUNKNOWN表示尚未掃描不等于安全。門禁默認(rèn)關(guān)Repo 執(zhí)法、Security 引擎分工與產(chǎn)品文檔 FAQ 一致。4. 鑒權(quán)邊界容易踩坑憑證結(jié)果門戶簽發(fā)的用戶訪問令牌PAT可進(jìn) MCP工具集隨角色收窄repod_Deploy Token401無工具列表OAuth 刷新令牌 / 其他產(chǎn)品令牌401無 Bearer401避免收成工具內(nèi)錯(cuò)誤導(dǎo)致模型盲重試可見范圍等于該用戶在/api/v1的范圍與控制臺(tái)一致MCP不單獨(dú)再解釋協(xié)議路徑上的repo:read/repo:write。PAT 上的repo:write只表示協(xié)議可寫不表示 MCP 可寫。個(gè)人令牌右上角頭像 →我的/profile簽發(fā)。CI 用服務(wù)賬號(hào)不要把個(gè)人登錄態(tài)寫進(jìn)倉(cāng)庫(kù)。5. 宿主接入與手冊(cè)對(duì)齊的最小片段令牌放環(huán)境變量勿寫入倉(cāng)庫(kù){mcpServers:{angus-repo:{url:https://gateway-host/repo/mcp,headers:{Authorization:Bearer ${ANGUS_REPO_TOKEN}}}}}宿主配置文件以各宿主文檔為準(zhǔn)Cursor項(xiàng)目.cursor/mcp.json或用戶級(jí)~/.cursor/mcp.jsonClaudeclaude_desktop_config.jsonVS Code工作區(qū).vscode/mcp.json僅 stdio 的宿主可用anguskit/mcp --product repo轉(zhuǎn)發(fā)該進(jìn)程讀ANGUS_TOKEN/ANGUS_BASE_URL與上面的ANGUS_REPO_TOKEN不是同一變量名。若默認(rèn) npm 源沒有該包文檔建議改用https://repo.anguskit.com/npm/npm-public/。完整宿主表見文末參考MCP 文檔。5.1 一次真實(shí)對(duì)話用戶問 → 工具 → 期望形態(tài)步驟內(nèi)容用戶問log4j-api 2.24.1 在哪個(gè)倉(cāng)隔離了嗎應(yīng)調(diào)用先repo_locate_version坐標(biāo)/名稱 版本精確定位若需漏洞計(jì)數(shù)與隔離字段再repo_artifact_security或定位結(jié)果里已有的安全投影字段以實(shí)際返回為準(zhǔn)期望字段 / 形態(tài)制品id為十進(jìn)制字符串倉(cāng)庫(kù)名、格式、版本可核對(duì)多條主文件時(shí)返回ambiguous并列出候選不由模型任選一條不應(yīng)出現(xiàn)downloadUrl、完整校驗(yàn)和、許可證全文也不應(yīng)觸發(fā)新掃描連上后也可先讓助手tools/list確認(rèn)恰好八個(gè)repo_*再指定一條真實(shí) Maven 坐標(biāo)調(diào)用repo_locate_version做冒煙。6. 與業(yè)界形態(tài)的對(duì)照極短形態(tài)代表與 AngusRepo一句話托管情報(bào) MCPSonatype Guide查公開組件情報(bào)不讀客戶倉(cāng)平臺(tái)寬工具面JFrog Platform MCP含寫操作面AngusRepo 選窄只讀進(jìn)程內(nèi)窄工具AngusRepo回環(huán)本進(jìn)程 REST協(xié)議路徑隔離對(duì)照說明產(chǎn)品取舍不是采購(gòu)排名。細(xì)節(jié)以各廠商當(dāng)日文檔為準(zhǔn)。7. 邊界與翻車表現(xiàn)象原因處理連不上社區(qū)版 /enabledfalse/ URL 錯(cuò)換版本或開開關(guān)核對(duì)/repo/mcp401用了repod_或刷新令牌改用「我的」里簽發(fā)的 PAT工具很少角色缺權(quán)限碼按文檔補(bǔ)Artifacts:VIEW等想讓 Agent 拉 jar誤以為 MCP 代理協(xié)議用 mvn/npm/docker 走協(xié)議路徑把倉(cāng)庫(kù)分當(dāng)成包分誤讀repo_repository_score制品看漏洞計(jì)數(shù)與隔離字段ambiguous同坐標(biāo)多條主文件列出候選讓人挑不任選rate_limited超過 30 次/分鐘稍后再試合并提問FAQMCP 會(huì)不會(huì)刪包或執(zhí)行清理不會(huì)。寫開關(guān)恒關(guān)清理只有 preview。和 Skill 什么關(guān)系Skill 描述該問哪些制品風(fēng)險(xiǎn)MCP 提供可調(diào)用的查詢工具。兩者可同時(shí)用產(chǎn)品文檔口徑。為什么不做通用只讀網(wǎng)關(guān)具名工具限制回環(huán)白名單避免把管理 API 整面暴露給模型并便于投影脫敏。Deploy Token 為什么不能連 MCPrepod_是單倉(cāng) CI 憑據(jù)。若能調(diào)管理面 MCP會(huì)把自動(dòng)化令牌變成對(duì)話身份——鑒權(quán)前直接 401。小結(jié)核心取舍只讀、八工具、回環(huán) REST、協(xié)議路徑隔離。接入核心網(wǎng)關(guān)/repo/mcp PATDeploy Token 不行。社區(qū)版沒有這條能力需要時(shí)對(duì)照?qǐng)F(tuán)隊(duì)/企業(yè)/云服務(wù)版文檔與控制臺(tái)開關(guān)。參考文章通過 MCP 連接 AngusRepohttps://www.anguskit.com/zh/docs/repo/get-started/mcpAngusRepo 產(chǎn)品介紹https://www.anguskit.com/zh/docs/repo/get-started/introductionAngusRepo 緩存架構(gòu)設(shè)計(jì)與實(shí)踐https://www.anguskit.com/zh/blog/angusrepo-cache-architecture制品入庫(kù)怎么攔住漏洞和許可證問題https://www.anguskit.com/zh/blog/artifact-repo-vulnerability-license-scanningDeploy Token 與 ACLhttps://www.anguskit.com/zh/blog/angusrepo-deploy-token-pat-acl-guide