☰
Eta接入MCP生态:连接远程工具服务器与安全配置Bearer Token
2026/10/11 10:28:48 网站建设 项目流程

【免费下载链接】Eta

System-level Android AI Agent with direct OS access. | Android 系统级 AI Agent——越过沙盒,让模型访问底层API、屏幕、终端与你的数据

项目地址:https://gitcode.com/gh_mirrors/eta9/Eta
点击查看免费下载

Eta 是一款 Android 系统级 AI Agent,通过内置的 MCP 客户端能力直接连接远程工具服务器(Streamable HTTP),无需绑定任何模型服务商;支持 Bearer Token 认证,并以 Android Keystore 加密保存凭据,让普通用户也能安全地把外部工具生态接入自己的手机 Agent。

为什么 Eta 需要接入 MCP 生态

MCP(Model Context Protocol)让工具提供方把能力标准化成"工具"发布出去。Eta 的设计思路是:把协议能力与模型解耦——你用自己的 API Key(BYOK)接入任意模型,再用 MCP 把日历、数据库、业务 API 等远程工具挂进来,模型就能在对话中直接调用。

与本机工具(终端、文件、浏览器)不同,MCP 工具运行在远程服务器上,Eta 只负责发现(tools/list)和调用(tools/call),一次运行最多冻结 64 个 MCP 工具进入目录,保证上下文可控。

三步添加 MCP 服务器

第 1 步:填写服务器名称与地址

进入设置 → MCP servers页面(源码:McpServersScreen.kt),点击右上角"+":

  1. 名称:给服务器起个好认的名字(如"我的日历服务");
  2. 服务器地址:填写 Streamable HTTP 端点,支持公网 HTTPS、局域网与本机地址,走同一条连接链路。

第 2 步:按需填写 Bearer Token

如果服务器要求认证,在"Bearer token (optional)"一栏粘贴 Token。输入框默认密码态遮蔽,不会明文显示。不填则标记为none无认证。

第 3 步:确认连接,自动发现工具

点击"Add server"后,Eta 会立刻发起工具发现请求:

  • 自动分页拉取工具列表(最多 8 页、128 个工具,源码:McpHttpClient.kt);
  • 成功连接后弹窗提示"已发现 N 个工具";
  • 连接失败会显示具体错误(地址无效、HTTP 4xx、协议不匹配等),不会把配置写进数据库——只有发现成功,McpServerRepository.add() 才会落库并保存密钥。

进入服务器详情页后,你可以:

操作说明
🔄 刷新工具服务器更新工具后重新拉取,并显示工具总数
🔐 认证随时更换或移除 Bearer Token(留空即移除)
✅ 逐项启用工具每个工具独立开关,控制模型可见的工具面
🗑 删除服务器一并清除端点、Token 与工具开关设置

双协议自动适配:省心接入新旧服务器

Eta 默认auto模式(McpServer.kt):

  • 优先使用2026-07-28无状态新版协议,无需会话;
  • 遇到兼容问题(400/404/405 等信号)自动降级到2025-11-25旧协议,走initialize协商并维护 session,会话过期(404)会自动重协商重试。

你不需要手工选择协议版本,新旧服务器都能直接接入。

Bearer Token 如何安全存储与使用

这是 Eta MCP 设计中最值得了解的一环(源码:McpSecretStore.kt):

  1. 加密存储:Token 使用AES/GCM加密,密钥由Android Keystore硬件级密钥库托管,密文存放在 App 私有偏好(eta_mcp_secrets)中——即使偏好文件被读到,没有 Keystore 密钥也无法还原;
  2. 传输使用:每次 MCP 请求自动附加Authorization: Bearer <token>头(McpHttpClient.kt 的applyAuthorization);
  3. 一致性保护:数据库写入失败时会回滚/清除刚写入的密钥,删除服务器时 Token 同步清除,避免"孤儿凭据";
  4. 原始参数与结果不落盘:MCP 的调用参数与返回只在当次运行内存中使用,持久会话、检查点与归档中只保留脱敏记录(sensitive 标记)。

⚠️ 注意:若使用http://明文地址,Token 与工具参数会明文传输。生产环境请务必使用https://。

风险工具确认机制

工具发现时 Eta 会解析 MCP 的annotations元数据(readOnlyHint、destructiveHint等,McpServerManager.kt):

  • 只读工具:列表中标注"Read-only tool",开关直接生效;
  • 非只读工具:开启时弹出确认框——"该工具可能修改数据或调用外部服务,仅在你信任该服务器时启用"。

这意味着你可以只放行"查询类"工具,把"写操作类"工具保持关闭,最小化 Agent 的能力面。

常见问题排查清单

现象排查方向
"MCP 地址无效"URL 必须是合法的 http/https 完整地址
连接超时(局域网地址)Android 17 需在权限页开启"局域网访问"(见 docs/ROOTLESS_SUPPORT.md)
工具列表为空服务器尚未发布工具,点刷新重试
HTTP 401Token 错误或过期,到"认证"里更新 Token
结果被截断文本/结构化结果上限 64KB、图片上限 2MB,超出会带truncated标记(McpRunContext.kt)

更多协议细节(超时、预算、脱敏策略)可查阅官方文档 docs/AGENT_RUNTIME.md 的「MCP 工具」章节。

小结

Eta 的 MCP 接入对新手非常友好:填地址 → 贴 Token → 确认连接,三步完成;安全层面则由 Keystore 加密、逐项工具开关、风险确认与脱敏归档四道防线兜底。把远程工具生态安全地接进手机 Agent,现在只需要一杯咖啡的时间 ☕

【免费下载链接】Eta

System-level Android AI Agent with direct OS access. | Android 系统级 AI Agent——越过沙盒,让模型访问底层API、屏幕、终端与你的数据

项目地址:https://gitcode.com/gh_mirrors/eta9/Eta
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询