SuperAPI AI 工具集

mattermost-mcp-host

Mattermost MCP Host 是一个将 Mattermost 聊天平台与 Model Context Protocol(MCP)服务器连接的开源集成项目。它使用基于 LangGraph 的 AI 智能体作为运行在 Mattermost 上的机器人,能够理解用户请求、调用已配置的 MCP 服务器上的工具,并在团队、频道和消息会话中直接给出响应。项目支持动态加载 MCP 工具、线程上下文记忆,并允许通过命令前缀直接与 MCP 服务器交互。

访问官网

工具介绍

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 文件。官方未提供具体收费、价格或效果承诺等信息。