MCP Teams Server について
MCP Teams Server は、Microsoft Teams と連携する MCP サーバーで、チャネルのメッセージ読み取り、スレッドの作成と返信、メンバーへのメンションに対応しています。AI アシスタントから Teams の会話を扱いたいチーム向けです。
主な機能
- 01タイトルと本文を指定したチャネルスレッドの作成
- 02既存スレッドへの返信とユーザーへのメンション
- 03スレッド返信とチャネルメッセージの読み取り
- 04チャネルのチームメンバー一覧の取得
- 05stdio、streamable-http、sse のトランスポートに対応
活用シーン
- 01AI アシスタントによる Teams チャネルのメッセージ読み取りと議論の要約
- 02AI アシスタントを通じたチャネルでのスレッド作成とメンバーへの通知
MCP 対応
本プロジェクトは MCP サーバーであり、メッセージの読み取り・作成、スレッドへの返信、メンバーへのメンションなどの機能を MCP クライアントに提供します。既定では stdio を使用し、streamable-http でのデプロイも可能です。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e TEAMS_APP_ID -e TEAMS_APP_PASSWORD -e TEAMS_APP_TYPE -e TEAMS_APP_TENANT_ID -e TEAM_ID -e TEAMS_CHANNEL_ID -e DOCKER_HOST ghcr.io/inditextech/mcp-teams-serverTEAMS_APP_IDTEAMS_APP_PASSWORDシークレットTEAMS_APP_TYPETEAMS_APP_TENANT_IDTEAM_IDTEAMS_CHANNEL_IDDOCKER_HOSTローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ghcr.io/inditextech/mcp-teams-serverstdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Teams Server
Microsoft Teams との連携を実現する MCP(Model Context Protocol)サーバーの実装です。メッセージの読み取り、作成、返信、メンバーへのメンションが可能です。
機能
https://github.com/user-attachments/assets/548a9768-1119-4a2d-bd5c-6b41069fc522
- チャネルでタイトルと内容を指定してスレッドを開始し、ユーザーにメンションします
- メッセージへの返信やユーザーへのメンションで既存のスレッドを更新します
- スレッドの返信を読み取ります
- チャネルのチームメンバーを一覧表示します
- チャネルのメッセージを読み取ります
前提条件
- uv パッケージマネージャー
- Python 3.12
- 適切にセットアップされた Microsoft Teams アカウント
インストール
- リポジトリをクローンします:
git clone https://github.com/InditexTech/mcp-teams-server
cd mcp-teams-server
- 仮想環境を作成し、依存関係をインストールします:
uv venv
uv sync --frozen --all-extras --dev
Teams の設定
Microsoft Teams と必要な Azure リソースの設定については、こちらのドキュメントをお読みください。手順を順番に説明するガイドではありませんが、必要なものを把握するのに役立ちます。
使用方法
シェルまたは .env ファイルで、以下の環境変数を設定します。テンプレートとしてサンプルファイルを使用できます:
| キー | 説明 |
|---|---|
| TEAMS_APP_ID | MS Entra ID アプリケーション ID の UUID |
| TEAMS_APP_PASSWORD | クライアントシークレット |
| TEAMS_APP_TENANT_ID | SingleTenant の場合のテナント UUID |
| TEAM_ID | MS Teams のグループ ID またはチーム ID |
| TEAMS_CHANNEL_ID | URL エスケープされた文字を含む MS Teams チャネル ID |
サーバーを起動します:
uv run mcp-teams-server
デフォルトの MCP トランスポートは stdio です。HTTP 環境へのデプロイには streamable-http も使用できます:
uv run mcp-teams-server --transport streamable-http
古いクライアント向けに、従来の sse トランスポートも引き続き利用できます。
開発
統合テストには、以下の環境変数を設定する必要があります:
| キー | 説明 |
|---|---|
| TEST_THREAD_ID | スレッド ID のタイムスタンプ |
| TEST_MESSAGE_ID | メッセージ ID のタイムスタンプ |
| TEST_USER_NAME | テストユーザー名 |
uv run pytest -m integration
ビルド済み Docker イメージ
ghcr.io でホストされているビルド済みイメージがあります。 以下のコマンドを実行すると、このイメージをインストールできます。
docker pull ghcr.io/inditextech/mcp-teams-server:latest
Docker イメージのビルド
MCP サーバーの実行に使用できる Docker イメージがあります。以下のコマンドでビルドできます:
docker build . -t inditextech/mcp-teams-server
Docker イメージの実行
基本的な実行設定:
docker run -it inditextech/mcp-teams-server
.env ファイルの環境変数を使って実行する場合:
docker run --env-file .env -it inditextech/mcp-teams-server
Streamable HTTP トランスポートを使って実行する場合:
docker run --env-file .env -p 8000:8000 -it inditextech/mcp-teams-server --transport streamable-http
MCP Teams サーバーを使用するよう LLM をセットアップする
次のドキュメントの手順に従ってください。
変更履歴
変更内容とバージョン履歴の一覧については、CHANGELOG.mdをご覧ください。
コントリビューション
行動規範とプルリクエストの提出手順については、CONTRIBUTING.mdをご覧ください。
セキュリティ
セキュリティに関する懸念については、セキュリティポリシーをご覧ください。
ライセンス
このプロジェクトは、Apache-2.0ファイルに記載されたライセンスの下で提供されています。
© 2025 INDUSTRIA DE DISEÑO TEXTIL S.A. (INDITEX S.A.)
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。