Token导航 LogoToken导航TokenDH.com
Rocketchat Reader MCP logo
办公协作stdio官方级别未说明来源级核验

Rocketchat Reader MCP

MCP Server

RocketChat MCP for LibreChat 是一个允许用户在Rocket.Chat工作区中搜索、检索和摘要消息的服务,同时支持标记房间为已读。

工具数

12

提示词数

0

GitHub Stars

0

资源数

0
PythonClaude搜索Claude DesktopClaudeCursor

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

SufiSR

提供方

SufiSR

最后核验

2026/5/17 20:19

运行时

Python

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

python rocketchat.py

详细介绍

RocketChat MCP for LibreChat

主控程序 服务器允许 Librechat 用户从他们的Rocket搜索、检索和总结消息。聊天工作区——并将房间标记为已读。

用户可以做什么:

  • 总结一段时间内的渠道或DM(“从上周开始了解#账户管理”)
  • 在所有房间中搜索对某个主题的提及(“唐纳德·特朗普在哪里被提及?”)
  • 阅读与同事的DM对话
  • 检查并阅读所有房间的未读消息
  • 将房间标记为已读(单人房或一次全部)
  • 查找用户信息和房间列表
  • 对任何日期(“上周一”、“昨天”、“2天前”)使用自然语言——不需要ISO 8601

什么是故意禁用: 发送消息和创建频道。

______________________________________________________________________

建筑

LibreChat user
    │  POST /mcp
    │  Headers: X-RocketChat-User-Id, X-RocketChat-Auth-Token
    ▼
rocketchat-mcp  (Docker, port 3011)
    │  ROCKETCHAT_SERVER_URL from env (fixed by admin)
    │  auth token from request header (per user)
    ▼
Rocket.Chat server

凭证分为两层:

层级内容地点
管理员服务器URLROCKETCHAT_SERVER_URL env变量 docker-compose.yaml --设置一次,适用于所有用户
用户用户ID+身份验证令牌librechat customUserVars → 每次调用时作为请求标头发送

每个用户都使用自己的个人访问令牌进行身份验证。服务器URL永远不是用户可配置的(防止重定向到任意服务器)。

______________________________________________________________________

设置

1.部署MCP服务器

编辑 docker-compose.yaml 并设置你的火箭。聊天服务器URL:

environment:
  MCP_TRANSPORT: "streamable-http"
  MCP_PORT: "3011"
  MCP_HOST: "0.0.0.0"
  ROCKETCHAT_SERVER_URL: "https://chat.yourcompany.com"   # :3011/mcp`.

### 2.配置库

将以下代码块添加到LibreChat配置文件中 `mcpServers:`。复制自 `librechat.example.yaml` 或直接粘贴:

mcpServers: rocketchat: title: "Rocket.Chat" description: "Search and summarize your Rocket.Chat channels and DMs" type: streamable-http # Adjust to match your deployment (host.docker.internal if LibreChat is also in Docker) url: "http://host.docker.internal:3011/mcp" headers: X-RocketChat-User-Id: "{{ROCKETCHAT_USER_ID}}" X-RocketChat-Auth-Token: "{{ROCKETCHAT_AUTH_TOKEN}}" customUserVars: ROCKETCHAT_USER_ID: title: "Rocket.Chat User ID" description: > Your personal Rocket.Chat User ID. Find it under My Account → Profile, or ask your admin. ROCKETCHAT_AUTH_TOKEN: title: "Rocket.Chat Auth Token" description: > Your personal Rocket.Chat authentication token. Create one under My Account → Personal Access Tokens → Add New Token.


### 3.用户在LibreChat中设置凭据

当用户首次使用Rocket时。LibreChat中的聊天工具,会提示他们输入个人信息 **用户ID** 和 **身份验证令牌**。这些存储在他们的LibreChat个人资料中,并在每个MCP请求中作为标头发送。

**如何在Rocket中查找您的凭据。聊天:**

- **用户ID:** `My Account → Profile` (显示在页面URL中,或在下面询问您的管理员 `Admin > Users`)
- **身份验证令牌:** `My Account → Personal Access Tokens → Add New Token`

______________________________________________________________________

## 工具

### 阅读工具

|工具|说明|
|------|-------------|
| `list_users` |列出工作区中的所有用户(用户名、姓名、电子邮件)|
| `list_all_rooms` |列出用户可以访问的所有房间(频道、DM、私人)|
| `find_channel` |按名称查找房间(部分匹配或完全匹配)。返回房间ID以用于其他工具|
| `get_user_info` |按用户名获取特定用户的个人资料详细信息|
| `get_channel_messages` |获取房间中最近的N条消息(最新消息优先)|
| `get_room_messages_since` |获取约会后房间中的所有消息——非常适合摘要|
| `get_unread_messages` |按房间分组,获取已验证用户的所有未读消息|
| `get_subscriptions_delta` |获取自约会以来每个房间的未读计数和提及计数|
| `search_messages` |在所有房间或特定房间进行全文搜索,并可选择日期和用户过滤器|
| `normalize_date` |将任何日期表达式解析为ISO 8601 UTC(用于确认自然语言日期)|

### 编写工具

|工具|说明|
|------|-------------|
| `mark_room_as_read` |将单个房间中的所有邮件标记为已读|
| `mark_multiple_rooms_as_read` |在一次通话中将多个房间标记为已读|

### `search_messages` --消歧义

当 `room_name` 提供但匹配多个房间,该工具返回 `AMBIGUOUS:` 列出所有候选人及其ID的响应。人工智能将这些信息转发给用户(“你是说……吗?”),然后重试 `room_id` 一旦用户澄清。

“在Alex频道中搜索”的示例流程:

Tool returns: AMBIGUOUS: Found 2 rooms matching 'alex': - [DM] Alex Schuessler (room_id="abc123") - [Channel] alex-general (room_id="def456") Retry with: search_messages(query="...", room_id="")

AI asks user: "Did you mean Alex Schuessler (DM) or alex-general (channel)?" User clarifies → AI retries with room_id="abc123"


要完全跳过消歧,请传递 `room_id` 直接代替 `room_name`.

______________________________________________________________________

## 常见用法示例

**总结过去一周的频道:**

"Give me a summary of what happened in #account-management this week"


AI呼叫 `find_channel("account-management")`那么 `get_room_messages_since(room_id, since_ts="last monday")`.

**在所有渠道中搜索主题:**

"In which channels was Donald Trump mentioned and what was said?"


AI呼叫 `search_messages(query="Donald Trump")`.

**用自然语言搜索日期范围:**

"Show me all messages about the budget from last week"


AI呼叫 `search_messages(query="budget", date_from="last monday", date_to="last friday")`.

**赶上DM:**

"What did Alex Schuessler write to me while I was out?"


AI呼叫 `find_channel("Alex Schuessler")` 要获取DM房间ID,则 `get_channel_messages(room_id, count=50)`.

**检查您离开时活动的内容:**

"Which channels had the most activity last week?"


AI呼叫 `get_subscriptions_delta(updated_since="last monday")` 查看每个房间的未读计数。

**阅读并标记未读邮件:**

"Show me what I missed and mark everything as read"


AI呼叫 `get_unread_messages()`,显示摘要,然后调用 `mark_multiple_rooms_as_read(room_ids=[...])` 在用户确认之后。

______________________________________________________________________

## 本地开发(无Docker)

uv venv .venv\Scripts\activate # Windows

source .venv/bin/activate # macOS/Linux

uv sync


在您的环境中设置凭据:

Windows

set ROCKETCHAT_SERVER_URL=https://chat.yourcompany.com set ROCKETCHAT_USER_ID=your-user-id set ROCKETCHAT_AUTH_TOKEN=your-auth-token

macOS/Linux

export ROCKETCHAT_SERVER_URL=https://chat.yourcompany.com export ROCKETCHAT_USER_ID=your-user-id export ROCKETCHAT_AUTH_TOKEN=your-auth-token


在stdio模式下运行(适用于Cursor/Claude Desktop):

python rocketchat.py


在HTTP模式下运行(在本地测试LibreChat路径):

python rocketchat.py --transport streamable-http --port 3011


### 光标/克劳德桌面(stdio)

{ "mcpServers": { "rocketchat": { "command": "python", "args": ["C:/path/to/rocketchat.py"] } } }


配置中有凭据(不太推荐——在共享环境中避免):

{ "mcpServers": { "rocketchat": { "command": "python", "args": [ "C:/path/to/rocketchat.py", "--server-url", "https://chat.yourcompany.com" ], "env": { "ROCKETCHAT_USER_ID": "your-user-id", "ROCKETCHAT_AUTH_TOKEN": "your-auth-token" } } } }


______________________________________________________________________

## 凭证参考

|源|用户ID|身份验证令牌|
|--------|---------|------------|
| **请求头** (歌词)| `X-RocketChat-User-Id` | `X-RocketChat-Auth-Token` |
| **Env 是** (本地/stdio)| `ROCKETCHAT_USER_ID` | `ROCKETCHAT_AUTH_TOKEN` |
| **Env就是一切。** (用户名/密码)| `ROCKETCHAT_USERNAME` | `ROCKETCHAT_PASSWORD` |

服务器URL为 **总是** 从阅读 `ROCKETCHAT_SERVER_URL` 环境变量。它不能通过标头覆盖。

______________________________________________________________________

## 参考文献

- [火箭。聊天REST API](https://developer.rocket.chat/apidocs)
- [LibreChat MCP文档](https://www.librechat.ai/docs/configuration/librechat_yaml/object_structure/mcp_servers)
- [模型上下文协议](https://modelcontextprotocol.io/)

目录标签

目录标签

PythonClaude搜索消息摘要本地部署消息搜索聊天管理Rocket.Chat集成LibreChat插件

支持客户端

Claude DesktopClaudeCursor

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Python

工具数量(toolCount,工具数)

12

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP