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
(布尔值):是否启用监控schedule
(字符串):用于指定何时检查新消息的 Cron 表达式(例如,每 15 分钟检查一次“*/15 * * * *”)channels
(string[]):要监视的通道名称数组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
(string): 要发布到的频道的 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
此脚本允许您查看任何频道中的最新消息:
该脚本将显示:
- 频道信息(名称、目的、消息总数)
- 带有时间戳和用户名的最新消息
- 如果该频道不存在,它将列出所有可用的频道
分析-channel.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.
MCP 服务器使 Claude 和其他 MCP 客户端能够与 Mattermost 工作区交互,提供渠道管理、消息传递功能和主题监控功能。
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