最小权限 MCP 文件助手
通过 MCP 暴露受限文件搜索、读取和摘要能力,并完整记录访问审计。
TypeScriptMCP SDKNode.jsSQLite
目标用户
需要让 AI 安全读取项目资料的开发团队。
面试价值
能具体解释 MCP 架构、能力边界、协议调试和安全设计。
核心架构
MCP Server 只暴露白名单根目录下的 Resources 和只读 Tools;输入路径规范化后校验边界,客户端负责用户确认与结果展示。
实现步骤
- 01定义 capability 与威胁模型
- 02实现路径沙箱
- 03暴露 Resources 和 Tools
- 04加入审计与协议测试
核心功能
- 目录白名单
- 文件检索
- 资源读取
- 危险操作确认
- 审计日志
技术难点
- 目录穿越防护
- 能力协商
- 传输错误
- 敏感文件过滤
交付与验收
测试策略
- 路径单元测试覆盖相对路径、软链接和目录穿越
- 协议集成测试覆盖初始化、能力发现和工具错误
- 安全测试验证白名单外文件与敏感模式不可读取
部署步骤
- 本地模式使用 stdio 与受限工作目录启动
- 远程模式单独配置 TLS、鉴权和每租户根目录
- Server 升级前运行协议兼容与权限回归测试
验收清单
- Server 仅声明实际支持的 MCP 能力
- 白名单外路径、软链接逃逸和隐藏密钥均被拒绝
- 每次资源读取和工具调用都有审计记录
- 客户端断开或取消后不保留悬挂任务
3 分钟讲解
- 30 秒说明 MCP 统一接入解决的问题
- 60 秒讲 Host、Client、Server 与三类原语
- 60 秒演示目录沙箱和协议测试
- 30 秒总结权限边界与可扩展方向
简历表达
实现最小权限 MCP 文件服务,支持路径沙箱、资源读取、工具调用审计和协议级自动化测试。