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(布尔值):是否启用监控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工具这将立即检查您感兴趣的主题的所有已配置频道
使用命令行标志:
使用
--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 许可证获得许可。