SharePoint MCP服务器——数据访问POC
概念验证实现的集合,展示了不同的方法 通过访问SharePoint内容 模型上下文协议(MCP).
每个POC都采用不同的数据检索方法,使团队能够评估控制、安全、维护和部署复杂性方面的权衡。
______________________________________________________________________
POC方法
1. Microsoft Graph API
一个自定义的Python MCP服务器,用于调用 Microsoft Graph API 直接访问SharePoint网站、页面、文件和文档库。托管于 Azure容器应用 用于集中部署。
- 认证: 仅应用程序客户端凭据(Azure AD应用程序注册)
- 运输: 流式HTTP(托管)或stdio(本地)
- 堆栈: Python、FastMCP、SQL、httpx
- 部署: Azure容器应用程序通过
azd up
最适合: 完全控制工具行为、自定义过滤/格式化、在一个服务器中组合多个数据源。
2. Azure人工智能搜索
由以下支持的MCP服务器 Azure人工智能搜索 用于对SharePoint内容进行索引、全文和语义搜索。
- 认证: Azure AI搜索API密钥或托管身份
- 堆栈: 待定
最适合: 具有相关性排名、语义搜索和分面过滤的大规模内容搜索。
3. M365 Copilot检索API
使用 Microsoft 365 Copilot检索API --一种Microsoft托管的服务,提供对组织内容的预构建访问,而无需自定义服务器代码。
- 认证: 委托用户凭据(交互式浏览器登录)
- 运输: 可流式HTTP到Microsoft托管端点
- 文件: M365 Copilot检索API概述
最适合: 零代码设置,按用户访问控制,无需管理基础设施。
______________________________________________________________________
方法比较
| 维度 | 图形API | Azure AI搜索 | M365 Copilot检索API |
|---|---|---|---|
| 基础设施 | 自托管(Azure容器应用程序) | 自托管(蔚蓝AI搜索+计算) | 微软托管 |
| 身份验证模型 | 仅应用程序(服务主体) | API密钥/托管标识 | 委派(每个用户) |
| 定制工具 | 是--完全控制 | 是--自定义索引+工具 | 否--由Microsoft预先构建 |
| 搜索能力 | 基础图形搜索 | 全文+语义搜索 | 微软的相关性引擎 |
| 维护 | 您维护所有代码 | 您维护索引+代码 | Microsoft维护 |
| 按用户访问控制 | 否(共享服务主体) | 可配置 | 是(本机) |
看 文档/mcp审批-比较.md 以进行详细比较。
______________________________________________________________________
存储库结构
sharepoint-mcp-server/
├── poc-graph-api/ # POC 1: Microsoft Graph API
│ ├── server.py # MCP server implementation
│ ├── Dockerfile # Container build
│ ├── azure.yaml # Azure Developer CLI config
│ ├── requirements.txt # Python dependencies
│ ├── README.md # Setup & deployment guide
│ └── infra/ # Azure infrastructure (Bicep)
│ ├── main.bicep
│ ├── main.parameters.json
│ └── modules/
├── poc-azure-ai-search/ # POC 2: Azure AI Search
├── poc-m365-copilot-retrieval-api/ # POC 3: M365 Copilot Retrieval API
│ └── README.md
├── documentation/ # Shared documentation & resources
│ ├── mcp-approaches-comparison.md
│ ├── enterprise-deployment-guide.md
│ ├── hosting-mcp-server-end-to-end.md
│ ├── mcp-hosting-options-azure.md
│ ├── sample-prompts.md
│ └── resources.md
└── .vscode/
└── mcp.json # MCP server configs for all POCs______________________________________________________________________
快速开始
每个POC都有自己的README,其中包含设置说明。要尝试最完整的实现:
cd poc-graph-api然后按照 图形API POC自述 用于部署和配置。
______________________________________________________________________
文档
| 文档 | 描述 |
|---|---|
| 方法比较 | 三种方法的详细比较 |
| 企业部署指南 | 扩展MCP服务器以供企业使用 |
| 端到端托管 | 托管MCP服务器的完整演练 |
| Azure托管选项 | MCP服务器的Azure托管选项 |
| 示例提示 | 与Copilot一起使用的示例提示 |
| 资源 | 链接和参考 |
______________________________________________________________________
先决条件
- VS Code 和 GitHub Copilot 和 GitHub Copilot 聊天助手 扩展
- Azure订阅 (适用于图形API和人工智能搜索POC)
- Microsoft 登录 ID(Azure AD) 租户
- Azure开发者命令行界面(
azd) — 在此处安装
