mcpField
S
SharePoint MCP Server   node.js Based REST API

SharePoint MCP Server node.js Based REST API

ローカル
github.com/Zerg00s開発ツール3774 週間前に更新

SharePoint MCP Server node.js Based REST API について

SharePoint MCP Server は、SharePoint REST API を通じて SharePoint Online を操作する Node.js 製の MCP サーバーです。主に Claude Desktop での利用を想定しており、ユーザー、サイト、リスト、ページなどを扱えます。証明書とクライアントシークレットの両方の認証方式に対応しています。

主な機能

  1. 01SharePoint REST API による SharePoint Online の操作
  2. 02サイトユーザー、グループ、ナビゲーションリンクの管理
  3. 03リスト、リストビュー、フィールド、アイテムの管理
  4. 04モダンページの作成と削除
  5. 05証明書とクライアントシークレットによる認証

活用シーン

  1. 01Claude Desktop から SharePoint サイトのリスト情報を照会
  2. 02リストのフィールド、ビュー、アイテムの一括管理

MCP 対応

このプロジェクトは MCP サーバーとして、Claude Desktop などの MCP クライアントに SharePoint 関連の操作を提供します。README には各操作の利用可否が記載されています。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"server-sharepoint": {
"command": "npx",
"args": [
"-y",
"server-sharepoint"
],
"env": {
"SHAREPOINT_CLIENT_ID": "<SHAREPOINT_CLIENT_ID>",
"SHAREPOINT_CLIENT_SECRET": "<SHAREPOINT_CLIENT_SECRET>",
"SHAREPOINT_TENANT_ID": "<SHAREPOINT_TENANT_ID>"
}
}
}
}
起動コマンドnpx -y server-sharepoint
設定が必要な環境変数
SHAREPOINT_CLIENT_ID
SHAREPOINT_CLIENT_SECRETシークレット
SHAREPOINT_TENANT_ID

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
npmserver-sharepoint

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

SharePoint Online MCP サーバー 🚀

Node.js Version SharePoint REST API npx License SharePoint Online Windows Linux macOS

SharePoint MCP Server

SharePoint REST API を通じて SharePoint Online とシームレスに連携できる、最も強力な SharePoint MCP サーバーです。

この MCP サーバーは Claude Desktop アプリでの利用を想定していますが、Cline などの他の MCP クライアントでも利用できます。

目次

SharePoint 操作の対応状況

ユーザー
操作対応状況備考
サイトユーザーの一覧表示✅
サイトグループの一覧表示✅
グループメンバーの取得✅
グループメンバーの追加✅
グループメンバーの削除✅
ユーザープロファイルの取得❌/_api/SP.UserProfiles.PeopleManager
ユーザープロファイルの更新❌
サイト
操作利用可能
サイトの詳細を取得✅
サイトのプロパティを更新✅
グローバルナビゲーションリンクを取得✅
クイックナビゲーションリンクを取得✅
ナビゲーションリンクを追加✅
ナビゲーションリンクを更新✅
ナビゲーションリンクを削除✅
サブサイトを取得✅
サブサイトを作成❌
サブサイトを削除✅
地域設定
操作利用可能
地域設定を取得✅
地域設定を更新❌
機能
操作利用可能
サイトコレクションの機能を取得✅
すべてのサイト機能を取得✅
サイト機能を取得✅
すべてのサイト機能を取得✅
機能を有効化❌
機能を無効化❌
リスト
操作利用可能備考
すべてのリストを取得✅
リストを作成✅
サイトコンテンツタイプをリストに追加✅
コンテンツタイプをリストから削除✅
リストコンテンツタイプにフィールドを追加❌
リストコンテンツタイプからフィールドを削除❌
リストを更新✅
リストフィールドを取得✅
リストフィールドを作成✅基本的なシナリオのみ
リストフィールドを更新✅
リストフィールドを削除✅
リストフィールドの書式を設定❌
リストビューの書式を設定❌
リストを削除✅
リストビュー
操作利用可能
リストビューを取得✅
リストビューを削除✅
リストビューを作成✅
リストビューを更新✅
ビューフィールドを取得✅
ビューフィールドを追加✅
ビューフィールドを削除✅
すべてのビューフィールドを削除✅
ビューフィールドを移動✅
リストコンテンツタイプ
操作利用可能備考
すべてのリストコンテンツタイプを取得✅
リストコンテンツタイプを取得✅
リストコンテンツタイプを作成❌
リストコンテンツタイプを更新✅CT のタイトルとグループのみ変更
リストコンテンツタイプを削除✅
リストアイテム
操作利用可能
すべてのリストアイテムを取得✅
リストアイテムを作成✅
リストアイテムを更新✅
リストアイテムを削除✅
サイトコンテンツタイプ
操作利用可能備考
すべてのサイトコンテンツタイプを取得✅
サイトコンテンツタイプを取得✅
サイトコンテンツタイプを作成❌
サイトコンテンツタイプを更新✅CT のタイトルとグループのみ変更
サイトコンテンツタイプを削除✅
ページ
操作利用可能
モダンページを作成✅
モダンページを削除✅
モダンページを一覧表示✅
ページ Web パーツを追加❌
ページ Web パーツを削除❌
ページ Web パーツを移動❌
ページ Web パーツを更新❌
ドキュメント
操作利用可能
ドキュメントを作成❌
ドキュメントをアップロード❌
ドキュメントを移動❌
ドキュメントをコピー❌
タクソノミー
操作利用可能
タクソノミーグループを取得❌
タクソノミーラベルを作成❌
タクソノミーラベルを更新❌
タクソノミーラベルを削除❌
検索
操作利用可能
SharePoint サイト内を検索✅

認証オプション

サーバーは 2 種類の認証方式に対応しています。

  1. クライアントシークレット認証 - 従来のクライアント ID とシークレットを使用します。これは非推奨となっているアプリ専用認証で、2026 年 4 月以降は動作しません。
  2. 証明書認証 - Azure AD アプリ登録と証明書を使用する、よりモダンな方式です。
オプション 1:クライアントシークレット認証(2026 年 4 月以降は動作しません)

このオプションには SharePoint 管理者ロールが必要です。

構成手順

⚠️ SharePoint アプリを作成するには、SharePoint テナント管理者またはグローバル管理者である必要があります。

SharePoint 専用アプリを許可する
  • SharePoint Online Management Shell をこちらからダウンロードしてインストールします。
  • PowerShell を開き、次のコマンドを実行して SharePoint 専用アプリが有効になっていることを確認します。
Connect-SPOService -Url https://<your-tenant>-admin.sharepoint.com/
Set-SPOTenant -DisableCustomAppAuthentication $false
クライアントシークレットを使用した SharePoint 専用アプリの作成
  • https://<your-tenant>.sharepoint.com/_layouts/15/appregnew.aspx を開きます。
  • Generate をクリックして、新しいクライアント ID とシークレットを作成します。
  • 次のフィールドに入力します。
    • アプリのドメイン:www.example.com(または所有する任意のドメイン)
    • リダイレクト URL:http://example.com アプリの登録
  • Create をクリックしてアプリを作成します。
  • Client ID と Client Secret の値を安全な場所にコピーします。後で必要になります。
アプリのアクセス許可を付与する
  • 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 をクリックし、アプリにアクセス許可を付与します。 信頼する
オプション 2:証明書認証

証明書ベースの認証は、クライアントシークレットよりも高いセキュリティを提供します。共有シークレットの代わりに証明書を使用して、アプリケーションの ID を証明します。

⚠️ このオプションでは、アプリに必要なアクセス許可を付与するためにグローバル管理者ロールが必要です。

リポジトリをクローンする
git clone https://github.com/Zerg00s/server-sharepoint.git
証明書を使用して Azure AD アプリを作成する

クローンしたリポジトリに移動し、用意されている PowerShell スクリプトを使用して、証明書を含む Azure AD アプリを作成します。

.\Create-SPAppCertificate.ps1 -AppName "SharePoint-Server-MCP" -CertName "SharePoint-Server-MCP-Cert" -CertPassword "YourSecureP@ssw0rd!"

このスクリプトでは、次の処理を行います。

  1. 証明書ストアに自己署名証明書を作成します。
  2. Azure AD アプリケーションを登録します。
  3. 証明書をアプリケーションに追加します。
  4. 必要な SharePoint のアクセス許可を設定します。
  5. 必要な設定を含む構成ファイルを生成します。
  6. Claude Desktop と互換性のある claude_desktop_config.json を出力します。
管理者の同意を付与する

スクリプトを実行すると、管理者の同意用 URL が表示されます。ブラウザーで開き、グローバル管理者としてサインインして、アクセス許可への同意を付与します。


Node.js をインストールする

Node.js バージョン 22.14.0 以降をインストールします。

Claude Desktop をインストールして設定する

  • Claude Desktop をダウンロードしてインストールします。
  • Claude Desktop で、File > Settings > Developer の順に開きます。 ファイル > 設定
  • 「Edit Config」をクリックします。 設定
  • エディターで claude_desktop_config.json 設定ファイルを開きます。先ほど PowerShell スクリプトで生成した claude_desktop_config.json ファイルも使用できます。
  • 次の内容を設定に貼り付け、mcpServers セクションを独自の値に更新します。
証明書認証用の設定
{
  "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>"
      }
    }
  }
} 

クライアントシークレット認証用の設定(非推奨)
{
  "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 を再起動します。タスクトレイのアイコンからアプリを完全に終了してください。 Claude アプリを終了

MCP サーバーとの「会話」方法

  • Claude Desktop を開き、https://<your-tenant>.sharepoint.com/sites/Dashboard-Communication からリストの一覧を取得してください。結果は表形式で表示してください。コードは使わないでください。 のような質問をします。

結果の例


貢献者向け

新しい npm パッケージをビルドする
npm run build
npm publish
npx clear-npx-cache
npm cache clean --force
MCP Inspector をローカルで実行する
npx @modelcontextprotocol/inspector node build/src/index.js
LLM 向け MCP Server Context 7 のドキュメント

LLM 向け MCP Server Context 7 のドキュメント

SharePoint REST API ドキュメント
ローカル開発
  • リポジトリをクローンします
  • nvm use 22.14.0
  • npm install
  • claude_desktop_config.json ファイルの MCP 設定を更新します。例:

クライアントシークレット認証の場合(2026 年 4 月以降は機能しません)

{
"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"
      }
    }
  }
}

証明書認証の場合(推奨)

{
"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

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。