
Ms Sharepoint Mcp
io.github.0xka13bv1.0.1更新於 Sep 29, 2026
Microsoft SharePoint MCP server — access sites, lists, and documents through Microsoft Graph.
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Ms Sharepoint Mcp,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
[Outlook] [Calendar] [OneDrive] [SharePoint] [Contacts]
Microsoft MCP
Model Context Protocol servers for Microsoft 365.
Calendar · Contacts · OneDrive · Outlook · SharePoint — on the official
@modelcontextprotocol/sdk,
over stdio or Streamable HTTP.
Each server speaks the real MCP protocol and runs over either transport:
- stdio — for local MCP clients that launch the server as a subprocess (Claude Desktop, IDEs, the MCP Inspector).
- Streamable HTTP — for remote/hosted use, with the Microsoft Graph access token supplied per request via
Authorization: Bearer.
Servers
All tools are thin wrappers over the Microsoft Graph v1.0 API.
Layout
A server is just a list of tools handed to run():
confirmationPolicy ("always" for mutating/destructive tools, "never" for read-only) is surfaced to clients as MCP readOnlyHint / destructiveHint annotations.
Requirements
- Node.js >= 20
- pnpm 10 (
corepack enable)
Setup
Tests & CI
Tests live next to the code as *.test.ts and run on TypeScript source directly (no build step). The shared packages/* are covered by unit and integration tests — including a full Streamable-HTTP round-trip against a live server — and CI enforces a coverage floor on them. Each apps/* server ships an invariant suite that locks its tool surface (unique snake_case names, valid schemas and confirmation policies).
Every push and pull request to master runs CI: typecheck → build → tests with coverage. The coverage badge is regenerated from the run.
Authentication
You sign in once with your Microsoft account; the server then caches a refresh token and acquires access tokens silently from then on — no pasting, no 1-hour expiry. Sign-in uses your own Microsoft Entra ID app registration (free) so the servers act on your behalf.
1. Register an Entra ID app (one time)
-
Azure Portal → Microsoft Entra ID → App registrations → New registration. Name it anything; pick the Supported account types that fit (single-tenant, multi-tenant, and/or personal accounts).
-
Authentication → Add a platform → Mobile and desktop applications → add redirect URI
http://localhost, and set Allow public client flows to Yes (enables the--device-codefallback). -
API permissions → Add a permission → Microsoft Graph → Delegated permissions → add the scopes for the servers you use (then Grant admin consent if your tenant requires it):
All servers also use
User.Read. (offline_accessis requested automatically for refresh.) -
Copy the Application (client) ID.
2. Sign in (one time per machine)
Set MICROSOFT_CLIENT_ID, then run the server's login command. A browser opens; after you consent, the token is cached under ~/.config/microsoft-mcp/:
From then on the server refreshes tokens automatically. Use a non-default tenant with MICROSOFT_TENANT_ID (default common).
Advanced: supply your own token
To bypass the built-in flow, supply a pre-acquired Graph token directly:
- stdio: set
MICROSOFT_ACCESS_TOKEN(takes precedence over the cached sign-in). Good for quick tests — mint one withaz account get-access-token --resource https://graph.microsoft.com --query accessToken -o tsv. - HTTP: send
Authorization: Bearer <token>on eachPOST /mcprequest. Each request is stateless with its own token, so callers never share credentials — this is the model for hosted/remote deployments, which handle their own auth.
Running
stdio (e.g. Claude Desktop)
Each server is published to npm and runnable with npx — no clone or build. Sign in once first (npx -y ms-calendar-mcp login, see Authentication), then:
Or point at a local build instead of npm:
During development you can skip the build and run the TypeScript directly:
Streamable HTTP
The server exposes POST /mcp (the MCP endpoint) and GET /healthz. Point any Streamable-HTTP MCP client at http://localhost:3000/mcp with an Authorization: Bearer header.
Transport selection
Resolved in this order: --stdio / --http flag → MCP_TRANSPORT=stdio|http → default stdio.
HTTP port: --port <n> → PORT → 3000.
Environment variables
來源:README.md,提交 3791c27
工具
0版本歷史
1- v1.0.1最新Sep 16, 2026

