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
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 4 months ago26TypeScriptMIT 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 2 months agoTypeScript
- AsecurityAlicenseAqualityAn MCP server that enables Claude to interact with Twitter, allowing for posting tweets and searching Twitter content.Last updated a day ago265202TypeScriptMIT 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 3 months ago2JavaScript