DocSmith Connect for Microsoft 365
DocSmith Connect for Microsoft 365是一个客户托管的连接器,为SharePoint网站、Microsoft列表和文档库提供了一个受管理的工具界面。
MCP是接口。产品成果是Microsoft 365中的治理+执行自动化,权限和可审计性最低。
产品范围(V1)
- 租户中的客户托管网桥(Azure功能消耗基线)
- Graph应用程序仅通过以下方式进行身份验证
Sites.Selected - 单站点满负荷运行(
SWD OS或同等) - MCP客户端兼容性模型:本地stdio适配器->Azure中的HTTPS API
- 仅限小工具表面:
- lists.query({ list, filter, top }) - lists.get({ list, itemId }) - lists.create({ list, fields }) - lists.update({ list, itemId, fields }) - docs.upload({ library, folderPath, filename, content }) - docs.link({ library, itemId })
担保合同
- 请求无
actor_role和correlation_id被拒绝。 - 允许的演员角色:
Axis | Forge | Prime | System. - 所有列表/库访问都是通过allowlist配置进行服务器解析的。
- 非分配操作被阻止(
SWD_ENABLED_TOOLS). - 硬关闭开关:
MCP_DISABLED=1防止启动。 - 只读阶段模式(
SWD_PHASE_MODE=read_only)仅注册:
- lists.query, lists.get, docs.link
- 写入操作由以下因素控制:
SWD_ENABLE_WRITES(默认值false). - 每次工具调用都会向写入一个审计行
MCP Audit Log:
- timestamp_gst, actor_role, tool, target, correlation_id, request_hash, result, error
Execution Inbox默认情况下只有元数据:
- Subject, From, ReceivedAt, WebLink, MessageId
Execution InboxMessageId在创建幂等摄入时进行重复数据消除。
网络姿态(V1默认)
- 限制接触(推荐基线),不开放互联网。
- Entra认证背后的功能应用程序。
- 将APIM用于IP分配列表、限制和请求配额。
- 用于更高保证客户环境的可选专用端点。
Entra/Graph设置
- 在客户租户中注册Entra应用程序。
- 添加Graph应用程序权限:
Sites.Selected. - 仅向允许的站点授予站点级访问权限(例如
SWD OS). - 首选证书身份验证(
SP_CLIENT_CERT_*),保持SP_CLIENT_SECRET只有回退。
配置
cp .env.example .env
cp config/allowlist.example.json config/allowlist.json集 .env 值:
SP_TENANT_ID,SP_CLIENT_ID- 证书身份验证变量(
SP_CLIENT_CERT_THUMBPRINT,私钥路径/内容) SWD_ALLOWLIST_PATHMCP_DISABLED=0SWD_PHASE_MODE=read_only用于只读卷展SWD_ENABLE_WRITES=false直至Prime书面批准AUDIT_MODE=fail_closed用于生产(fail_open仅适用于dev)- 可选的
SWD_ENABLED_TOOLS缩小已启用的操作范围
集 config/allowlist.json 值:
- 站点ID
- 列表ID:
Execution Inbox,Work Orders,Decision Log,Risk Register,Release Log,MCP Audit Log - 库ID:
Governance Docs
在本地运行
# stdio transport (default)
npm start
# streamable HTTP transport for connector deployments
MCP_TRANSPORT=http MCP_HTTP_HOST=127.0.0.1 MCP_HTTP_PORT=3000 MCP_HTTP_PATH=/mcp npm start运输方式
MCP_TRANSPORT=stdio(默认):本地MCP客户端进程桥MCP_TRANSPORT=http:用于连接器部署的可流式HTTP端点MCP_HTTP_HOST:HTTP模式的主机绑定(默认127.0.0.1)MCP_HTTP_PORT:HTTP模式端口(默认3000)MCP_HTTP_PATH:HTTP模式的路由路径(默认/mcp)
集装箱包装
docker build -t docsmith-connect-m365:latest .
docker run --rm --env-file .env -v "$PWD/config:/app/config:ro" docsmith-connect-m365:latest生成发布校验和:
docker save docsmith-connect-m365:latest | sha256sumMCP客户端配置示例
{
"mcpServers": {
"docsmith-connect-m365": {
"command": "node",
"args": ["projects/sharepoint-mcp-server/src/index.js"],
"env": {
"SP_TENANT_ID": "...",
"SP_CLIENT_ID": "...",
"SP_CLIENT_CERT_THUMBPRINT": "...",
"SP_CLIENT_CERT_PRIVATE_KEY_PATH": "...",
"SWD_ALLOWLIST_PATH": "projects/sharepoint-mcp-server/config/allowlist.json",
"SWD_ENABLE_WRITES": "false"
}
}
}
}推出
- 第一阶段:仅面向阅读的工具(
lists.query,lists.get,docs.link). - 验证审核日志的完整性2-3天。
- 启用写入
Execution Inbox. - 展开写入
Work Orders那么Decision Log,然后上传文档。
其他工件
- PRD:
docs/03-Architecture/DocSmith-Connect-M365-PRD.md - 安全标准:
docs/04-Security/DocSmith-Connect-M365-Security-Acceptance.md - SharePoint列表架构:
docs/04-Security/SharePoint-List-Schemas.md - 生产边界:
docs/03-Architecture/DocSmith-Connect-M365-Production-Boundary.md - 变更日志:
CHANGELOG.md - 安全策略:
SECURITY.md - 原型执行计划:
docs/03-Architecture/Prototype-Implementation-Plan.md
