Mattermost MCP Host 是一个 Mattermost 集成工具,用来连接 Model Context Protocol(MCP)服务器,并借助基于 LangGraph 的 AI 智能体在 Mattermost 中与用户交互、执行工具。它解决的问题是:让用户可以直接在 Mattermost 团队和频道中,通过聊天或命令使用各种 MCP 服务器提供的能力。
用途方面,它适合需要在团队沟通环境中集成 AI 智能体与外部工具的场景,例如在支持频道中让机器人搜索已有 issue 和 PR,并在没有找到时创建新 issue;或者让机器人搜索互联网并将结果发布到频道。
主要能力包括:
- LangGraph Agent 集成:使用 LangGraph 智能体理解用户请求并组织响应。
- MCP 服务器集成:连接 mcp-servers.json 中定义的多个 MCP 服务器。
- 动态工具加载:自动发现已连接 MCP 服务器上的工具,并将其转换为 LangChain 结构化工具供 AI 智能体使用。
- 线程感知对话:在 Mattermost 消息线程中维护对话上下文,保证交互连贯。
- 智能工具使用:AI 智能体可以自主决定何时使用可用工具,包括连续调用多个工具。
- MCP 能力发现:用户可以通过直接命令列出可用的服务器、工具、资源和提示词。
- 直接命令接口:使用命令前缀(默认 #)直接与 MCP 服务器交互。
- 可配置 LLM 后端:通过环境变量支持多个 AI 提供商(默认 Azure OpenAI,也支持 OpenAI、Anthropic Claude、Google Gemini)。
使用方式:
- 克隆仓库:git clone <repository-url> 然后 cd mattermost-mcp-host
- 安装:推荐使用 uv 包管理器。安装 uv 后激活虚拟环境 source .venv/bin/activate,再执行 uv sync;安装开发依赖可使用 uv sync --dev --all-extras。
- 配置环境:复制 .env.example 并填写,或在项目根目录创建 .env 文件。需要设置 Mattermost 地址、机器人令牌、团队名、频道名,以及 LLM 配置(如 DEFAULT_PROVIDER、AZURE_OPENAI_ENDPOINT、AZURE_OPENAI_API_KEY、AZURE_OPENAI_DEPLOYMENT 等)。可选配置其他提供商(OPENAI_API_KEY、ANTHROPIC_API_KEY、GOOGLE_API_KEY)和命令前缀 COMMAND_PREFIX。
- 配置 MCP 服务器:编辑 src/mattermost_mcp_host/mcp-servers.json,可参考 mcp-servers-example.json。根据服务器配置,可能需要在系统中安装 npx、uvx、docker 并加入 PATH。
- 启动集成:运行 mattermost-mcp-host。
- 前置条件:uv 包管理器、Mattermost 服务器实例、具有 API 令牌的 Mattermost 机器人账号、可访问的 LLM API(Azure OpenAI)、在 mcp-servers.json 中配置一个或多个 MCP 服务器。使用 Tavily 网络搜索需要在 .env 中提供 TAVILY_API_KEY。
在 Mattermost 中的使用:
- 直接聊天:在配置的频道中或与机器人聊天,AI 智能体会按需使用工具,并在消息线程中保持上下文。
- 直接命令(默认前缀 #):
- #help:显示帮助信息。
- #servers:列出已配置并连接的 MCP 服务器。
- #<server_name> tools:列出指定服务器的可用工具。
- #<server_name> call <tool_name> <json_arguments>:以 JSON 字符串参数调用指定服务器上的工具,例如 #my-server call echo '{"message": "Hello MCP!"}'。
- #<server_name> resources:列出指定服务器的可用资源。
- #<server_name> prompts:列出指定服务器的可用提示词。
Mattermost 设置方面,需要创建机器人账号(Integrations > Bot Accounts > Add Bot Account),保存访问令牌到 .env,并授予所需权限(如 create_direct_channel),然后将机器人加入团队和频道。
限制与注意事项:运行依赖 Mattermost 服务器、机器人令牌、LLM API 访问以及已配置的 MCP 服务器;部分 MCP 服务器可能需要 npx、uvx、docker 等工具。故障排查时可检查 Mattermost 连接、机器人令牌权限、团队/频道名、API 密钥与配额、网络访问、MCP 服务器日志与配置、依赖和环境变量。项目采用 MIT 许可证,更多信息见仓库中的 LICENSE 文件。官方未提供具体收费、价格或效果承诺等信息。