MCP Server
2026/6/17大约 3 分钟MCP工具调用Agent
MCP Server 资源与安全接入
MCP(Model Context Protocol)用于让 AI 客户端以统一方式发现和调用工具、资源与提示模板。它降低了集成成本,但不会自动解决权限、数据泄露或提示注入问题。
从哪里找 Server
优先选择官方发布、源码可审查、维护活跃且权限范围清晰的实现。不要因为“能装上”就把不明 Server 接到含有私密数据的客户端。
常见接入类型
| 类型 | 示例用途 | 风险重点 |
|---|---|---|
| 本地文件与数据库 | 搜索文档、读取项目资料 | 路径越权、敏感数据外泄 |
| 开发工具 | GitHub、Git、CI、Issue | 写入权限、供应链与误操作 |
| SaaS 连接器 | 邮件、日历、CRM、协作工具 | OAuth 范围、跨租户数据 |
| 浏览器/自动化 | 网页查询、表单、测试 | 提示注入、执行高风险动作 |
接入前的五个问题
- Server 是谁维护的?是否有公开源码、版本记录和安全说明?
- 它读取哪些数据、能执行哪些写操作、密钥存在哪里?
- 能否使用只读凭据、短期令牌和独立测试账号?
- 高风险操作是否要求明确的人类确认?
- 是否有审计日志、超时、速率限制与一键撤销办法?
推荐的实施方式
- 开发期:本地 stdio Server + 最小目录权限 + 测试数据。
- 团队期:为每个集成单独配置服务账号,不共享个人 Token。
- 生产期:在受控网关或沙箱中运行,做输入过滤、参数校验、审计和审批。
不要忽略提示注入
网页、文档和邮件中的内容都可能诱导模型调用不该调用的工具。把外部文本视为不可信数据:限制工具权限、为写操作加确认、将检索内容与系统指令隔离,并验证每次高影响动作的参数。
一个安全的 Server 设计
AI Client → MCP Server → 鉴权/参数校验/策略层 → 业务 API 或数据源
↓
审计日志与审批不要让 Server 直接把模型生成的字符串拼进 shell、SQL 或 HTTP 请求。每个边界都应使用参数化调用、schema 校验与允许列表。
推荐的工具形态
| 不推荐 | 推荐 |
|---|---|
| “执行任意 SQL” | “按租户读取指定报表”,并限制字段与行数 |
| “访问本机所有文件” | “读取已注册工作区中的指定路径” |
| “发送任意邮件” | “创建待审批草稿,再由用户确认发送” |
| “调用任意 URL” | “调用已登记服务的固定操作” |
排障清单
当工具调用失败时,记录 Server 版本、客户端版本、请求 ID、工具名、脱敏参数、权限判定和下游错误码。不要把完整凭据或用户原文写进日志。
