核心用法
SharePoint by @altf1be 是一个面向企业文档管理的 MCP 技能,通过 Microsoft Graph API 与 SharePoint 文档库进行交互。该技能采用证书认证(Certificate Auth)机制,完全摒弃客户端密钥,配合 Sites.Selected 权限实现最小权限原则——仅授予特定 SharePoint 站点的访问权,而非全租户范围。
主要功能模块
- 站点信息查询:获取 Site/Drive 元数据
- 文件浏览:支持根目录及子路径列示,内置路径遍历防护(
../拒绝) - 智能文档读取:提取 Office 文档(.docx/.xlsx/.pptx)及 PDF 的纯文本内容,输出适合 AI 处理的格式
- 文件上传下载:支持本地与云端的双向传输
- 全文搜索:基于 SharePoint 搜索 API 的内容检索
- 目录管理:创建文件夹结构
- 安全删除:需显式
--confirm标志方可执行
技术实现
- 认证层:
@azure/identity证书认证 +@microsoft/microsoft-graph-client - 文档解析:mammoth(Word)、exceljs(Excel)、jszip(PowerPoint)、pdf-parse(PDF)
- CLI 框架:commander + dotenv 环境管理
显著优点
1. 企业级安全架构:证书认证 + Sites.Selected 的组合,相比传统 Client Secret 大幅降低凭据泄露风险,符合 Zero Trust 理念
2. 开箱即用的 AI 就绪格式:Office 文档自动转换为结构化纯文本,无需额外处理即可接入 LLM 工作流
3. 细粒度权限控制:可精确到单个站点/文档库,适合多租户或敏感数据场景
4. 路径安全加固:内置路径遍历攻击防护
5. 删除操作保护:强制确认机制防止误删
潜在缺点与局限性
- 依赖证书基础设施:需预置 PKI 证书,对小团队或个人用户门槛较高
- 仅支持 Microsoft 365 生态:无法对接 Google Workspace、AWS S3 等其他存储
- 文档格式覆盖有限:不支持 .doc(旧版 Word)、.xls(旧版 Excel)等二进制格式
- 无实时协作功能:仅文件级操作,不涉及 SharePoint 的协作特性(共同编辑、版本历史等)
- 网络依赖:完全依赖 Microsoft Graph API 可用性
- 证书轮换成本:企业级部署需规划证书到期续期流程
适合人群
- 企业 IT 管理员:寻求安全、可审计的 SharePoint 自动化方案
- AI/LLM 应用开发者:需将企业文档库接入 RAG、知识库问答系统
- 合规敏感行业:金融、医疗、政府等对最小权限有严格要求的场景
- Microsoft 365 深度用户:已完整部署 Entra ID、证书基础设施的组织
常规风险
| 风险类别 | 说明 | 缓解措施 |
|---------|------|---------|
| 证书泄露 | PEM 文件权限管理不当 | 文件系统 600 权限、Key Vault 集成 |
| 权限扩大 | Sites.Selected 配置错误授予过多站点 | 定期审计 Graph API 权限授予 |
| 数据外泄 | 下载敏感文档后未妥善处理 | 结合 DLP 策略、本地加密 |
| API 限流 | 高频操作触发 Microsoft Graph 节流 | 实现指数退避、批量操作优化 |
| 证书过期 | 自动化流程因证书失效中断 | 监控证书有效期、自动轮换机制 |