用途:这是一个 Next.js 技能,用于在应用中挂载智能体设置下的 MCP 标签页,管理 Model Context Protocol 连接器。属于 agent-settings 系列的一个标签,各标签共用 AgentSettingsProvider。
前置条件:需先完成认证设置(/iblai-vibe-auth);需在 .mcp.json 中配置 @iblai/mcp 服务器与技能;AgentSettingsProvider 必须包裹路由;需向用户索取真实的 mentorId(智能体 UUID),不可自行编造。项目根目录需有 iblai.env,包含 PLATFORM、DOMAIN、TOKEN 变量,缺失时可按提示执行 curl -o iblai.env https://raw.githubusercontent.com/iblai/vibe/refs/heads/main/iblai.env 获取模板。
用法:从 @iblai/iblai-js/web-containers/next 导入 McpTab 并渲染,标准挂载无需 props,它从 AgentSettingsProvider 读取 tenantKey、mentorId、username、rbacPermissions。在选择器模式下可传 onSelect(类型 McpTabProps),在连接器被自动激活后触发;不传时隐藏 Select 按钮,标签仅作管理器视图。还可用 get_component_info("McpTab") 和 get_component_info("AgentSettingsProvider") 查询组件信息。
主要能力:渲染标题与描述、筛选栏(按名称搜索、日期范围、SSE/WebSocket/Streamable HTTP/全部传输多选);精选连接器库(平台精选的 MCP 服务器,展示 logo、名称、连接状态、认证类型、作用域、提供商标记及连接/断开按钮);组织自定义连接器(连接/断开、编辑、删除、添加对话框);分页(每页 12 条)。添加对话框收集连接器图片(可选,最大 2MB,image/*)、名称(必填)、服务器 URL(必填且需为有效 URL)、描述、作用域(全部智能体/本智能体)、传输(默认 Streamable Http)、认证方式(无/API Key/OAuth),OAuth 需填认证作用域(Tenant/Mentor/User),API Key 需填令牌类型与令牌。编辑对话框结构相同,令牌字段掩码显示,保持原值即保留密钥,输入新值即轮换;修改 OAuth 服务器 URL 会重启 OAuth 握手。
OAuth 流程:点击连接后调用 POST .../oauth-flow/start 并在新标签打开返回的 auth_url;授权后提供方回调到应用的 /google-oauth-callback/ 页面,该页面通过 window.opener.postMessage 发送 GOOGLE_AUTH_SUCCESS 并向 localStorage 写入 oauth_connection_complete;标签页监听任一信号后按作用域创建 MCPServerConnection 并刷新数据,卡片变为断开。另有 5 分钟安全超时,提前关闭弹窗触发 10 秒宽限清理。
相关导出:@iblai/data-layer 提供 MCPServer、MCPServerConnection、ConnectedService 及 useGetMCPServersQuery、useGetMCPServerConnectionsQuery、useCreateMCPServerConnectionMutation、useDisconnectServiceMutation、useLazyStartOAuthFlowQuery。
验证:告知用户完成前需运行 /iblai-vibe-ops-test;pnpm build 须零错误,pnpm test(vitest)须通过,并启动 pnpm dev 后用 npx playwright screenshot http://localhost:3000/agents/<id>/mcp /tmp/agent-mcp.png 截图验证。
限制与注意事项:Redux store 必须包含 mentorReducer 与 mentorMiddleware;initializeDataLayer() 需 5 个参数(v1.2+);@reduxjs/toolkit 通过 next.config.ts 的 webpack 别名去重;需安装同级依赖 sonner 与 @iblai/iblai-web-mentor(pnpm add sonner @iblai/iblai-web-mentor);MCP Servers 与连接管理 REST 接口仅供组织管理员使用,前缀为 ${dmUrl}/api/ai-mentor/orgs/{org}/users/{user_id}/(dmUrl 即 NEXT_PUBLIC_API_BASE_URL),OAuth 接口位于 ${dmUrl}/api/accounts/;首次激活连接器会自动向该智能体的 tool_slugs 添加 mcp 并设 can_use_tools=true,停用最后一个连接器会移除;运行时按用户级、智能体级、组织级、精选回退的顺序解析连接。价格、收费与其他平台细节暂未提供。