速记engineeringmcpagents
MCP:给 Agent 用的工具协议(白话)
Model Context Protocol 让模型按约定调用外部工具;和浏览器本地小工具如何分工。
背景
大模型本身只能根据上下文生成文本。要让它「真正办事」——读文件、查库、调 API——需要一层 工具调用约定:有哪些工具、参数长什么样、结果怎么回来。MCP(Model Context Protocol) 就是这类开放约定之一:服务端声明工具名与 JSON Schema,客户端按 schema 发起调用并接收结构化结果。
它解决的是互操作性,不是某一个模型厂商的私有插件格式。IDE Agent、桌面客户端、自建编排都可以作为 MCP 客户端;文件系统、内部 API、只读数据库查询等则可做成 MCP Server。
要点
| 层 | 职责 | 常见风险 |
|---|---|---|
| Agent / IDE | 决定何时调用、如何解释结果 | 过度授权、循环调用 |
| MCP Server | 暴露能力、校验参数、返回数据 | 权限过大、泄露密钥 |
| 浏览器本地工具 | 处理粘贴样本,默认不离设备 | 误把生产数据贴进不可控环境 |
协议 不替代 权限设计。MCP 只规定「怎么说话」;「能不能写生产库」「能不能读密钥目录」仍要由你配置。
另一点:不是所有事都该交给 Agent。解码一段 JWT、格式化 JSON、拆连接串,用本地静态页往往更快,也少一次凭证暴露面。
怎么做
落地时可按这份最小清单推进:
- 列出允许的工具:名称、入参、是否接触密钥、超时与失败降级。
- 默认只读:文件系统限制在仓库子目录;数据库先给只读角色。
- 密钥不进提示词:令牌放环境变量或系统钥匙串,由 Server 侧读取,而不是让模型「记住」密钥。
- 本地先预处理:把样例数据在浏览器工具里脱敏、拆字段,再交给 Agent 分析结构。
伪流程示例:
粘贴样本 → 本地工具看清字段 → 确认无密钥 →
再让 Agent 通过 MCP 调用只读接口做对比/生成补丁
评审时把「工具清单」当代码:谁加了写权限,谁要说明回滚与审计方式。
和本站工具
0xKEV Tools 与 MCP 是互补关系:前者服务「人在浏览器里立刻处理」;后者服务「Agent 按协议调外部系统」。
- JWT 解码:看清 Header/Payload 声明,再决定 Agent 是否需要验签环境。
- 连接串解析:拆 JDBC/URI,避免把整串贴进聊天记录。
- JSON 格式化:整理 MCP 返回的 JSON 片段。
- Base64 编解码:处理配置里常见的编码字段。
入口:Tools 首页(本地运算、免注册)。隐私承诺见 隐私说明。
还可以把 MCP 工具分成三类来管理:只读查询、本地变换(格式化、编码)、副作用操作(写文件、发请求、改库)。前两类可以宽松一些;第三类必须单独审批,并在 Server 侧做二次确认(例如要求显式 confirm=true 参数)。日志里记录工具名与参数摘要(脱敏后),方便事后回答「那次补丁是谁触发的」。
若团队同时使用多种 Agent 客户端,尽量让它们共用同一份 MCP Server 配置,避免「A 客户端只读、B 客户端却拿了写权限」的漂移。协议再统一,配置分裂也会把风险放回来。
小结
把 MCP 理解成 USB 协议:插上什么设备(Server)、系统允不允许(权限)比接口漂亮更重要。工程上先做工具白名单与只读默认,再用本站本地工具处理敏感样例,Agent 才能既好用又可控。