返回项目实战
PROJECT进阶

最小权限 MCP 文件助手

通过 MCP 暴露受限文件搜索、读取和摘要能力,并完整记录访问审计。

TypeScriptMCP SDKNode.jsSQLite
目标用户

需要让 AI 安全读取项目资料的开发团队。

面试价值

能具体解释 MCP 架构、能力边界、协议调试和安全设计。

核心架构

MCP Server 只暴露白名单根目录下的 Resources 和只读 Tools;输入路径规范化后校验边界,客户端负责用户确认与结果展示。

实现步骤

  1. 01定义 capability 与威胁模型
  2. 02实现路径沙箱
  3. 03暴露 Resources 和 Tools
  4. 04加入审计与协议测试

核心功能

  • 目录白名单
  • 文件检索
  • 资源读取
  • 危险操作确认
  • 审计日志

技术难点

  • 目录穿越防护
  • 能力协商
  • 传输错误
  • 敏感文件过滤

交付与验收

测试策略

  1. 路径单元测试覆盖相对路径、软链接和目录穿越
  2. 协议集成测试覆盖初始化、能力发现和工具错误
  3. 安全测试验证白名单外文件与敏感模式不可读取

部署步骤

  1. 本地模式使用 stdio 与受限工作目录启动
  2. 远程模式单独配置 TLS、鉴权和每租户根目录
  3. Server 升级前运行协议兼容与权限回归测试

验收清单

  • Server 仅声明实际支持的 MCP 能力
  • 白名单外路径、软链接逃逸和隐藏密钥均被拒绝
  • 每次资源读取和工具调用都有审计记录
  • 客户端断开或取消后不保留悬挂任务

3 分钟讲解

  1. 30 秒说明 MCP 统一接入解决的问题
  2. 60 秒讲 Host、Client、Server 与三类原语
  3. 60 秒演示目录沙箱和协议测试
  4. 30 秒总结权限边界与可扩展方向
简历表达

实现最小权限 MCP 文件服务,支持路径沙箱、资源读取、工具调用审计和协议级自动化测试。

相关面试题