第 15 章:MCP 接入——连接外部工具,或把本机工具提供出去
15.1 MCP 客户端和服务端
MCP 是模型连接工具和数据源的协议。Lyra Code 可扮演两种角色:
- MCP 客户端:连接别人运行的 MCP Server,把它的 tools 加入 Agent 工具;
- MCP 服务端:通过 HTTP 把 Lyra Code 当前启用的本地工具与已连接 MCP 工具提供给其他客户端。
新手最容易混淆的是方向:在“设置 → MCP 服务器”添加的是外部服务器;在“设置 → MCP 服务端”启动的是手机自己的服务器。
15.2 连接外部 MCP Server
Lyra Code 支持远程或局域网的 Streamable HTTP 和 SSE。Android 端不会直接启动 stdio MCP Server,因此只给一条本机可执行命令的配置不能直接使用。
你需要向服务提供方获取
- 完整 URL;
- 传输类型(Streamable HTTP 或 SSE);
- 认证 Token 或自定义请求头;
- 服务器是否允许移动网络/局域网访问;
- 服务端证书是否可信。
添加步骤
- 打开 设置 → MCP 服务器。
- 点击新增。
- 输入方便识别的名称。
- 填写完整服务器 URL。
- 选择正确传输类型。
- 按服务方说明填写认证信息或 Header。
- 保存并启用。
- 执行连接测试;成功时会显示拉取到的 tools 数量。
- 到 设置 → AI Agent 工具 搜索刚连接的工具,确认需要的工具已启用。
HTTP 明文连接会暴露 Token 和工具参数。公网服务应使用 HTTPS。
15.3 使用外部 MCP 工具
配置好后像普通 Agent 工具一样用自然语言提出目标,例如:
使用天气 MCP 工具查询香港今天的逐小时降雨概率,并说明数据来源时间。
工具实际运行在 MCP Server 所在机器上,不会因为连接了 Lyra Code 就自动获得手机文件权限。但你发给工具的参数会离开手机,因此审批时仍要检查是否包含路径、账号、隐私或密钥。
15.4 外部 MCP 常见故障
| 现象 | 优先检查 |
|---|---|
| 连接超时 | URL、网络、防火墙、服务器是否启动 |
| 401/403 | Token、Authorization 格式和权限范围 |
| 404 | URL 路径是否完整,Streamable HTTP 常有固定端点 |
| 连接成功但 0 tools | 服务端能力、会话初始化、账号权限 |
| SSE 断开 | 反向代理超时、移动网络切换、服务器保活 |
| 证书错误 | 域名、证书有效期、证书链;不要随便信任所有证书 |
15.5 启动 Lyra Code 的 MCP 服务端
- 打开 设置 → MCP 服务端。
- 先到 AI Agent 工具 关闭不希望对外提供的工具。
- 设置监听主机和端口。
- 生成一段足够长、随机的认证 Key。
- 保存后启动服务。
- 页面会显示本机/局域网地址和外部连接 JSON。
- 在另一个 MCP 客户端中配置请求 URL,路径必须是
/mcp。 - 完成后停止服务。
监听 127.0.0.1 只允许手机本机访问;监听 0.0.0.0 才可能被局域网设备访问。Android 17 上首次局域网监听可能出现“本地网络”系统授权。
15.6 认证方式
服务端支持常见认证头:
Authorization: Bearer 你的Key;X-Lyra-MCP-Key;- 兼容的
X-API-Key或Api-Key。
不需要同时填写所有形式。复制的连接 JSON 默认会给出推荐写法。不要把认证 Key 截图、上传仓库或发到公开群聊。
15.7 对外提供哪些工具
本机服务端会暴露当前已启用的 Lyra Code Agent 工具和已启用的 MCP 工具。开始前应逐项检查:
- 文件写入与删除;
- 命令、Root、Shizuku、SSH;
- 邮件发送;
- WebDAV/FTP 上传下载;
- 配置管理;
- 微型服务器管理。
只打开对方确实需要的最小集合。认证 Key 不能代替最小权限。
15.8 局域网测试
- 两台设备连接同一可信 Wi-Fi;
- 服务端监听局域网地址;
- 系统本地网络权限已允许;
- 客户端使用页面显示的局域网 IP、端口和
/mcp; - 带上认证头;
- 先列工具,再调用一个只读、低风险工具;
- 测试完成立即停止或改回本机监听。
不要在公共 Wi-Fi 上测试,也不要为了省事关闭认证。直接暴露到公网需要成熟的 HTTPS、反向代理、访问控制和审计能力,不适合零基础用户。
15.9 常见问题
为什么 stdio 配置不能用
Android 端只连接 Streamable HTTP 或 SSE,不直接根据命令启动 stdio Server。需要先在其他环境把 stdio 服务桥接为受保护的 HTTP/SSE 服务。
客户端能连但工具不全
检查 Lyra Code 的 Agent 工具开关、外部 MCP 连接状态,以及服务端是否在改动后重新加载。
局域网地址打不开
确认监听不是 127.0.0.1、本地网络权限已授予、设备同网、路由器未启用客户端隔离,并检查端口占用。
下一章:微型服务器
