🚀 SharePoint Online MCP Server 🚀
最強のSharePoint MCPサーバーで、SharePoint REST APIを通じてSharePoint Onlineとシームレスにやり取りできます。
このMCPサーバーは、Claude Desktopアプリとともに使用するように設計されていますが、Clineなどの他のMCPクライアントでも使用できます。
🚀 クイックスタート
このSharePoint Online MCP Serverを使用することで、SharePoint Onlineとのやり取りを容易に行うことができます。以下の手順に従って、サーバーのセットアップと使用を開始しましょう。
✨ 主な機能
- SharePoint REST APIを通じたSharePoint Onlineとのシームレスなやり取りを可能にします。
- Claude DesktopやClineなどのMCPクライアントと互換性があります。
- 様々なSharePoint操作をサポートしています。
📦 インストール
Install Node.js
Node.jsバージョン22.14.0以降をインストールしてください。
Install and Configure Claude Desktop
- Claude Desktopをダウンロードしてインストールします。
- Claude Desktopで、
File
> Settings
> Developer
に移動します。
Edit Config
をクリックします。
- エディターで
claude_desktop_config.json
設定ファイルを開きます。PowerShellスクリプトで生成されたclaude_desktop_config.json
ファイルを使用することもできます。
- 設定に以下を貼り付け、
mcpServers
セクションを独自の値で更新します。
Config for Certificate Authentication
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"AZURE_APPLICATION_ID": "<your-app-id>",
"AZURE_APPLICATION_CERTIFICATE_THUMBPRINT": "<your-certificate-thumbprint>",
"AZURE_APPLICATION_CERTIFICATE_PASSWORD": "<your-certificate-password>",
"M365_TENANT_ID": "<your-tenant-id>"
}
}
}
}
Config for Client Secret Authentication (not recommended)
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<your-client-id>",
"SHAREPOINT_CLIENT_SECRET": "<your-client-secret>",
"M365_TENANT_ID": "<your-tenant-id>"
}
}
}
}
💡Entra IDからテナントIDを取得する方法を学ぶ
- 設定ファイルを保存し、Claude Desktopを再起動します。タスクトレイのアイコンを使用してアプリを完全に終了することを確認してください。
💻 使用例
How to "talk" to the MCP Server
- Claude Desktopを開き、
Get me the list of lists from https://<your-tenant>.sharepoint.com/sites/Dashboard-Communication. Present the results in a table form. don't use code
のような質問をします。

📚 ドキュメント
SharePoint Operations Availability
Users
操作 |
利用可能 |
注意事項 |
List Site Users |
✅ |
|
List Site Groups |
✅ |
|
Get Group Members |
✅ |
|
Add Group Member |
✅ |
|
Remove Group Member |
✅ |
|
Get User Profile |
❌ |
/_api/SP.UserProfiles.PeopleManager |
Update User Profile |
❌ |
|
Sites
操作 |
利用可能 |
Get Site Details |
✅ |
Update Site Properties |
✅ |
Get Global Navigation Links |
✅ |
Get Quick Navigation Links |
✅ |
Add Navigation Link |
✅ |
Update Navigation Link |
✅ |
Delete Navigation Link |
✅ |
Get Subsites |
✅ |
Create Subsite |
❌ |
Delete Subsite |
✅ |
Regional Settings
操作 |
利用可能 |
Get Regional Settings |
✅ |
Update Regional Settings |
❌ |
Features
操作 |
利用可能 |
Get Site Collection Features |
✅ |
Get All Site Features |
✅ |
Get Site Feature |
✅ |
Get All Site Feature |
✅ |
Activate Feature |
❌ |
Deactivate Feature |
❌ |
Lists
操作 |
利用可能 |
注意事項 |
Get All Lists |
✅ |
|
Create List |
✅ |
|
Add Site Content Type to list |
✅ |
|
Remove Content Type from list |
✅ |
|
Add Field to List Content Type |
❌ |
|
Remove Field from List Content Type |
❌ |
|
Update List |
✅ |
|
Get List Fields |
✅ |
|
Create List Field |
✅ |
基本的なシナリオのみ |
Update List Field |
✅ |
|
Delete List Field |
✅ |
|
Set List Field formatting |
❌ |
|
Set List View formatting |
❌ |
|
Delete List |
✅ |
|
List Views
操作 |
利用可能 |
Get List Views |
✅ |
Delete List View |
✅ |
Create List View |
✅ |
Update List View |
✅ |
Get View Fields |
✅ |
Add View Field |
✅ |
Remove View Field |
✅ |
Remove All View Fields |
✅ |
Move View Field |
✅ |
List Content Types
操作 |
利用可能 |
注意事項 |
Get All List Content Types |
✅ |
|
Get List Content Type |
✅ |
|
Create List Content Type |
❌ |
|
Update List Content Type |
✅ |
CTのタイトルとグループのみ変更可能 |
Delete List Content Type |
✅ |
|
List Items
操作 |
利用可能 |
Get All List Items |
✅ |
Create List Item |
✅ |
Update List Item |
✅ |
Delete List Item |
✅ |
Site Content Types
操作 |
利用可能 |
注意事項 |
Get All Site Content Types |
✅ |
|
Get Site Content Type |
✅ |
|
Create Site Content Type |
❌ |
|
Update Site Content Type |
✅ |
CTのタイトルとグループのみ変更可能 |
Delete Site Content Type |
✅ |
|
Pages
操作 |
利用可能 |
Create Modern Page |
✅ |
Delete Modern Page |
✅ |
List Modern Pages |
✅ |
Add Page Web Part |
❌ |
Delete Page Web Part |
❌ |
Move Page Web Part |
❌ |
Update Page Web Part |
❌ |
Documents
操作 |
利用可能 |
Create Document |
❌ |
Upload Document |
❌ |
Move Document |
❌ |
Copy Document |
❌ |
Taxonomy
操作 |
利用可能 |
Get Taxonomy Group |
❌ |
Create Taxonomy Label |
❌ |
Update Taxonomy Label |
❌ |
Delete Taxonomy Label |
❌ |
Search
操作 |
利用可能 |
Search within SharePoint Site |
✅ |
Authentication Options
サーバーは2つの認証方法をサポートしています。
- Client Secret Authentication - 従来のクライアントIDとシークレット。これは非推奨のアプリ専用認証で、2026年4月以降は機能しなくなります。
- Certificate Authentication - 証明書を使用したAzure ADアプリ登録を利用する、より最新の方法
Option 1: Client Secret Authentication (Will not work after April 2026)
このオプションにはSharePoint管理者ロールが必要です。
Configuration steps
⚠️ SharePointアプリを作成するには、SharePointテナント管理者またはグローバル管理者である必要があります。
Allow SharePoint-only apps
- ここからSharePoint Online Management Shellをダウンロードしてインストールします。
- PowerShellを開き、以下のコマンドを実行して、SharePoint専用アプリが有効になっていることを確認します。
Connect-SPOService -Url https://<your-tenant>-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false
Create SharePoint-only App with Client Secret
https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx
を開きます。
Generate
をクリックして、新しいクライアントIDとシークレットを作成します。
- 以下のフィールドに入力します。
- App Domain:
www.example.com
(または所有する任意のドメイン)
- Redirect URL:
http://example.com

Create
をクリックしてアプリを作成します。
Client ID
とClient Secret
の値を安全な場所にコピーしてください。後で必要になります。
Grant App Permissions
https://<your-tenant>.sharepoint.com/_layouts/15/appinv.aspx
を開きます。
App ID
フィールドにClient ID
の値を貼り付け、Lookup
をクリックします。

App Permission Request XML
フィールドに以下のXMLを貼り付けます。
<AppPermissionRequests AllowAppOnlyPolicy="true">
<AppPermissionRequest Scope="http://sharepoint/content/tenant" Right="FullControl" />
</AppPermissionRequests>
Create
をクリックし、次にTrust It
をクリックしてアプリにアクセス許可を付与します。

Option 2: Certificate Authentication
証明書ベースの認証は、クライアントシークレットよりも高いセキュリティを提供します。共有シークレットではなく、証明書を使用してアプリケーションのIDを証明します。
⚠️ このオプションには、アプリに必要なアクセス許可を付与するためのグローバル管理者ロールが必要です。
Clone the repo
git clone https://github.com/Zerg00s/server-sharepoint.git
Create Azure AD App with Certificate
クローンしたリポジトリに移動し、提供されているPowerShellスクリプトを使用して、証明書付きのAzure ADアプリを作成します。
.\Create-SPAppCertificate.ps1 -AppName "SharePoint-Server-MCP" -CertName "SharePoint-Server-MCP-Cert" -CertPassword "YourSecureP@ssw0rd!"
このスクリプトは以下を行います。
- 証明書ストアに自己署名証明書を作成します。
- Azure ADアプリケーションを登録します。
- アプリケーションに証明書を追加します。
- 必要なSharePointアクセス許可を構成します。
- 必要な設定を含む構成ファイルを生成します。
- Claude Desktopと互換性のある
claude_desktop_config.json
を出力します。
Grant Admin Consent
スクリプトを実行した後、管理者同意URLが表示されます。ブラウザで開き、グローバル管理者としてサインインして、アクセス許可の同意を付与します。
For Contributors
Build a new npm package
npm run build
npm publish
npx clear-npx-cache
npm cache clean --force
Run MCP Inspector locally
npx @modelcontextprotocol/inspector node build/src/index.js
MCP Server Context 7 Documentation for LLMs
MCP Server Context 7 Documentation for LLMs
SharePoint REST API Documentation
Local Development
- リポジトリをクローンします。
nvm use 22.14.0
npm install
claude_desktop_config.json
ファイル内のMCP設定を更新します。サンプル:
For client secret authentication (Will not work after April 2026)
{
"mcpServers": {
"sharepoint": {
"command": "node",
"args": [
"C:\\trash\\server-sharepoint\\build\\index.js"
],
"env": {
"SHAREPOINT_CLIENT_ID": "aaa2ce0f-7c97-4e51-acd9-4ac99e6831d0",
"SHAREPOINT_CLIENT_SECRET": "bbb0OFF+aWkua2NJRERUMGduMmhsWDhGUTVPUHJZLXd5dldSemNPUw==",
"M365_TENANT_ID": "22bcd981-eaa6-475f-aac3-3afca0c35261"
}
}
}
}
For certificate authentication (Recommended)
{
"mcpServers": {
"sharepoint": {
"command": "node",
"args": [
"C:\\trash\\server-sharepoint\\build\\index.js"
],
"env": {
"AZURE_APPLICATION_ID": "5bc793c7-3eb0-4b86-88bf-b464b2459c4c",
"AZURE_APPLICATION_CERTIFICATE_THUMBPRINT": "3D38D1D8AC3228CAD35E527D1105101B0B90CE86",
"AZURE_APPLICATION_CERTIFICATE_PASSWORD": "TemporaryP@ssw0rd",
"M365_TENANT_ID": "11bcd981-eaa6-475f-aac3-3afca0c35261"
}
}
}
}
- コードを変更します。
npm run build
でコードをビルドします。
- MCP Inspectorでテストします:
npx @modelcontextprotocol/inspector node build/src/index.js -y
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。