
Mattermost MCP Server
一个 MCP 服务器,使 Claude 和其他 MCP 客户端能够与 Mattermost 工作区交互,提供频道管理、消息传递功能和主题监控功能。
README
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
: 获取用户的详细个人资料信息
设置
- 克隆此存储库:
git clone https://github.com/yourusername/mattermost-mcp.git
cd mattermost-mcp
- 安装依赖项:
npm install
-
配置服务器:
存储库包含一个带有占位符值的
config.json
文件。 对于您的实际配置,创建一个包含您的真实凭据的config.local.json
文件(该文件已被 gitignore 忽略):{ "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 } }
这种方法可以将您的真实凭据保留在存储库之外,同时为其他人维护模板。
-
构建服务器:
npm run build
- 运行服务器:
npm start
主题监控配置
可以使用以下选项配置监控系统:
enabled
(布尔值): 是否启用监控schedule
(字符串): 用于检查新消息的时间的 Cron 表达式(例如,“*/15 * * * *”表示每 15 分钟)channels
(字符串数组): 要监控的频道名称数组topics
(字符串数组): 要在消息中查找的主题数组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
标志启动服务器:
npm start -- --run-monitoring
- 这将在服务器启动后立即运行监控过程
- 添加
--exit-after-monitoring
以在监控过程完成后退出:
npm start -- --run-monitoring --exit-after-monitoring
- 这对于从 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
:
{
"mcpServers": {
"mattermost": {
"command": "node",
"args": [
"/path/to/mattermost-mcp/build/index.js"
]
}
}
}
故障排除
如果遇到权限错误,请验证:
- 您的个人访问令牌具有必要的权限
- 令牌已正确复制到您的配置
- Mattermost URL 和团队 ID 正确
HTTP 端点
服务器公开 HTTP 端点以进行远程控制:
-
运行监控:
http://localhost:3456/run-monitoring
- 立即触发监控过程
- 返回带有成功/错误信息的 JSON 响应
-
检查状态:
http://localhost:3456/status
- 返回有关服务器和监控状态的信息
- 适用于运行状况检查
您可以使用 curl 或任何 HTTP 客户端使用这些端点:
# 触发监控
curl http://localhost:3456/run-monitoring
# 检查状态
curl http://localhost:3456/status
实用程序脚本
run-monitoring-http.sh
此脚本通过 HTTP 端点触发监控过程:
./run-monitoring-http.sh
这是手动触发监控的推荐方法,因为它:
- 不会重启服务器
- 不会干扰计划的监控
- 可以从任何终端可靠地工作
view-channel-messages.js
此脚本允许您查看任何频道中的最新消息:
# 查看频道中的消息(需要频道名称)
node view-channel-messages.js <channel-name>
# 查看特定数量的消息
node view-channel-messages.js <channel-name> <message-count>
# 示例:查看频道中的最后 10 条消息
node view-channel-messages.js general 10
该脚本将显示:
- 频道信息(名称、用途、总消息数)
- 带有时间戳和用户名的最新消息
- 如果频道不存在,它将列出所有可用频道
analyze-channel.js
此脚本提供有关频道中消息的详细统计信息:
# 分析频道中的消息(需要频道名称)
node analyze-channel.js <channel-name>
# 分析特定数量的消息
node analyze-channel.js <channel-name> <message-count>
# 示例:分析频道中的最后 50 条消息
node analyze-channel.js general 50
该脚本将显示:
- 频道信息和元数据
- 总消息数(包括系统消息)
- 用户消息与系统消息的细分
- 按用户统计的消息数
- 频道中的最新消息
get-last-message.js
此脚本仅检索频道中的最新消息:
# 获取频道中的最后一条消息(需要频道名称)
node get-last-message.js <channel-name>
# 示例:获取 general 频道中的最后一条消息
node get-last-message.js general
该脚本将显示:
- 发送者的用户 ID 和用户名
- 消息的时间戳
- 完整的消息内容
许可证
此 MCP 服务器在 MIT 许可证下获得许可。
推荐服务器

Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。