文章目录
- 前言
- 一、先说说这破需求是怎么来的
- 二、现状:轮子造得比汽车还多
- 三、目标:内网系统一根毛都不动
- 四、方案:internal-mcp
- 1. 凭据与授权管理
- 2. 写操作要过审批
- 3. MCP 市场
- 4. Agent Skills
- 5. 架构拆开看
- 五、落地:装起来也就三步
- 1. 安装(技能方式)
- 2. 初始化(一次性)
- 六、控制台里有什么
- 1. 内网系统 & 授权管理
- 2. Tools 授权 & 审核管理
- 3. 审批
- 4. 关于
- 七、最后说两句
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看, 传送门https://blog.csdn.net/HHX_01
前言
好长时间没写东西了。倒不是懒,是每次打开编辑器,都被自己上一篇文章的开头劝退:太长、太正经、太像开会。
今天不装了,聊点实在的:隔离内网下,怎么让 AI Agent 真的干活。
一、先说说这破需求是怎么来的
公司在开发流程里集成 AI 工程化之后,各端开发的同学都开始指挥 coding agent 调内网系统。需求评审,让 Agent 去 TAPD 扒需求;方案设计,让 AI 写完直接同步到 wiki;开发阶段,构造 API 文档到 apidoc、自动提 GitLab MR、自动触发测试环境发布;测试阶段,取测试用例让 AI 自测,取 bug 信息修 bug。
听起来很美好对吧?但你要知道,以前是人肉登录内网系统,现在是 AI 替你人肉登录内网系统。区别在于:以前加班是你在熬,现在加班是 AI 在熬,你在旁边看着它熬——熬完了你还得审核它熬得对不对。
就这么个流程,服务端、客户端、前端,各端全凭本事实现内网系统调用。同一套内网系统,前端写个登录脚本,后端写个登录脚本,客户端再写一个。三套脚本摆一起跟三胞胎似的,互相还都不认。
二、现状:轮子造得比汽车还多
多数方案的套路是:写 skills script 实现内网系统登录授权,再带授权信息去调 API。结果就是复用性差、使用门槛高、安全性差。
什么概念?相当于每个团队都自己焊了一把钥匙,钥匙互相还不通用,新同事来了得先学三套开锁姿势。
至于让内网系统(自建、开源搭建、商用搭建)短时间内都支持 MCP Tools?我掐指一算,比让全公司系统统一用一个密码还不现实——不对,这比那还不现实,起码统一密码这事,行政还是能做到的。
三、目标:内网系统一根毛都不动
目标很朴素:不改内网系统,把内网系统相关能力封装成 MCP Tools,提供基础通用能力。支持 tools 授权管理、个人账号登录授权管理、危险操作审批机制、Tool 调用审查日志、配套 Skills。
核心原则一句话:AI 用个人账号权限去调,跟人手动操作效果一致,不存在越权。
你想想,AI 再强它也只是"你",不是"管理员"。权限这东西,AI 想越也越不过去——除非你自己把管理员密码告诉它,那就属于主动送人头,神仙也拦不住。
四、方案:internal-mcp
项目叫 internal-mcp,翻译过来就是"让 AI Agent 直接用内网系统"。内网接口统一封装成 MCP tools,AI 对话就能调;写操作走人工审批。
不开源,因为接的全是公司内网系统。这玩意儿开源,等于把公司心脏的钥匙挂门口,网友还没动手,法务先把我办了。不过思路是通用的,拿走随便用。
目前接进来的系统有:Apidoc 接口文档、TAPD、Confluence Wiki、ELK 日志中心、GitLab、内网发布系统 Sparrow、ATC 测试用例管理。基本覆盖了从需求到发布的整条链路。
1. 凭据与授权管理
管理台录入账号密码 → 测试登录 → 逐个接口开授权开关。凭据加密存储,明文不回显。
以前是"密码贴显示器上",现在是"密码加密存起来,显示器干干净净"。区别在于:以前贼来了能偷走,现在贼来了只能干瞪眼,最多骂一句"这公司连密码都舍不得抄一份"。
登录方式不统一(SSO、令牌、Cookie)?统一适配,AI 只面对 MCP tools,不感知登录细节。会话过期、凭据散落?加密托管,过期自动重登,调用方无感知。
2. 写操作要过审批
Agent 发起的写操作只生成待执行单,人工在管理台确认后才真正执行;每次调用都留痕可查。
AI 想改数据?先打申请单。AI 提交了个"删库",管理员看了一眼,反手一个拒绝,批注:“建议先把念头删了。”
3. MCP 市场
把外部 stdio MCP server 接进来,跟内置工具一起提供给 AI。GitLab 用 glab mcp serve,Confluence 用 uvx mcp-atlassian,装完统一在 internal-mcp 里管控。
这玩意儿就像手机应用商店:以前是"系统装什么我用什么",现在是"想用什么自己装",只不过装之前得过一遍安全检查。毕竟应用商店里也可能混进来一个"手电筒,其实是照你钱包的"。
4. Agent Skills
把成套的标准流程沉淀成技能包(测试环境发布、服务安装管理),一条命令装进 AI 客户端,对话里用自然语言触发。
通俗点说:MCP 是给你一把螺丝刀,Skills 是直接给你一本《拧螺丝手册》——不对,是帮你把螺丝全拧完,还顺手把工具放回工具箱。
5. 架构拆开看
AI Agent 是调用方;管理台 Vue SPA 管配置、授权、审批、查日志;mcpserver 是 MCP 端点(stdio + HTTP),按授权动态生成 tools 并路由调用;治理域(apireg + draft + execlog)是所有 tool 的唯一通路,授权开关 → 写操作落审批 → 执行记日志;adapter 是核心抽象 SystemAdapter,把各系统登录、校验、调用差异封装进各自实现;authcache + credstore 管授权缓存与自动重登闭环,凭据用 AES-256-GCM 加密存储;store 用 SQLite 单文件库,所有配置、密文、审批、日志的唯一持久化。
一句话总结这套设计:AI 想干活,得过三关——授权关、审批关、日志关。过完三关,它干的活全公司都看得见。
五、落地:装起来也就三步
1. 安装(技能方式)
目标项目根目录执行:
npx skills add git@gitlab.xxxx.com:sflyq/internal-mcp.git装好后在 AI 客户端对话里输入 /my-internal-mcp install,由技能自动完成:下载最新版本 → 注册常驻服务 → 自动配置本机 MCP 客户端。
子命令基本把服务的一生安排明白了:install 全新安装;update 查最新 GitLab Release,有新版本就下载替换并重启;restart 重启;stop 停止(常驻注册保留);status 看状态和版本对比;logs 看最近 50 行日志;uninstall 停止并移除常驻服务(数据保留在 ~/.internal-mcp);publish 是维护者专属发版。
更新也就一行命令:
~/.internal-mcp/bin/internal-mcp-tool update看着版本号从 v0.1.17 蹦到 v0.1.18,就像看自家孩子又长高了一厘米,莫名有点欣慰。
2. 初始化(一次性)
打开管理台 http://127.0.0.1:6688:
① 系统总览 › 凭据管理:录入内网系统账号密码,点「测试登录」确认成功。
② 系统总览 › API 授权:按需打开接口开关,对应接口立刻作为 MCP tool 提供给 AI。
服务地址记好:管理台 127.0.0.1:6688,MCP 端点 127.0.0.1:6677/mcp。
六、控制台里有什么
1. 内网系统 & 授权管理
支持开关系统、tools 授权管理、登录凭据管理。为啥要做系统开关和 tools 开关?因为 MCP tools 太多会对模型上下文污染、干扰判断。
你想象一下,把 200 个工具一股脑全塞给 AI,它光翻工具目录就能翻出选择困难症,最后调了个最像的,还不一定是对的。
2. Tools 授权 & 审核管理
支持搜索、批量管理、推荐授权场景组。比如"文章管理"组,点一下,Confluence 相关工具全给你配好,省得一个个拨开关。
3. 审批
支持通过、拒绝、查看历史、可视化对比。比如 apidoc 接口文档改没改,左右对比一眼看出;wiki 内容变没变,diff 看得明明白白。
以前审接口文档靠肉眼比对,看完眼睛都快瞎了;现在可视化对比,谁改了什么一目了然,比查老公手机还直观。
4. 关于
版本更新说明、更新红点提醒。版本迭代勤快着呢:v0.1.14 修了 wiki 宏标签自闭合问题,v0.1.18 支持了 atc mcp tools。更新日志写得明明白白,比某些产品的"修复了若干已知问题"强多了。
七、最后说两句
这套东西解决的核心问题,说白了就三个字:放心用。
让 AI 干活不可怕,可怕的是不知道它干了啥、有没有权限、改没改错。授权管起来、写操作审起来、调用留痕查起来,AI 就成了最勤奋的员工——不过跟真员工一样,还是得盯。
反正我的体会是:AI 时代,人还没退化之前,先把规矩立好。规矩立好了,AI 才是你的员工;规矩没有,AI 就是你的"同事"——还是那种随时准备背刺你的同事。
P.S. 无意间发现了一个巨牛的人工智能教程,非常通俗易懂,对AI感兴趣的朋友强烈推荐去看看,传送门https://blog.csdn.net/HHX_01