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: ユーザーの詳細なプロフィール情報を取得する
Related MCP server: Tembo MCP Server
設定
このリポジトリをクローンします:
依存関係をインストールします:
サーバーを構成します。
リポジトリにはプレースホルダ値が入った
config.jsonファイルが含まれています。実際の設定には、実際の認証情報を含むconfig.local.jsonファイル(gitignored)を作成してください。{ "mattermostUrl": "https://your-mattermost-instance.com/api/v4", "token": "your-personal-access-token", "teamId": "your-team-id", "monitoring": { "enabled": false, "schedule": "*/15 * * * *", "channels": ["town-square", "off-topic"], "topics": ["tv series", "champions league"], "messageLimit": 50 } }このアプローチにより、実際の資格情報はリポジトリから除外され、他のユーザーのテンプレートも維持されます。
サーバーを構築します。
サーバーを実行します。
トピック監視構成
監視システムは、次のオプションで構成できます。
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ツールを使用するこれにより、興味のあるトピックについて、設定されたすべてのチャンネルがすぐにチェックされます。
コマンドラインフラグの使用:
--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 ライセンスに基づいてライセンスされます。