BrainWiz接力
一个轻量级的WebSocket隧道中继,允许AI客户端访问用户本地机器上运行的MCP服务器。它包括一个OAuth 2.1(PKCE)流,因此像Claude Desktop这样的客户端可以通过浏览器批准页面进行连接,而不需要手动编辑配置文件。
隐私
所有BrainWiz数据(内存、数据库、嵌入模型)都存储在您的计算机或自托管服务器上,并且永远不会由中继持久化。
桌面/中继模式: 来自AI客户端的MCP请求通过HTTPS传输到中继,并通过加密的WebSocket隧道(WSS)转发到您的本地应用程序。中继终止TLS,因此请求内容在传输过程中对其可见——它不是端到端加密的。然而,中继器从不记录或存储内存内容。每个许可证密钥只跟踪聚合请求计数和有效载荷大小,以进行滥用检测。
Docker/自托管模式: 除了启动时的许可证注册调用和每日心跳(仅许可证密钥+实例ID)外,没有任何东西通过中继。所有MCP流量都直接在AI客户端和您的服务器之间传输——中继器永远看不到您的内存内容。
在这两种模式下,继电器仅保存活动连接的内存映射,每次重新启动时都会清除该映射。
您的电子邮件地址由我们的支付处理器(而不是此服务器)与您的许可证密钥相关联地存储。如果检测到滥用行为,它可能会用于与您联系。
注: 本隐私政策仅适用于官方转播 https://relay.brainwiz.app。自定义或自托管中继的行为可能不同。如果您使用的是自定义中继URL,请确保您信任该服务器的运营商。路线
| 方法 | 路径 | 描述 |
|---|---|---|
POST | /register | 桌面应用程序注册并接收隧道令牌 |
POST | /license/activate | Docker启动注册(启动前一个实例) |
POST | /license/heartbeat | Docker每日活性检查 |
WS | /tunnel/{token} | 应用程序打开持久WebSocket隧道 |
GET | /.well-known/oauth-authorization-server | OAuth 2.1服务器元数据 |
GET | /.well-known/oauth-protected-resource | OAuth资源元数据 |
GET | /authorize | OAuth审批页面(显示在浏览器中) |
POST | /authorize | 流程审批,使用身份验证码重定向 |
POST | /token | 交换身份验证码+承载令牌的PKCE验证器 |
* | /{token}/mcp[/...] | 代理AI客户端对用户本地应用程序的请求 |
在Fly.io上部署
- 编辑
fly.toml并设置自己的app名字。 - 从该目录:
flyctl launch --no-deploy
flyctl deploy包括 fly.toml 配置 auto_stop_machines = 'off' --这是在所有连接的用户之间保持WebSocket隧道活动所必需的。
在本地运行
pip install -r requirements.txt
python server.py --host 0.0.0.0 --port 8080运作原理
- 本地应用程序调用
POST /register要获取令牌,请打开WS /tunnel/{token}. - AI客户端指向
https://relay.example.com/{token}/mcp. - 在第一次连接时,中继返回触发OAuth流的401;用户在浏览器中批准,客户端收到承载令牌(等于隧道令牌)。
- 后续请求以以下方式到达中继
Authorization: Bearer {token},通过WebSocket隧道转发,并将响应流式传输回来。
