使用说明
项目简介
Mattermost MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在将 Mattermost 平台的消息数据和搜索能力以标准化的方式提供给大型语言模型(LLM)客户端。通过此服务器,LLM 应用可以方便地访问 Mattermost 中的频道消息,并进行搜索,从而实现更丰富的上下文感知和功能扩展。
主要功能点
- Mattermost 数据桥梁: 连接 Mattermost API,将 Mattermost 的信息转化为 MCP 资源。
- 工具 (Tool) 功能: 提供 'mattermost' 工具,允许 LLM 客户端检索 Mattermost 频道的消息,支持按频道和消息数量进行检索,并能根据关键词进行搜索。
- Prompt 模板 (Prompt) 功能: 提供 'mattermost' Prompt,允许 LLM 客户端以用户角色的形式获取 Mattermost 消息,用于构建上下文对话。
- 多种传输协议支持: 支持 SSE (Server-Sent Events) 和 Standard I/O 两种 MCP 传输协议,满足不同客户端的需求。
- 灵活的配置: 允许通过环境变量配置 Mattermost 服务器地址、认证 token、监控的团队和频道等信息。
安装步骤
-
克隆仓库:
git clone https://github.com/kakehashi-inc/mcp-server-mattermost.git cd mcp-server-mattermost -
安装依赖:
npm install -
配置环境变量:
- 复制 '.env.example' 文件并重命名为 '.env'。
- 根据 '.env' 文件中的说明,配置以下必要的环境变量:
- 'MCP_PORT': SSE 传输模式的端口号 (默认为 8201)。
- 'MATTERMOST_ENDPOINT': 你的 Mattermost 服务器 URL。
- 'MATTERMOST_TOKEN': 你的 Mattermost 认证 Token。
- 'MATTERMOST_TEAM_ID': 要监控的 Mattermost 团队 ID。
- 'MATTERMOST_CHANNELS': 要监控的 Mattermost 频道名称列表,用逗号分隔。
- 你可以选择使用 'dotenvx encrypt' 命令加密 '.env' 文件以提高安全性。
-
构建服务器:
npm run build
服务器配置
为了让 MCP 客户端连接到 Mattermost MCP 服务器,你需要提供服务器的启动配置信息。以下是两种传输模式的配置示例:
SSE 传输模式 (默认)
{ "serverName": "mattermost-mcp-server", "command": "npm start", "args": [] }
Stdio 传输模式
{ "serverName": "mattermost-mcp-server", "command": "npm start", "args": ["--", "--stdio"] }
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,通常为 'npm start'。
- 'args': 传递给启动命令的参数。
- SSE 模式不需要额外参数,使用空数组 '[]'。
- Stdio 模式需要传递 '--stdio' 参数,使用 '["--", "--stdio"]'。
基本使用方法
-
启动服务器:
- SSE 模式 (默认): 运行 'npm start' 命令启动服务器。服务器将监听在配置文件中 'MCP_PORT' 指定的端口(默认为 8201)。
- Stdio 模式: 运行 'npm start -- --stdio' 命令启动服务器。服务器将通过标准输入/输出与客户端通信。
-
配置 MCP 客户端:
- 在你的 MCP 客户端应用中,配置连接到 Mattermost MCP 服务器。你需要指定服务器的传输协议(SSE 或 Stdio)、服务器地址(对于 SSE 模式)或启动命令(对于 Stdio 模式),以及上面提供的服务器配置信息。
-
使用 'mattermost' 工具和 Prompt:
- 通过 MCP 客户端,你可以调用 'mattermost' 工具来检索 Mattermost 消息。工具的具体参数请参考代码仓库中的 'src/mattermost/mcp.tool.ts' 文件。
- 你也可以使用 'mattermost' Prompt 来生成包含 Mattermost 消息的用户 Prompt,用于 LLM 的上下文输入。Prompt 的具体参数请参考 'src/mattermost/mcp.prompt.ts' 文件。
示例:使用 'mattermost' 工具获取消息
假设你想使用 'mattermost' 工具获取特定频道的消息,你需要在 MCP 客户端中构造一个调用工具的请求,例如:
{ "jsonrpc": "2.0", "method": "Tool.mattermost", "params": { "channels": ["your_channel_id"], "limit": 20 }, "id": "1" }
这个请求会指示 Mattermost MCP 服务器从 'your_channel_id' 频道获取最多 20 条最新的消息,并将结果返回给客户端。
注意: 请务必仔细阅读代码仓库中的 'README.md' 文件和代码注释,以获取更详细的配置和使用信息。
信息
分类
通信与社交