Skip to main content
Glama

Mattermost MCP Server

by pvev

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

設定

  1. このリポジトリをクローンします:

git clone https://github.com/yourusername/mattermost-mcp.git cd mattermost-mcp
  1. 依存関係をインストールします:

npm install
  1. サーバーを構成します。

    リポジトリにはプレースホルダ値が入った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 } }

    このアプローチにより、実際の資格情報はリポジトリから除外され、他のユーザーのテンプレートも維持されます。

  2. サーバーを構築します。

npm run build
  1. サーバーを実行します。

npm start

トピック監視構成

監視システムは、次のオプションで構成できます。

  • enabled (boolean): 監視が有効かどうか

  • schedule (文字列):新しいメッセージを確認するタイミングを指定するCron式(例:15分ごとに「*/15 * * * *」)

  • channels (文字列[]): 監視するチャンネル名の配列

  • topics (string[]): メッセージ内で検索するトピックの配列

  • messageLimit (数値): チェックごとに分析する最近のメッセージの数

  • notificationChannelId (文字列、オプション): 通知を送信するチャネルID。指定されていない場合は、システムは自動的にダイレクトメッセージチャネルを使用します。

  • userId (文字列、オプション): 通知に表示されるユーザーID。指定しない場合は、システムが現在のユーザーを自動的に検出します。

監視を有効にするには、 config.local.jsonファイルでenabledtrueに設定します。

手動で監視を実行する

監視プロセスを手動でトリガーするには、いくつかの方法があります。

  1. 提供されているスクリプトを使用する:

    • ./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> - チャンネルから最後のメッセージを取得します

  2. コマンドラインインターフェース (CLI) の使用:

    • サーバーの実行中に、ターミナルに次のコマンドのいずれかを入力するだけです。

      • run - 監視プロセスを実行する

      • monitor - runと同じ

      • check - runと同じ

    • その他の利用可能なコマンド:

      • help - 利用可能なコマンドを表示する

      • exit - サーバーをシャットダウンする

  3. MCPツールの使用:

    • MCPインターフェースを介してmattermost_run_monitoringツールを使用する

    • これにより、興味のあるトピックについて、設定されたすべてのチャンネルがすぐにチェックされます。

  4. コマンドラインフラグの使用:

    • --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 (文字列): 投稿先のチャンネルのID

    • message (文字列): 投稿するメッセージテキスト

  • 戻り値: メッセージ投稿の確認とID

mattermost_reply_to_thread

  • 特定のメッセージスレッドに返信する

  • 必要な入力:

    • channel_id (文字列): スレッドを含むチャネル

    • post_id (文字列): 親メッセージのID

    • message (文字列):返信テキスト

  • 返品: 返信確認とID

mattermost_add_reaction

  • メッセージに絵文字リアクションを追加する

  • 必要な入力:

    • channel_id (文字列): メッセージを含むチャネル

    • post_id (文字列): 反応するメッセージID

    • emoji_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に以下を追加します。

{ "mcpServers": { "mattermost": { "command": "node", "args": [ "/path/to/mattermost-mcp/build/index.js" ] } } }

トラブルシューティング

権限エラーが発生した場合は、次の点を確認してください。

  1. あなたの個人アクセストークンには必要な権限があります

  2. トークンは設定に正しくコピーされました

  3. MattermostのURLとチームIDは正しいです

HTTPエンドポイント

サーバーはリモート制御用の HTTP エンドポイントを公開します。

  • 実行監視: http://localhost:3456/run-monitoring

    • 監視プロセスを直ちに開始します

    • 成功/エラー情報を含むJSONレスポンスを返します

  • ステータスの確認: http://localhost:3456/status

    • サーバーと監視ステータスに関する情報を返します

    • 健康診断に役立つ

これらのエンドポイントは、curl または任意の HTTP クライアントで使用できます。

# Trigger monitoring curl http://localhost:3456/run-monitoring # Check status curl http://localhost:3456/status

ユーティリティスクリプト

実行監視http.sh

このスクリプトは、HTTP エンドポイントを介して監視プロセスをトリガーします。

./run-monitoring-http.sh

これは、監視を手動でトリガーする場合に推奨される方法です。

  • サーバーを再起動しない

  • スケジュールされた監視を妨げない

  • どの端末からでも確実に動作します

チャネルメッセージの表示.js

このスクリプトを使用すると、任意のチャネルの最新のメッセージを表示できます。

# View messages in a channel (channel name is required) node view-channel-messages.js <channel-name> # View a specific number of messages node view-channel-messages.js <channel-name> <message-count> # Example: View the last 10 messages in a channel node view-channel-messages.js general 10

スクリプトは次のように表示されます:

  • チャンネル情報(名前、目的、メッセージ総数)

  • タイムスタンプとユーザー名が付いた最新のメッセージ

  • チャンネルが存在しない場合は、利用可能なすべてのチャンネルがリストされます

分析チャンネル.js

このスクリプトは、チャネル内のメッセージに関する詳細な統計情報を提供します。

# Analyze messages in a channel (channel name is required) node analyze-channel.js <channel-name> # Analyze a specific number of messages node analyze-channel.js <channel-name> <message-count> # Example: Analyze the last 50 messages in a channel node analyze-channel.js general 50

スクリプトは次のように表示されます:

  • チャンネル情報とメタデータ

  • 合計メッセージ数(システムメッセージを含む)

  • ユーザーメッセージとシステムメッセージの内訳

  • ユーザー別のメッセージ数

  • チャンネル内の最新のメッセージ

最後のメッセージを取得する.js

このスクリプトは、チャネルから最新のメッセージのみを取得します。

# Get the last message from a channel (channel name is required) node get-last-message.js <channel-name> # Example: Get the last message from the general channel node get-last-message.js general

スクリプトは次のように表示されます:

  • 送信者のユーザーIDとユーザー名

  • メッセージのタイムスタンプ

  • メッセージの全文

ライセンス

この MCP サーバーは MIT ライセンスに基づいてライセンスされます。

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pvev/mattermost-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server