Mattermost MCP サーバー
Mattermost API 用の MCP サーバー。Claude や他の MCP クライアントが Mattermost ワークスペースと対話できるようにします。
特徴
この MCP サーバーは、Mattermost と対話するための次のようなツールを提供します。
トピックモニタリング
サーバーには、次の機能を備えたトピック監視システムが含まれています。
- 関心のあるトピックを含むメッセージを特定のチャネルで監視します
- 設定可能なスケジュールで実行する(cron 構文を使用)
- 関連するトピックが議論されたときに通知を送信する
- トピックが見つかったときに、指定されたチャンネルであなたをメンションします
チャンネルツール
mattermost_list_channels
: ワークスペース内のパブリックチャンネルを一覧表示するmattermost_get_channel_history
: チャンネルから最近のメッセージを取得する
メッセージツール
mattermost_post_message
: チャンネルに新しいメッセージを投稿するmattermost_reply_to_thread
: 特定のメッセージスレッドに返信するmattermost_add_reaction
: メッセージに絵文字反応を追加するmattermost_get_thread_replies
: スレッド内のすべての返信を取得する
監視ツール
mattermost_run_monitoring
: トピック監視プロセスを直ちにトリガーする
ユーザーツール
mattermost_get_users
: ワークスペース内のユーザーのリストを取得するmattermost_get_user_profile
: ユーザーの詳細なプロフィール情報を取得する
設定
- このリポジトリをクローンします:
- 依存関係をインストールします:
- サーバーを構成します。リポジトリにはプレースホルダ値が入った
config.json
ファイルが含まれています。実際の設定には、実際の認証情報を含むconfig.local.json
ファイル(gitignored)を作成してください。このアプローチにより、実際の資格情報はリポジトリから除外され、他のユーザーのテンプレートも維持されます。 - サーバーを構築します。
- サーバーを実行します。
トピック監視構成
監視システムは、次のオプションで構成できます。
enabled
(boolean): 監視が有効かどうかschedule
(文字列):新しいメッセージを確認するタイミングを指定するCron式(例:15分ごとに「*/15 * * * *」)channels
(文字列[]): 監視するチャンネル名の配列topics
(string[]): メッセージ内で検索するトピックの配列messageLimit
(数値): チェックごとに分析する最近のメッセージの数notificationChannelId
(文字列、オプション): 通知を送信するチャネルID。指定されていない場合は、システムは自動的にダイレクトメッセージチャネルを使用します。userId
(文字列、オプション): 通知に表示されるユーザーID。指定しない場合は、システムが現在のユーザーを自動的に検出します。
監視を有効にするには、 config.local.json
ファイルでenabled
をtrue
に設定します。
手動で監視を実行する
監視プロセスを手動でトリガーするには、いくつかの方法があります。
- 提供されているスクリプトを使用する:
./run-monitoring-http.sh
- サーバーを再起動せずに HTTP 経由で監視をトリガーします (推奨)./run-monitoring.sh
- 監視を有効にした新しいサーバーインスタンスを起動します./trigger-monitoring.sh
- 監視プロセスを実行して終了します(cronジョブに便利です)./view-channel-messages.js <channel-name> [count]
- チャンネル内の最後のメッセージを表示します./analyze-channel.js <channel-name> [count]
- チャネル内のメッセージ統計を分析する./get-last-message.js <channel-name>
- チャンネルから最後のメッセージを取得します
- コマンドラインインターフェース (CLI) の使用:
- サーバーの実行中に、ターミナルに次のコマンドのいずれかを入力するだけです。
run
- 監視プロセスを実行するmonitor
-run
と同じcheck
-run
と同じ
- その他の利用可能なコマンド:
help
- 利用可能なコマンドを表示するexit
- サーバーをシャットダウンする
- サーバーの実行中に、ターミナルに次のコマンドのいずれかを入力するだけです。
- MCPツールの使用:
- MCPインターフェースを介して
mattermost_run_monitoring
ツールを使用する - これにより、興味のあるトピックについて、設定されたすべてのチャンネルがすぐにチェックされます。
- MCPインターフェースを介して
- コマンドラインフラグの使用:
--run-monitoring
フラグでサーバーを起動します: GXP6- これにより、サーバーの起動直後に監視プロセスが実行されます。
- 監視プロセスが完了した後に終了するには
--exit-after-monitoring
を追加します: GXP7 - これは、cronジョブから監視プロセスを実行するのに役立ちます。
ツールの詳細
チャンネルツール
mattermost_list_channels
- ワークスペース内のパブリックチャンネルを一覧表示する
- オプション入力:
limit
(数値、デフォルト:100、最大:200):返されるチャンネルの最大数page
(数値、デフォルト:0):ページ番号
- 戻り値: IDと情報を含むチャンネルのリスト
mattermost_get_channel_history
- チャンネルから最近のメッセージを取得する
- 必要な入力:
channel_id
(文字列): チャンネルのID
- オプション入力:
limit
(数値、デフォルト:30):取得するメッセージの数page
(数値、デフォルト:0):ページ番号
- 戻り値: メッセージとその内容およびメタデータのリスト
メッセージツール
mattermost_post_message
- Mattermostチャンネルに新しいメッセージを投稿する
- 必要な入力:
channel_id
(文字列): 投稿先のチャンネルのIDmessage
(文字列): 投稿するメッセージテキスト
- 戻り値: メッセージ投稿の確認とID
mattermost_reply_to_thread
- 特定のメッセージスレッドに返信する
- 必要な入力:
channel_id
(文字列): スレッドを含むチャネルpost_id
(文字列): 親メッセージのIDmessage
(文字列):返信テキスト
- 返品: 返信確認とID
mattermost_add_reaction
- メッセージに絵文字リアクションを追加する
- 必要な入力:
channel_id
(文字列): メッセージを含むチャネルpost_id
(文字列): 反応するメッセージIDemoji_name
(文字列): コロンを除いた絵文字名
- 返品:反応確認
mattermost_get_thread_replies
- メッセージスレッド内のすべての返信を取得する
- 必要な入力:
channel_id
(文字列): スレッドを含むチャネルpost_id
(文字列): 親メッセージのID
- 戻り値: コンテンツとメタデータを含む返信のリスト
ユーザーツール
mattermost_get_users
- 基本的なプロフィール情報を持つワークスペースユーザーのリストを取得します
- オプション入力:
limit
(数値、デフォルト:100、最大:200):返されるユーザーの最大数page
(数値、デフォルト:0):ページ番号
- 戻り値: 基本プロフィールを持つユーザーのリスト
mattermost_get_user_profile
- 特定のユーザーの詳細なプロフィール情報を取得する
- 必要な入力:
user_id
(文字列): ユーザーのID
- 返されるもの: 詳細なユーザープロフィール情報
Claude Desktopでの使用
claude_desktop_config.json
に以下を追加します。
トラブルシューティング
権限エラーが発生した場合は、次の点を確認してください。
- あなたの個人アクセストークンには必要な権限があります
- トークンは設定に正しくコピーされました
- MattermostのURLとチームIDは正しいです
HTTPエンドポイント
サーバーはリモート制御用の HTTP エンドポイントを公開します。
- 実行監視:
http://localhost:3456/run-monitoring
- 監視プロセスを直ちに開始します
- 成功/エラー情報を含むJSONレスポンスを返します
- ステータスの確認:
http://localhost:3456/status
- サーバーと監視ステータスに関する情報を返します
- 健康診断に役立つ
これらのエンドポイントは、curl または任意の HTTP クライアントで使用できます。
ユーティリティスクリプト
実行監視http.sh
このスクリプトは、HTTP エンドポイントを介して監視プロセスをトリガーします。
これは、監視を手動でトリガーする場合に推奨される方法です。
- サーバーを再起動しない
- スケジュールされた監視を妨げない
- どの端末からでも確実に動作します
チャネルメッセージの表示.js
このスクリプトを使用すると、任意のチャネルの最新のメッセージを表示できます。
スクリプトは次のように表示されます:
- チャンネル情報(名前、目的、メッセージ総数)
- タイムスタンプとユーザー名が付いた最新のメッセージ
- チャンネルが存在しない場合は、利用可能なすべてのチャンネルがリストされます
分析チャンネル.js
このスクリプトは、チャネル内のメッセージに関する詳細な統計情報を提供します。
スクリプトは次のように表示されます:
- チャンネル情報とメタデータ
- 合計メッセージ数(システムメッセージを含む)
- ユーザーメッセージとシステムメッセージの内訳
- ユーザー別のメッセージ数
- チャンネル内の最新のメッセージ
最後のメッセージを取得する.js
このスクリプトは、チャネルから最新のメッセージのみを取得します。
スクリプトは次のように表示されます:
- 送信者のユーザーIDとユーザー名
- メッセージのタイムスタンプ
- メッセージの全文
ライセンス
この MCP サーバーは MIT ライセンスに基づいてライセンスされます。
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Claude や他の MCP クライアントが Mattermost ワークスペースと対話できるようにし、チャネル管理、メッセージング機能、トピック監視機能を提供する MCP サーバー。
Related MCP Servers
- AsecurityAlicenseAqualityAn MCP server that enables saving and sharing Claude Desktop conversations, allowing users to store chats privately or make them public through a web interface.Last updated -26TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that enables Claude Desktop to interact with Sanity.io content, providing tools to create, edit, list documents and get schema templates.Last updated -TypeScript
- AsecurityAlicenseAqualityAn MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.Last updated -2108195TypeScriptMIT License
- -securityFlicense-qualityAn MCP server that connects to the Resource Hub, allowing centralized configuration and management of tools and resources across different MCP environments.Last updated -2JavaScript