mcpField
M
Microsoft 365 SharePoint

Microsoft 365 SharePoint

ローカル
github.com/mindstoneファイル・ストレージ13今日更新

Microsoft 365 SharePoint について

Microsoft Graph 経由でサイト、ライブラリ、ページ、リスト、ファイルにアクセスする Microsoft 365 SharePoint 向け MCP サーバーです。コンテンツの検索に加え、ホスト管理の Microsoft OAuth 認証情報を使った SharePoint 項目の変更にも対応します。

主な機能

  1. 01サイトの検索とライブラリの閲覧
  2. 02ページ、リスト、ファイルの読み取り
  3. 03SharePoint コンテンツの検索
  4. 04ファイルのアップロード、移動、共有
  5. 05サイトページの作成と公開
  6. 06リスト項目とメタデータの管理

活用シーン

  1. 01複数のサイトやライブラリから文書を検索
  2. 02SharePoint ページやリスト項目を読む
  3. 03共有リンクの作成や権限の更新
  4. 04ファイル、ページ、リスト項目の編集

MCP 対応

SharePoint の検索、読み取り、共有、変更などを行う 46 個のツールを MCP クライアントに公開します。ホスト管理の Microsoft OAuth 認証情報を使用し、専用ツールで SharePoint の追加同意を要求します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"mindstone-mcp-server-microsoft-sharepoint": {
"command": "npx",
"args": [
"-y",
"@mindstone/mcp-server-microsoft-sharepoint"
],
"env": {
"MS_CLIENT_ID": "<MS_CLIENT_ID>",
"MS_CONFIG_DIR": "<MS_CONFIG_DIR>",
"MS_ACCOUNT_EMAIL": "<MS_ACCOUNT_EMAIL>",
"MS_MCP_PACKAGE_ID": "<MS_MCP_PACKAGE_ID>",
"MICROSOFT_REQUEST_TIMEOUT_MS": "<MICROSOFT_REQUEST_TIMEOUT_MS>"
}
}
}
}
起動コマンドnpx -y @mindstone/mcp-server-microsoft-sharepoint
設定が必要な環境変数
MS_CLIENT_IDMicrosoft Entra (Azure AD) application client ID
MS_CONFIG_DIRPath to the per-user Microsoft config directory (credentials/, accounts.json)
MS_ACCOUNT_EMAILAccount email when running in multi-account per-instance mode (falls back to the first account in accounts.json)
MS_MCP_PACKAGE_IDLogical package ID surfaced in error responses
MICROSOFT_REQUEST_TIMEOUT_MSOverride the upstream Microsoft Graph request timeout in milliseconds (max 300000 = 5 min)

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

パッケージ
npm@mindstone/mcp-server-microsoft-sharepoint0.2.1

ツール

46

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

@mindstone/mcp-server-microsoft-sharepoint

npm version License: FSL-1.1-MIT

Microsoft 365 SharePoint MCP サーバーです。サイトの検出、ドキュメントライブラリの閲覧、ページやリストの読み取り、コンテンツの検索、Microsoft Graph API を介した SharePoint のファイル/リストの変更を行えます。

コホート形式の SharePoint MCP です。独自の authenticate_sharepoint ツールを備えており、ホストからコホートの基本的な Microsoft 365 OAuth の権限に加えて、段階的に Sites.Read.All の同意を要求できます。

ステータス

  • バージョン: 0.2.1 · npm
  • 認証: OAuth(ホストが調整する authenticate_sharepoint による段階的な同意)(MS_CLIENT_ID)
  • ツール: 46(認証 + サイト、ライブラリ、ページ、リスト、メタデータ、検索、変更)
  • サーフェス: cloud-api
  • 機械可読情報: STATUS.json
  • 共有ライブラリ: @mindstone/mcp-server-microsoft-shared

このプロジェクトの目的

2026 年 5 月にこれを移植した時点では、Microsoft 独自の Graph MCP のラインアップに、単独の SharePoint サーバーはまだ含まれていませんでした。また、当時のコミュニティ製の選択肢は、クロステナントのシナリオで SharePoint に必要な段階的同意フローを省略しているか、SharePoint を独立したログイン対象として扱っていました。そのため、コネクターごとに個別の OAuth 認証を行い、更新トークンもそれぞれ保存していました。そこで、MindstoneRebel に含まれていたコネクターを 1:1 で移植し、Microsoft 365 の同じ 5 つのコネクター(メール、カレンダー、ファイル、Teams、SharePoint)で、1 組の認証情報と、トークンの永続化およびリクエストのタイムアウト処理に使う 1 つの共有ライブラリパッケージを共有できるようにしました。SharePoint はコホートの authenticate_microsoft_account とは別に、独自の authenticate_sharepoint ツールを宣言します。これにより、既存のメール/カレンダー/ファイル/Teams のセッションに影響を与えずに、ホストから追加の Sites.Read.All スコープを要求できます。

やり取りの例

「Strategy チームのサイトで Q3 OKR のドキュメントを見つけて、チーム全員が使える読み取り専用の共有リンクを作成してください。」

ホストが呼び出すツール:

  1. search_sharepoint — Strategy サイトに絞って Q3 OKR を検索し、一致するアイテムを返します。
  2. create_sharing_link — そのアイテムに対して、読み取り専用、組織全体のスコープで共有リンクを作成します。

応答(抜粋):

{
  "match": {
    "siteId": "example.sharepoint.com,...",
    "name": "Q3-OKRs.docx",
    "webUrl": "https://example.sharepoint.com/sites/Strategy/..."
  },
  "share": {
    "type": "view",
    "scope": "organization",
    "webUrl": "https://example.sharepoint.com/:w:/r/sites/Strategy/.../EZk..."
  }
}

必要条件

  • Node.js 20+
  • npm
  • Microsoft OAuth フローを実行し、アカウントごとのトークンファイルを ${MS_CONFIG_DIR}/credentials/${sanitised-email}.token.json に、${MS_CONFIG_DIR}/accounts.json のインデックスを作成するホストアプリケーション。このサーバーはそれらのファイルを読み込みますが、OAuth 自体は開始しません。

ワンクリックインストール

Cursor に追加 VS Code に追加 VS Code Insiders に追加

ボタンをクリックすると、ホストから次の項目を入力するよう求められます:MS_CLIENT_ID、MS_CONFIG_DIR、MS_MCP_PACKAGE_ID、MICROSOFT_REQUEST_TIMEOUT_MS。

Claude Desktop / Claude Code / Goose / Continue.dev の手動設定(Microsoft 365 SharePoint)
{
  "mcpServers": {
    "Microsoft 365 SharePoint": {
      "command": "npx",
      "args": [
        "-y",
        "@mindstone/mcp-server-microsoft-sharepoint"
      ],
      "env": {
        "MS_CLIENT_ID": "",
        "MS_CONFIG_DIR": "",
        "MS_MCP_PACKAGE_ID": "Microsoft365SharePoint",
        "MICROSOFT_REQUEST_TIMEOUT_MS": "60000"
      }
    }
  }
}

クイックスタート

インストールとビルド
cd <path-to-repo>/connectors/microsoft-sharepoint
npm install
npm run build
npx(公開後に一度実行)
npx -y @mindstone/mcp-server-microsoft-sharepoint
ローカル
node dist/index.js

設定

このサーバーは、Microsoft 365 の OAuth フローを管理するホストアプリケーションと連携して動作します。ホストが認証情報をディスクに書き込み、このサーバーがそれを読み取ります。

必須の環境変数
名前説明
MS_CLIENT_IDMicrosoft Entra(Azure AD)アプリケーションのクライアント ID。
MS_CONFIG_DIRユーザーごとの Microsoft 設定ディレクトリ(credentials/、accounts.json)のパス。
任意の環境変数
名前説明デフォルト
MS_ACCOUNT_EMAIL複数アカウントのインスタンス別モードで実行する場合のアカウントメールアドレス。accounts.json 内の最初のアカウント。
MS_MCP_PACKAGE_IDエラーレスポンスに表示される論理パッケージ ID。Microsoft365SharePoint
MICROSOFT_REQUEST_TIMEOUT_MSMicrosoft Graph リクエストのタイムアウトを上書きします(最大 300000 ms)。60000
MICROSOFT_DISABLE_REFRESH1 に設定すると、このサーフェスでのトークン更新を無効にします。ツールは構造化された auth_required レスポンスを返して停止し、ホストが再認証を実行できるようにします。クラウドサーフェスではこれを 1 に設定します。未設定

ホスト設定の例

Claude Desktop / Cursor
{
  "mcpServers": {
    "Microsoft365SharePoint": {
      "command": "npx",
      "args": ["-y", "@mindstone/mcp-server-microsoft-sharepoint"],
      "env": {
        "MS_CLIENT_ID": "your-entra-application-client-id",
        "MS_CONFIG_DIR": "/absolute/path/to/microsoft-config"
      }
    }
  }
}

まず @mindstone/mcp-server-microsoft-mail の authenticate_microsoft_account でサインインして基本セッションを確立し、その後、このサーバーの authenticate_sharepoint を呼び出して、追加の SharePoint Sites.Read.All スコープを要求します。

ローカル開発(npm 公開は不要)
{
  "mcpServers": {
    "Microsoft365SharePoint": {
      "command": "node",
      "args": ["<path-to-repo>/connectors/microsoft-sharepoint/dist/index.js"],
      "env": {
        "MS_CLIENT_ID": "your-entra-application-client-id",
        "MS_CONFIG_DIR": "/absolute/path/to/microsoft-config"
      }
    }
  }
}

ツール(46)

ツール説明
authenticate_sharepointSharePoint の増分同意(Sites.Read.All)を要求します。
list_sharepoint_sites、get_sharepoint_siteSharePoint サイトを検出して調査します。
list_site_document_libraries、list_library_files、get_library_fileライブラリとアイテムを閲覧します。
download_library_file、read_library_text_file、search_library_filesライブラリのコンテンツを読み取り、検索します。
list_file_versionsライブラリファイルのバージョン履歴を一覧表示します。
upload_library_file、upload_library_file_binary、create_library_folder、delete_library_item、move_library_item、copy_library_item、rename_library_item、create_sharing_linkライブラリのアイテムを変更して共有します(テキストのアップロード、再開可能なセッションを介したバイナリ/大容量ファイルのアップロード)。
list_item_permissions、invite_item_collaborators、revoke_item_permissionアイテムごとの共有アクセス許可を管理します(付与状況の一覧表示、特定のユーザーの招待、アクセス権の取り消し)。
list_site_pages、read_site_pageSharePoint ページを閲覧して読み取ります。
create_site_page、update_site_page、publish_site_pageページを作成します。簡単な HTML コンテンツを含む下書きの作成、メタデータの更新、公開に対応しています。
list_site_lists、list_list_items、get_list_item、create_list_item、update_list_item、delete_list_itemリストアイテムを閲覧、変更します。
list_list_columns、create_site_listリストの列スキーマを読み取り、列を指定して新しいリストを作成します。
search_sharepointサイト、ライブラリ、リスト、コンテンツ全体を検索します。
list_subsites、get_recent_files、get_library_treeサイトの検出と階層の表示を行います。
get_file_metadata、update_file_metadataSharePoint のカスタムメタデータフィールドを読み取り、更新します。
get_site_drive、list_site_items、get_site_item、get_site_list、get_site_by_path、get_sites_deltaサイト、リスト、ドライブを調査するための追加 API です。

セキュリティに関する注意

  • authenticate_sharepoint は SharePoint 固有の増分同意設定ツールです。それ以外のツール群の基本認証は、@mindstone/mcp-server-microsoft-mail の authenticate_microsoft_account によって行われます。
  • 手動のエラーペイロードには、既存の auth_required と成功時の形式を維持しつつ、復旧用フィールド action_required と next_step が含まれます。
  • 同梱されていた SharePoint ページコンテンツのサイレントフォールバックは削除されました。ハンドラーのエラーは、古いページ本文を返すのではなく、実際の失敗を表面化させます。
  • ツールごとの Graph 呼び出しは、.options({signal}) を介して、呼び出し元とツール群それぞれのタイムアウトシグナルを合成したシグナルのもとで実行されます。

ライセンス

FSL-1.1-MIT — Functional Source License, Version 1.1。将来的に MIT ライセンスとなります。競合しない用途では無料で使用でき、LICENSE に記載されたコンバーター日付に MIT ライセンスへ切り替わります。

コメント

MCP は初めてですか?

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

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