
Chatto接入AI助手MCP模型上下文协议集成与OAuth安全配置完整指南【免费下载链接】chattoA fully-featured team and group chat application that you can easily selfhost.项目地址: https://gitcode.com/gh_mirrors/chatt/chattoChatto 是一个功能完整的自托管团队聊天与群聊应用现在你可以通过MCPModel Context Protocol模型上下文协议把它接入任意支持 MCP 的 AI 助手和 Agent 宿主让 AI 帮你查房间、读消息、发消息。本文带你用最短路径完成Chatto MCP 集成并重点讲清楚OAuth 安全配置谁能访问、权限边界在哪里、如何一键关闭。什么是 MCPChatto 为什么需要它 MCP 是开放协议让 Agent 宿主AI 助手、自动化工具能统一发现并调用“工具”Tools。没有 MCP 时每个 Agent 都要单独学习 Chatto 的私有 API接入后AI 助手只需要一个标准端点就能工作。Chatto 的设计原则是MCP 只是公开 API 之上的薄适配层不是第二套 API。每个工具调用都复用与公开 API 完全相同的 RBAC 权限、房间成员检查和消息可见性规则AI 不会因此获得任何超权能力。设计依据可参考 ADR-085 与 FDR-043。快速上手三步启用 Chatto 的 MCP 服务 ⚡第 1 步打开 MCP 开关MCP 默认关闭实验性功能。在配置文件chatto.toml中加入一个区块即可配置说明见 cli/chatto.toml[mcp] enabled true第 2 步确认你的 MCP 端点地址Chatto 会把 MCP 挂载到现有公开 HTTP 服务器的/mcp路径上不新增端口、不新增进程。如果你的服务器地址是https://chat.example.com那么 MCP 端点就是https://chat.example.com/mcp端点使用webserver.url的域名以及webserver.allowed_origins中每一个精确的非通配符域名每个域名都是一个独立的 OAuth 资源。把这一个 URL 交给 AI 助手即可完成接入。第 3 步让 AI 助手完成 OAuth 授权并发现工具把 MCP URL 填入你的 Agent 宿主配置宿主自动读取受保护资源元数据/.well-known/oauth-protected-resource/mcp和授权服务器信息在 Chatto 打开的同意页面上确认授权每次授权都会显示具体权限范围让 AI 调用get_server_info确认服务器名称与地址正确。内置的 7 个 AI 工具一览 ️首批工具目录保持小而精实现代码在 cli/internal/mcpserver/工具作用类型get_server_info识别所连服务器名称、规范 URL、MCP URL、版本号只读get_current_user获取当前连接所用的账号信息只读list_rooms分页列出可见房间并返回精确的可见房间总数只读list_room_messages分页读取已加入房间的近期消息只读post_message在已加入房间发一条根级文本消息写入join_room加入一个可见的频道房间写入leave_room退出一个已加入的频道房间写入⚠️ 两个实用提醒post_message不是幂等操作结果不确定时不要让 AI 重试避免重复发帖列表类工具都有分页上限默认 50 条、最多 100 条AI 需要跟随nextAfterRoomId/nextBeforeEventId字段翻页才能取全。OAuth 安全配置两种身份接入方式 方式一人类用户的 OAuth 授权PKCE CIMD人类用户通过 Chatto 自带的OAuth 授权码 PKCE流程授权客户端身份使用CIMD客户端 ID 元数据文档。同意页会明确列出四个权限范围chatto:rooms:read/chatto:rooms:write房间读写chatto:messages:read/chatto:messages:write消息读写关键点访问令牌绑定到具体的 MCP 资源域名A 域名的令牌在 B 域名上无效普通浏览器 Cookie 或未授权 MCP 的会话令牌一律被拒绝。本地 Agent 宿主可以把回调查用地址注册在127.0.0.1、[::1]、localhost或具体的.localhost主机名上即使 Chatto 部署在远程服务器也支持。方式二Bot API Key无人值守自动化自动化集成可直接把Bot API Key作为 Bearer Token 发送AI 助手就以该 Bot 账号身份工作。Bot 的显式权限白名单及其所有者的当前权限上限依然生效——Bot 无法借 MCP 越权。Chatto 为 AI 接入内置的安全防线 ️双重授权天花板一次调用必须同时通过 MCP OAuth 范围 和 Chatto 的 RBAC/成员关系/消息可见性检查先成功一次不代表下次仍被允许最小化输出工具只返回声明操作所需的数据不暴露内部事件、存储坐标和投影细节抗提示注入房间名、消息、个人资料等用户内容一律视为不可信数据不会污染工具描述与服务器指令速率与大小限制全局 20 请求/秒突发 40、单请求 15 秒超时、请求体上限 256KBOperator 根权限隔离网络 MCP 端点绝不暴露 Operator API、引导配置、密码重置等根级操作。权限报错怎么排查 AI 调用失败时会返回结构化的 MCP 工具错误确认缺少 RBAC 权限时错误会带permission_denied和具体权限名如room.join、message.post你可以直接把这个权限名报给管理员申请房间策略拒绝或资源不可见时返回通用错误避免泄露私有状态要收回访问把[mcp].enabled设回false重启、在服务器管理端封禁 OAuth 客户端、或轮换 Bot API Key三者都只影响相关授权不影响其他客户端。总结Chatto 的 MCP 集成让你用一行配置 一次 OAuth 授权就把自托管聊天服务器变成 AI 助手的标准工具来源7 个内置工具覆盖服务器识别、房间/消息读写权限边界与 Chatto 原生 RBAC 完全一致。更多细节可阅读官方指南 apps/docs-website/src/content/docs/guides/integrations/mcp.mdx 和架构决策 docs/adr/ADR-085-agent-integration-through-mcp.md。【免费下载链接】chattoA fully-featured team and group chat application that you can easily selfhost.项目地址: https://gitcode.com/gh_mirrors/chatt/chatto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考