mcpField
S
Sharepoint Mcp

Sharepoint Mcp

ローカル
github.comファイル・ストレージ1232 週間前に更新

Sharepoint Mcp について

Sharepoint Mcpは、AIエージェントをMicrosoft SharePointに接続するMCPサーバーです。Office365 RESTまたはMicrosoft Graphを使い、ファイル操作、コンテンツ抽出、検索、メタデータ管理を行えます。

主な機能

  1. 01PDF、Word、Excel、テキストの読み取りと解析
  2. 02フォルダーの一覧表示、作成、削除
  3. 03ドキュメントのアップロード、ダウンロード、更新、削除
  4. 04SharePoint KQLによる検索
  5. 05ファイルメタデータの読み取りと更新
  6. 06stdioとHTTPのトランスポート

活用シーン

  1. 01SharePoint内のドキュメントを要約
  2. 02提案書を翻訳して保存
  3. 03SharePointフォルダー内のファイルを検索
  4. 04AIエージェント経由でSharePointドキュメントを管理

MCP 対応

MCPクライアントにSharePointのフォルダー、ドキュメント、検索、メタデータ操作のツールを提供します。stdioとHTTPのトランスポートに対応します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"sharepoint": {
"command": "uvx",
"args": [
"sharepoint-mcp"
],
"env": {
"SHP_ID_APP": "<SHP_ID_APP>",
"SHP_ID_APP_SECRET": "<SHP_ID_APP_SECRET>",
"SHP_TENANT_ID": "<SHP_TENANT_ID>",
"SHP_SITE_URL": "<SHP_SITE_URL>",
"SHP_DOC_LIBRARY": "<SHP_DOC_LIBRARY>"
}
}
}
}
起動コマンドuvx sharepoint-mcp
設定が必要な環境変数
SHP_ID_APPAzure AD application (client) ID
SHP_ID_APP_SECRETシークレットAzure AD client secret
SHP_TENANT_IDMicrosoft Entra (Azure AD) tenant ID
SHP_SITE_URLSharePoint site URL (e.g. https://tenant.sharepoint.com/sites/MySite)
SHP_DOC_LIBRARYSharePoint document library path

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

パッケージ
pypisharepoint-mcp1.1.1

ツール

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

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

詳細

🗂️ sharepoint-mcp

AI エージェントに Microsoft SharePoint の知識をもたらす MCP サーバー

CI PyPI version Python License: MIT Docker MCP

Microsoft SharePoint 向けの、本番環境対応の Model Context Protocol(MCP)サーバーです。
Claude Desktop、VS Code Copilot、Cursor、Continue、または MCP 対応の AI エージェントを
SharePoint に接続すれば、ファイルの読み取り、フォルダーの管理、組織のナレッジの活用が可能になります。

📚 ドキュメント · 🗺️ ロードマップ · 🐛 バグ報告 · 💡 機能リクエスト


📑 目次


🧠 sharepoint-mcp を使う理由

多くの AI エージェントが知っているのは、学習データに含まれる情報だけです。
sharepoint-mcp を使えば、エージェントは組織の実際のナレッジに リアルタイムでアクセス できます。

sharepoint-mcp がない場合sharepoint-mcp がある場合
🤷 エージェントが推測したり、誤った情報を生成したりするエージェントが実際のドキュメントを読み取る
📋 コンテンツを手作業でコピー&ペーストするエージェントがファイルを自動で取得する
🔒 ナレッジが SharePoint に閉じ込められているナレッジを AI ワークフローで活用できる
🐌 静的で一度きりの回答エージェントが推論し、書き換え、保存し直す

🚀 エージェントにできること

📖 あらゆるドキュメントを理解する
You: "Summarise the Q3 report in the Finance folder"
Agent: → Get_Document_Content("Finance", "Q3_Report.pdf")
       → Reads full extracted text
       → Returns a sharp, accurate summary
✏️ 読み取り → 推論 → 書き込み
You: "Translate the proposal to French and save it"
Agent: → Get_Document_Content → translate → Upload_Document
🗂️ ライブラリをナビゲートする
You: "What files are in the Legal/Contracts folder?"
Agent: → List_SharePoint_Documents("Legal/Contracts")
📊 対応ファイル形式
📄 形式🤖 エージェントが取得する内容
PDFすべてのページの全文
Word .docx .docドキュメント全体のコンテンツ
Excel .xlsx .xlsすべてのシートを構造化テキストとして取得
テキスト、JSON、Markdown、HTML、YAML、Pythonそのままの生データ
画像、ZIP、バイナリファイル形式と Base64

✨ 特長

特長説明
🔀デュアル API 対応Office365 REST または Microsoft Graph API を選択できます
📁フォルダー管理一覧表示、作成、削除、再帰的なツリー全体の取得ができます
📄ドキュメント管理アップロード、ダウンロード、更新、削除、検索、コンテンツの読み取りができます
🏷️メタデータ管理SharePoint リスト項目のフィールドを読み取り、更新できます
🔍スマート解析PDF/Word/Excel/テキストを自動検出します
🔎KQL 検索SharePoint 標準の KQL 検索で意味に基づいてファイルを検索できます
📂柔軟なライブラリ範囲サブフォルダーに範囲を限定することも、ライブラリのルート全体にアクセスすることもできます
🔁自動リトライSharePoint の 429/503 スロットリング時に指数バックオフを適用します
🚀デュアルトランスポートデスクトップには stdio、Docker/リモートには http を使用します
🪵構造化ログ本番環境では JSON、開発環境では色付きコンソールを使用します
🐳Docker 対応コマンド 1 つで起動できます:docker compose up -d
🛡️非 root コンテナーDocker 内で非特権ユーザーとして実行します
🩺ヘルスチェックSharePoint の実際の状態を確認する /health エンドポイントを提供します
🤖CI/CDPython 3.10・3.11・3.12・3.13 でテスト済み

⚡ クイックスタート

1️⃣ インストール
pip install sharepoint-mcp

またはソースからインストールします:

git clone https://github.com/ravikant1918/sharepoint-mcp.git
cd sharepoint-mcp && pip install -e .
2️⃣ 設定
cp .env.example .env
# Open .env and fill in your Azure AD credentials
SHP_ID_APP=your-azure-app-client-id
SHP_ID_APP_SECRET=your-azure-app-secret
SHP_TENANT_ID=your-tenant-id
SHP_SITE_URL=https://your-tenant.sharepoint.com/sites/your-site
SHP_API_TYPE=office365   # or "graph" / "graphql" for Microsoft Graph API

🔑 Azure AD を初めてお使いですか? ステップごとのガイド →をご覧ください
🔀 API を選択:SharePoint MCP はOffice365 REST API(デフォルト)と Microsoft Graph APIの両方に対応しています。API 設定ガイド →をご覧ください

オプション:サブフォルダーに範囲を限定する

デフォルトでは、サーバーはドキュメントライブラリのルート全体にアクセスします。操作対象を特定のサブフォルダーに制限するには:

# Only operate within this subfolder (omit for full library access)
SHP_DOC_LIBRARY=mcp_server

# Library name (only needed if your org renamed "Shared Documents")
# Graph API auto-detects the default drive — this is only for Office365 REST API
# SHP_LIBRARY_NAME=Shared Documents
3️⃣ 実行
# 🔍 Interactive testing with MCP Inspector
npx @modelcontextprotocol/inspector -- sharepoint-mcp

# ▶️ Run directly
sharepoint-mcp

🐳 Docker

リモート環境やクラウドで使用する場合に、最も手軽なデプロイ方法です。

📋 使用シナリオ
シナリオ A:DockerHub から最新バージョンを取得する(推奨)

最新の安定版を使用した本番環境へのデプロイに適しています:

# Step 1: Clone repository
git clone https://github.com/ravikant1918/sharepoint-mcp.git
cd sharepoint-mcp

# Step 2: Create .env file with your SharePoint credentials
cp .env.example .env
# Edit .env and fill in:
# SHP_ID_APP=your-app-id
# SHP_ID_APP_SECRET=your-secret
# SHP_TENANT_ID=your-tenant-id
# SHP_SITE_URL=https://yourcompany.sharepoint.com/sites/yoursite

# Step 3: Start container (pulls from DockerHub automatically)
docker compose up -d

# Step 4: Verify it's running
docker compose ps
curl http://localhost:8000/health

# View logs
docker compose logs -f

# Stop container
docker compose down

実行内容: アーキテクチャ(Intel/ARM)を自動検出し、DockerHub から ravikant1918/sharepoint-mcp:latest を取得します。


シナリオ B:特定のバージョンを使用する

安定性の確保やテストのために、特定のバージョンに固定します:

# Step 1: Set version via environment variable
SHAREPOINT_MCP_VERSION=v1.0.1 docker compose up -d

# Or add to .env file
echo "SHAREPOINT_MCP_VERSION=v1.0.1" >> .env
docker compose up -d

実行内容: latest ではなく、ravikant1918/sharepoint-mcp:v1.0.1 を取得します。


シナリオ C:ソースからローカルでビルドする

開発時や、ローカルでコードを変更した場合に使用します:

# Step 1: Clone and setup
git clone https://github.com/ravikant1918/sharepoint-mcp.git
cd sharepoint-mcp
cp .env.example .env
# Edit .env with your credentials

# Step 2: Build from local Dockerfile and start
docker compose up -d --build

# Step 3: Rebuild after code changes
docker compose down
docker compose up -d --build

実行内容: ローカルの Dockerfile からイメージをビルドし、ravikant1918/sharepoint-mcp:latest としてタグ付けして、コンテナーを起動します。


シナリオ D:カスタムイメージ/フォークを使用する

リポジトリをフォークし、自分の DockerHub に公開した場合:

# Use your custom image
SHAREPOINT_MCP_IMAGE=myusername/sharepoint-mcp \
SHAREPOINT_MCP_VERSION=dev \
docker compose up -d

# Or add to .env
echo "SHAREPOINT_MCP_IMAGE=myusername/sharepoint-mcp" >> .env
echo "SHAREPOINT_MCP_VERSION=dev" >> .env
docker compose up -d

実行内容: 独自のレジストリ/リポジトリから取得します。


🔧 よく使うコマンド
# Start in detached mode
docker compose up -d

# Start with live logs
docker compose up

# View logs
docker compose logs -f

# Stop container
docker compose down

# Restart container
docker compose restart

# Pull latest image
docker compose pull

# Rebuild and restart
docker compose up -d --build

# Remove everything (including volumes)
docker compose down -v

Podman を使用していますか? docker を podman に置き換えるだけで使用できます。完全に互換性があります。

Docker の環境変数
変数デフォルト説明
TRANSPORThttpstdio または http
HTTP_HOST0.0.0.0バインドアドレス
HTTP_PORT8000ポート
LOG_FORMATjsonjson または console

🔌 トランスポートモード

モード適した用途設定方法
stdioClaude Desktop、Cursor、MCP InspectorTRANSPORT=stdio (デフォルト)
httpDocker、リモートエージェント、VS Code Copilot、REST クライアントTRANSPORT=http

🔗 インテグレーション

🤖 Claude Desktop

~/Library/Application Support/Claude/claude_desktop_config.json に追加します:

{
  "mcpServers": {
    "sharepoint": {
      "command": "sharepoint-mcp",
      "env": {
        "SHP_ID_APP": "your-app-id",
        "SHP_ID_APP_SECRET": "your-app-secret",
        "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
        "SHP_TENANT_ID": "your-tenant-id",
        "SHP_DOC_LIBRARY": "my-subfolder"
      }
    }
  }
}

💡 ライブラリのルート全体にアクセスするには、SHP_DOC_LIBRARY を省略します。組織で Office365 REST API を使用していて、既定のライブラリ名を変更している場合は、SHP_LIBRARY_NAME も設定してください。

💻 VS Code Copilot(エージェントモード)
  1. Docker 経由または TRANSPORT=http sharepoint-mcp でサーバーを起動します
  2. ワークスペースに .vscode/mcp.json を作成します:
{
  "servers": {
    "sharepoint": {
      "url": "http://localhost:8000/mcp/",
      "type": "http"
    }
  }
}
  1. Copilot Chat を開き、エージェントモードに切り替えると、14 個の SharePoint ツールを利用できます。

⚠️ 末尾のスラッシュが重要です — URL の末尾は /mcp/ でなければなりません(/mcp ではありません)。

⌨️ Cursor / Continue

MCP 設定に追加します(stdio トランスポートを使用):

{
  "mcpServers": {
    "sharepoint": {
      "command": "sharepoint-mcp",
      "env": {
        "SHP_ID_APP": "your-app-id",
        "SHP_ID_APP_SECRET": "your-app-secret",
        "SHP_SITE_URL": "https://your-tenant.sharepoint.com/sites/your-site",
        "SHP_TENANT_ID": "your-tenant-id"
      }
    }
  }
}

🛠️ 14 個のすべてのツール

📁 フォルダー管理
ツール機能
List_SharePoint_Folders📋 ディレクトリ内のすべてのサブフォルダーを一覧表示します
Get_SharePoint_Tree🌳 フォルダーとファイルの完全な再帰ツリーを取得します
Create_Folder➕ 新しいフォルダーを作成します
Delete_Folder🗑️ 空のフォルダーを削除します
📄 ドキュメント管理
ツール機能
List_SharePoint_Documents📋 メタデータ付きですべてのファイルを一覧表示します
Search_SharePoint🔎 KQL クエリを使用してドキュメントを検索します
Get_Document_Content📖 ファイルの内容を読み取り、解析します(PDF/Word/Excel/テキスト)
Upload_Document⬆️ 文字列または Base64 としてファイルをアップロードします
Upload_Document_From_Path📂 ローカルファイルを直接アップロードします
Update_Document✏️ 既存のファイルの内容を上書きします
Delete_Document🗑️ ファイルを完全に削除します
Download_Document⬇️ ファイルをローカルファイルシステムにダウンロードします
🏷️ メタデータ管理
ツール機能
Get_File_Metadata🔍 SharePoint リスト項目のすべてのフィールドを取得します
Update_File_Metadata✏️ メタデータフィールドを更新します

⚙️ 完全な設定リファレンス

変数必須デフォルト説明
SHP_ID_APP✅Azure AD アプリのクライアント ID
SHP_ID_APP_SECRET✅Azure AD クライアントシークレット
SHP_TENANT_ID✅Microsoft テナント ID
SHP_SITE_URL✅SharePoint サイトの URL
SHP_API_TYPEoffice365office365、graph、または graphql
SHP_LIBRARY_NAMEShared Documentsライブラリ名(Office365 REST のみ。Graph は自動検出)
SHP_DOC_LIBRARY(空 = ライブラリ全体)サブフォルダーの範囲(例:mcp_server)。空の場合はライブラリ全体
SHP_MAX_DEPTH15ツリーの最大深度
SHP_MAX_FOLDERS_PER_LEVEL1001 回のバッチで取得するフォルダー数
SHP_LEVEL_DELAY0.5ツリーの各階層間の遅延(秒)
TRANSPORTstdiostdio または http
HTTP_HOST0.0.0.0HTTP のバインド先ホスト
HTTP_PORT8000HTTP ポート
LOG_LEVELINFODEBUG、INFO、WARNING、ERROR
LOG_FORMATconsoleconsole または json

⚠️ 制限事項

制限事項詳細
単一サイトサーバーインスタンスごとに 1 つの SharePoint サイトに接続します(v2.0 で複数サイトに対応予定)
同期クライアント同期型の SharePoint REST API 呼び出しを使用します(非同期クライアントは v1.3 で対応予定)
共有なし共有リンクはまだ作成できません(v1.1 で対応予定)
大容量ファイル非常に大きなファイルでは、コンテンツ抽出中にメモリ制限に達する場合があります
レート制限SharePoint のスロットリング(429/503)には自動再試行で対応しますが、大量の操作が継続すると遅くなる場合があります

🔧 トラブルシューティング

認証エラー

問題: Missing or invalid SharePoint credentials
解決方法: 必須の環境変数 4 つがすべて設定されていることを確認します。

echo $SHP_ID_APP $SHP_ID_APP_SECRET $SHP_TENANT_ID $SHP_SITE_URL
接続の問題(HTTP トランスポート)

問題: エージェントが MCP サーバーに接続できない
解決方法:

  1. サーバーが実行中であることを確認します:curl http://localhost:8000/mcp/
  2. URL の末尾が /mcp/ であることを確認します(末尾のスラッシュが必要です)
  3. ポートがファイアウォールによってブロックされていないことを確認します
Docker コンテナが正常でない

問題: podman ps / docker ps に (unhealthy) と表示される
解決方法: コンテナのログでエラーを確認します。

docker logs sharepoint-mcp
デバッグログ

LOG_LEVEL=DEBUG を設定して、詳細な出力を有効にします。

LOG_LEVEL=DEBUG sharepoint-mcp

Docker の場合は、.env ファイルまたは docker-compose.yml に追加します。

LOG_LEVEL=DEBUG
LOG_FORMAT=console
権限エラー

問題: SharePoint から Access denied が返されます
解決策:

  1. Azure AD アプリに必要な API 権限が付与されていることを確認します
  2. (組織で必要な場合)管理者の同意が付与されていることを確認します
  3. SHP_SITE_URL が、アプリにアクセス権のあるサイトを指していることを確認します

🧪 開発

git clone https://github.com/ravikant1918/sharepoint-mcp.git
cd sharepoint-mcp
pip install -e ".[dev]"

make test      # run all tests
make inspect   # 🔍 launch MCP Inspector
make check     # quick import sanity check
make clean     # 🧹 remove caches

📚 ドキュメント

📄 ドキュメント📝 説明
⚡ はじめにセットアップの完全ガイド
⚙️ 設定すべての環境変数
🛠️ ツールリファレンスツールのパラメーターの詳細
🏛️ アーキテクチャ設計とレイヤー図
🔑 Azure のセットアップAzure AD アプリ登録ガイド
🗺️ ロードマップ今後予定されている機能
📅 変更履歴バージョン履歴

🤝 コントリビューション

コントリビューションを歓迎します!docs/contributing.md と 行動規範 をお読みください。

  1. 🍴 リポジトリをフォークします
  2. 🌿 ブランチを作成します:git checkout -b feat/my-tool
  3. ✅ テストを追加します:make test
  4. 📬 プルリクエストを作成します

🔒 セキュリティ

脆弱性を発見しましたか?公開の Issue は作成しないでください。
GitHub Security Advisories から非公開で報告するか、SECURITY.md をご覧ください。


MIT ライセンス © 2026 Ravi Kant

⭐ このプロジェクトが役に立ったら、GitHub でスターを付けてください!

コメント

MCP は初めてですか?

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

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