跳过安装。2 分钟内即可运行。
在 cloud.anythingmcp.com 开始免费试用,一键添加 SharePoint (Microsoft 365),然后将你的 AI 客户端(Claude、ChatGPT、Copilot 或 Cursor)指向生成的 MCP 端点。无需 Docker,无需 git clone,无需任何工程经验。
摘要
让你的 AI 在 SharePoint 中工作:查找站点,浏览和搜索文档库,查看文件详情和有权访问的人,读取、创建和更新列表项,创建列表、文件夹和文本文件,读取站点页面,并用 Microsoft Search 搜索所有内容。通过 Microsoft Graph 支持 Microsoft 365,使用你的工作账户登录。
试试这样问
SharePoint (Microsoft 365) 的示例提示
点击任意提示即可复制,然后粘贴到 Claude、ChatGPT、Cursor、Gemini、Copilot 或 OpenClaw 中,在该连接器上运行。
Claude 是 AI,可能会出错。请核对回答。
💡 无需安装? 直接使用 cloud.anythingmcp.com。 登录、点击 Connectors → SharePoint (Microsoft 365)、粘贴凭证、生成 MCP API key,即可完成。无 Docker、无
git clone、无本地服务器。
Microsoft SharePoint + Meta Muse
让你的 AI 在 SharePoint 中工作:查找站点,浏览和搜索文档库,查看文件详情和有权访问的人,读取、创建和更新列表项,创建列表、文件夹和文本文件,读取站点页面,并用 Microsoft Search 搜索所有内容。通过 Microsoft Graph 支持 Microsoft 365,使用你的工作账户登录。
前提条件
完整的设置说明已内置在连接器中 (在 store 中选择连接器时可见)。所需环境变量:
MICROSOFT_CLIENT_ID, MICROSOFT_CLIENT_SECRET, MICROSOFT_TENANT_ID
步骤 1 — 获取凭证
-
打开 Microsoft Entra 管理中心(entra.microsoft.com)或 Azure 门户,进入 Applications → App registrations → New registration。
-
为应用命名(例如 "AnythingMCP Microsoft 365"),并选择 Supported account types。这一选择决定
MICROSOFT_TENANT_ID填什么:- Accounts in this organizational directory only(单租户):只有你组织内的用户可以登录。填写应用 Overview 页面上的 Directory (tenant) ID(一个 GUID),或你的域名,例如
contoso.onmicrosoft.com。 - Accounts in any organizational directory(多租户):填写
organizations。 - Accounts in any organizational directory and personal Microsoft accounts:填写
common。个人 Microsoft 账户没有 SharePoint,因此它们可以登录,但获取不到任何数据。
如果该值与账户类型不符,Microsoft 会拒绝登录(AADSTS50194 或 AADSTS50020)。
- Accounts in this organizational directory only(单租户):只有你组织内的用户可以登录。填写应用 Overview 页面上的 Directory (tenant) ID(一个 GUID),或你的域名,例如
-
在 Redirect URI 下选择平台 Web,填写
https://cloud.anythingmcp.com/api/mcp-oauth/callback。如果你自行托管 AnythingMCP,则改为填写https://your-anythingmcp-host/api/mcp-oauth/callback。URI 必须逐字符一致,否则 Microsoft 会返回 AADSTS50011。 -
打开 API permissions → Add a permission → Microsoft Graph → Delegated permissions,添加
offline_access、User.Read、Sites.ReadWrite.All和Files.ReadWrite.All。offline_access让 Microsoft 签发刷新令牌;缺少它,连接器会在授权一小时后停止工作。 -
打开 Certificates & secrets → New client secret。复制密钥的 Value,而不是 Secret ID;它只显示一次。记下到期日期:密钥过期后,连接器会停止工作,直到你创建新密钥并填入。
-
将 Overview 页面上的 Application (client) ID 填入
MICROSOFT_CLIENT_ID,将密钥值填入MICROSOFT_CLIENT_SECRET,将第 2 步中的租户值填入MICROSOFT_TENANT_ID,然后安装连接器。 -
在连接器页面点击 Authorize with Provider,用 AI 要处理其 SharePoint 站点的工作账户登录。刷新令牌会加密保存,访问令牌(有效期约一小时)会自动续期。
-
先运行
sharepoint_get_root_site:它会显示你组织的根站点,并确认可以访问 SharePoint。
“.All” 的含义:在这些委托权限中,All 指的是“登录用户能打开的每个站点”。AI 获得的权限永远不会超过该用户自己的 SharePoint 访问权限。
一个 Entra 应用服务所有 Microsoft 连接器:你为 Outlook、OneDrive 或 Excel 连接器创建的应用注册在这里同样适用。打开它,在 API permissions 下添加第 4 步中的权限,保留相同的重定向 URI,并复用同一个客户端 ID、密钥和租户。每个连接器在授权时只请求它自己需要的权限:
- Outlook:
Mail.ReadWrite、Mail.Send、Calendars.ReadWrite - OneDrive:
Files.ReadWrite - Excel:
Files.ReadWrite(工作簿位于 SharePoint 中或由他人共享给你时,还需要Files.ReadWrite.All) - SharePoint:
Sites.ReadWrite.All和Files.ReadWrite.All
它们都还需要 offline_access 和 User.Read。
管理员同意:这些委托权限通常不需要管理员,但许多组织关闭了用户同意。如果登录时显示 "Need admin approval"(AADSTS65001 或 AADSTS90094),需要租户管理员打开一次应用注册,点击 API permissions → Grant admin consent 为整个组织授予同意。之后每个用户都可以授权。每个连接器仍然只能处理登录账户有权查看的内容。
只读设置:在应用注册中添加 Sites.Read.All 和 Files.Read.All,在连接器的 OAuth 设置中将 scopes 替换为 offline_access User.Read Sites.Read.All Files.Read.All,重新授权,并停用 sharepoint_create_list_item、sharepoint_update_list_item、sharepoint_create_list、sharepoint_create_folder、sharepoint_upload_text_file、sharepoint_rename_drive_item 和 sharepoint_move_drive_item。
安装时默认关闭:sharepoint_delete_list_item、sharepoint_delete_drive_item、sharepoint_create_sharing_link 和 sharepoint_invite。共享链接和邀请是有意关闭的:它们会让其他人访问你组织的文件,而 AI 读取的文档里可能含有要求它共享内容的文字。只有在 AI 确实需要时才打开某个工具。删除的项目会进入站点的回收站。
如何找到内容:AI 会按关键字或根据站点地址(例如 https://contoso.sharepoint.com/sites/Marketing)查找站点,然后打开它的文档库和列表。sharepoint_search 使用 Microsoft Search 搜索你能看到的所有站点、文件和列表项。现代站点页面可以读取;经典页面、新闻帖子和页面编辑不在支持范围内。
列表:列表值按每一列的内部名称存储,内部名称可能与你看到的名称不同(显示为 "Due date" 的列可能是 DueDate)。AI 会先用 sharepoint_list_columns 读取列。在超过 5,000 个项目的列表中,SharePoint 只能按已建立索引的列进行筛选和排序。
文件和内容:连接器不下载文件内容,AI 会改为给你文件的链接。它可以创建最大约 4 MB 的文本文件,并且默认从不覆盖已有文件。要处理文档库中 Excel 工作簿的单元格,请使用 Microsoft Excel 连接器。
常见错误:401 InvalidAuthenticationToken 表示授权已被撤销或客户端密钥已过期;如有需要填入新密钥,然后再次点击 Authorize with Provider。403 accessDenied 表示缺少第 4 步中的某个权限或该权限未获同意,或者你无权访问该站点、库或列表。404 itemNotFound 表示站点、库、列表或项目有误,或站点路径不存在;个人 Microsoft 账户的每次调用都会得到 404 或 400。列表项上的 400 invalidRequest 表示列名不是内部名称,或值与该列不匹配;"cannot be referenced in filter or orderby as it is not indexed" 表示需要在列表设置中为该列建立索引。409 nameAlreadyExists 表示文件夹中已有同名项目。
连接器不下载文件内容,不上传二进制文件,不创建站点或更改站点权限,不删除列表或列,不编辑页面,也不管理术语库和内容类型。
步骤 2 — 安装 adapter
curl -fsSL https://raw.githubusercontent.com/HelpCode-ai/anythingmcp/main/docker-compose.quickstart.yml -o docker-compose.yml
printf 'JWT_SECRET=%s\nENCRYPTION_KEY=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" > .env
docker compose up -d
步骤 3 — 在 Muse 中添加连接器
你的服务器 URL: 在 AnythingMCP 中打开 MCP Servers → 此连接器所在的服务器,复制它的 URL(
https://cloud.anythingmcp.com/mcp/…)。本指南中出现YOUR_SERVER_ID的地方都用它替换。
Muse 以自定义连接器的形式添加远程 MCP 服务器,并通过 OAuth 登录。
- 在 Muse 中打开 Settings → Connectors,选择 Add custom connector。
- 粘贴 MCP 服务器 URL
https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID。 - Muse 会打开 AnythingMCP 的登录页面:登录并批准访问。
- 在聊天中,向 Muse 提出需要用到
Microsoft SharePoint的工具的请求。
你也可以在聊天中完成设置,适用于网页版、iOS 和 Android 应用以及 WhatsApp。给 Muse 发送这条消息:
Create a Custom Connector for a new remote MCP server, then connect to it:
Name: AnythingMCP
Transport: remote streamable HTTP
URL: https://cloud.anythingmcp.com/mcp/YOUR_SERVER_ID
Auth: OAuth
自托管?请用你实例的公网 HTTPS 地址替换 https://cloud.anythingmcp.com。Muse 从 Meta 的云端连接,因此 localhost 无法使用。
可用工具
| Tool | What it does |
|---|---|
sharepoint_get_root_site | Get the organisation's root SharePoint site (e.g. https://contoso.sharepoint.com): its id, name, displayName, webUrl and hostname… |
sharepoint_search_sites | Find SharePoint sites the user can open by keyword in their name or description, e.g. "marketing". "*" lists all sites the user can reach |
sharepoint_get_site_by_path | Get a site from its address: hostname plus server-relative path, as in https://contoso.sharepoint.com/sites/Marketing → hostname… |
sharepoint_get_site | Get one site by id: name, displayName, description, webUrl, dates and hostname |
sharepoint_list_subsites | List the subsites of a site: id, name, displayName, webUrl |
sharepoint_list_drives | List the document libraries (drives) of a site, e.g. "Documents" (Shared Documents) and other libraries: id, name, description, driveType… |
sharepoint_list_drive_root | List the files and folders at the top level of a document library: id, name, size, dates, last modifier, file mimeType or folder child… |
sharepoint_list_folder | List the files and folders inside one folder of a document library |
sharepoint_search_drive | Search one document library for files and folders whose name, metadata or content matches the text |
sharepoint_get_drive_item | Get one file's or folder's metadata in a document library: name, size, dates, creator and last modifier, parentReference, file mimeType or… |
sharepoint_search | Search everything the user can see across SharePoint and OneDrive with Microsoft Search: files (driveItem), list items (listItem), lists… |
sharepoint_list_lists | List the lists and libraries of a site: id, name, displayName, description, list.template (genericList, documentLibrary, events...)… |
sharepoint_list_columns | List the columns of a list with their internal name (the key used in fields), displayName, type (text, number, dateTime, choice with its… |
sharepoint_list_items | List the items of a list with their column values (fields), id, dates, creator and last modifier, webUrl |
sharepoint_get_list_item | Get one list item with all its column values (fields), id, dates, creator, last modifier and webUrl |
sharepoint_create_list_item | Create an item in a list, with values keyed by the internal column names from sharepoint_list_columns |
sharepoint_update_list_item | Change column values of a list item; columns not named keep their values |
sharepoint_delete_list_item | Delete a list item |
sharepoint_create_list | Create a new list in a site, optionally with columns (every list has a Title column) |
sharepoint_create_folder | Create a folder in a document library, inside a parent folder (default: the library's top level) |
sharepoint_upload_text_file | Create a new text file (.txt, .md, .csv, .json, .html, .xml...) with the given content in a folder of a document library, up to about 4 MB |
sharepoint_rename_drive_item | Rename a file or folder in a document library in place |
sharepoint_move_drive_item | Move a file or folder to another folder of the same document library, optionally renaming it on the way |
sharepoint_delete_drive_item | Delete a file or folder (with its contents) from a document library |
sharepoint_list_permissions | List who has access to a file or folder in a document library: roles, people and groups (grantedToV2), sharing links (link.type… |
sharepoint_create_sharing_link | Create a sharing link for a file or folder in a document library: type "view" or "edit", scope "anonymous", "organization" or "users" |
sharepoint_invite | Give people access to a file or folder in a document library by email address, with role "read" or "write", optionally emailing them |
sharepoint_list_pages | List the modern pages of a site: id, name, title, webUrl, pageLayout, publishing state, dates and author |
sharepoint_get_page | Read one modern page with its content: title, description and canvasLayout (sections, columns and web parts; text web parts carry innerHtml) |
示例提示
- “找到“市场营销”站点,列出它的“文档”库中本月改动过的文件。”
- “在“项目”列表中,显示所有状态为“未完成”、在周五之前到期的条目。”
- “在“采购申请”列表中添加一项:“为销售团队采购新笔记本电脑”,金额 4,800,状态为“待审批”。”
- “在 SharePoint 中搜索最新的差旅政策,并告诉我它存放在哪里。”
FAQ
Muse 在哪些地区可用? Meta 目前在美国和加拿大提供 Muse,可在网页版、iOS 和 Android 应用以及 WhatsApp 中使用。
Meta 会审核这个连接器吗? 不会。Meta 不审核自定义连接器。Muse 只能看到你在 AnythingMCP 中为此 MCP 服务器启用的工具,你也可以随时在 Settings → Connectors 中断开它。
下一步
这份指南对你有帮助吗?