Token导航 LogoToken导航TokenDH.com
MCP Server Sharepoint logo
地图位置未说明官方级别未说明来源级核验

MCP Server Sharepoint

MCP Server

一个通过自然语言与SharePoint交互的工具,支持浏览站点、管理文档和搜索文件等功能。

工具数

10

提示词数

0

GitHub Stars

0

资源数

0
Kotlin自然语言处理Claude文件管理Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

fidesit

提供方

fidesit

最后核验

2026/5/17 20:21

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

mcp服务器共享点

![CI](https://github.com/fidesit/mcp-server-sharepoint/actions/workflows/ci.yml) ![Maven Central](https://central.sonatype.com/artifact/com.utisha/mcp-server-sharepoint) ![License: Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) ![Java 21+](https://openjdk.org/) ![Kotlin](https://kotlinlang.org/)

与您的SharePoint对话——浏览网站、管理文档、搜索文件,所有这些都可以通过任何兼容MCP的AI助手使用自然语言完成。

使用Kotlin、Microsoft Graph SDK v6和官方MCP SDK构建。

亮点

  • 🛠️ 涵盖整个文档生命周期的10个工具
  • 🔄 指数回退自动重试(429/503)
  • 📄 透明分页(自动跟随@odata.nextLink)
  • 📤 大文件的分块上传(>4MB自动切换为可恢复)
  • 🔍 来自Graph API的结构化错误消息
  • 🤖 适用于Claude Desktop、Cursor和任何MCP客户端
  • 📦 发布到Maven Central

快速开始

先决条件: JDK 21+,一个具有SharePoint权限的Azure AD应用程序注册。

# 1. Clone and build
git clone https://github.com/fidesit/mcp-server-sharepoint.git
cd mcp-server-sharepoint
./gradlew build

# 2. Configure (copy and fill in your Azure AD credentials)
cp .env.example .env

# 3. Run
java -jar build/libs/mcp-server-sharepoint-0.1.0.jar

服务器使用MCP规范定义的JSON-RPC通过stdio(stdin/stdout)进行通信。将其连接到任何兼容MCP的客户端。

与MCP客户端一起使用

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "sharepoint": {
      "command": "java",
      "args": ["-jar", "/absolute/path/to/mcp-server-sharepoint-0.1.0.jar"],
      "env": {
        "SHAREPOINT_TENANT_ID": "your-tenant-id",
        "SHAREPOINT_CLIENT_ID": "your-client-id",
        "SHAREPOINT_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

光标

添加到光标MCP设置(.cursor/mcp.json):

{
  "mcpServers": {
    "sharepoint": {
      "command": "java",
      "args": ["-jar", "/absolute/path/to/mcp-server-sharepoint-0.1.0.jar"],
      "env": {
        "SHAREPOINT_TENANT_ID": "your-tenant-id",
        "SHAREPOINT_CLIENT_ID": "your-client-id",
        "SHAREPOINT_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

克劳德代码

claude mcp add sharepoint -- java -jar /path/to/mcp-server-sharepoint-0.1.0.jar

其他客户

任何支持stdio传输的MCP客户端都可以使用此服务器。将其指向带有所需环境变量的JAR。

可用工具

导航

工具描述必需参数可选参数
sharepoint_list_sites列出或搜索可访问的SharePoint网站--search
sharepoint_list_drives列出网站的文档库siteId
sharepoint_list_files列出驱动器路径中的文件和文件夹driveIdpath

阅读和搜索

工具描述必需参数可选参数
sharepoint_get_file_content将文件内容下载为UTF-8文本driveId, itemId
sharepoint_search_files按文本查询在驱动器中搜索文件driveId, query

编写和组织

工具描述必需参数可选参数
sharepoint_upload_file上传文件(base64编码内容)driveId, parentPath, fileName, content
sharepoint_create_folder创建文件夹driveId, parentPath, folderName
sharepoint_copy_item将项目复制到新位置driveId, itemId, destinationPath
sharepoint_move_item将项目移动到新位置driveId, itemId, destinationPath
sharepoint_delete_item删除文件或文件夹(永久)driveId, itemId

工作流示例

用户: 查找营销团队的SharePoint网站。 助理: *呼叫 sharepoint_list_sites(search="marketing")*

用户: 它有哪些文档库? 助理: *呼叫 sharepoint_list_drives(siteId="...")*

用户: 显示“报告”文件夹中的文件。 助理: *呼叫 sharepoint_list_files(driveId="...", path="Reports")*

用户: 阅读第四季度总结。 助理: *呼叫 sharepoint_get_file_content(driveId="...", itemId="...")*

配置

环境变量

变量必填默认描述
SHAREPOINT_TENANT_ID--Azure AD租户ID
SHAREPOINT_CLIENT_ID--Azure AD应用程序(客户端)ID
SHAREPOINT_CLIENT_SECRET--Azure AD客户端机密
SHAREPOINT_SITE_URL--将操作限制到特定的SharePoint网站URL
SHAREPOINT_MAX_UPLOAD_BYTES没有0上传文件大小的硬限制(以字节为单位)。0=无限制
SHAREPOINT_MAX_PAGINATION_RESULTS没有500分页列表操作的安全帽

Azure AD安装程序

  1. 首选 Azure门户 > 应用程序注册 > 新注册
  2. 命名它(例如。, mcp-sharepoint-server),选择 单租户,注册
  3. 注意 应用程序(客户端)ID目录(租户)ID
  4. 首选 证书和秘密 > 新客户机密 --复制机密值
  5. 首选 API权限 > 添加权限 > 微软图形 > 应用权限,添加:

- Sites.Read.All - Sites.ReadWrite.All - Files.ReadWrite.All

  1. 点击 授予管理员同意 (需要Azure AD管理员)

从源头构建

# Build and run unit tests
./gradlew build

# Run unit tests only
./gradlew test

# Run integration tests (requires SharePoint credentials in environment)
./gradlew integrationTest

# Build fat JAR only (skip tests)
./gradlew shadowJar

胖JAR是在 build/libs/mcp-server-sharepoint-.jar.

项目结构

src/main/kotlin/com/utisha/mcp/sharepoint/
  Main.kt                  # Entry point — stdio transport, env-based config
  SharePointConfig.kt      # Configuration with validation and env var parsing
  SharePointGraphClient.kt # Microsoft Graph API client (all SharePoint operations)
  SharePointMcpServer.kt   # MCP tool definitions and request handling

建筑

服务器分为三层:

  1. SharePointGraphClient --封装Microsoft Graph SDK v6(基于Kiota)。处理身份验证、分页、重试和分块上传。这是一个不依赖MCP的纯SharePoint客户端。
  1. SharePoint McpServer --注册10个MCP工具,并将传入的工具调用映射到 SharePointGraphClient 方法。运输无关(接收 McpServerTransportProvider).
  1. --使用基于环境的配置将stdio传输连接到服务器。

关键行为:

  • 自动重试 具有针对Graph API节流(429)和瞬时误差(503)的指数退避
  • 透明分页 --列表操作如下 @odata.nextLink 自动,上限为 maxPaginationResults
  • 分块上传 --使用Graph的可恢复上传会话上传大于4MB的文件
  • 结构化错误 -图形API ODataError 响应被提取为可读的消息

许可证

Apache许可证2.0

目录标签

目录标签

Kotlin自然语言处理Claude文件管理本地部署SharePoint集成MCP兼容自动化工具

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

10

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP