SharePoint数据访问验证

一系列概念验证实现,展示通过模型上下文协议(MCP)让GitHub Copilot访问SharePoint内容的不同方法。

  • by blazekids4
  • Python
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 blazekids4/SharePoint-MCP-Server-Data-Access-POCs

使用说明

SharePoint MCP服务器——数据访问POC

概念验证实现的集合,展示了不同的方法 GitHub Copilot 通过访问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) — 在此处安装