Skip to content

MCP 接入

第 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 或自定义请求头;
  • 服务器是否允许移动网络/局域网访问;
  • 服务端证书是否可信。

添加步骤 ​

  1. 打开 设置 → MCP 服务器。
  2. 点击新增。
  3. 输入方便识别的名称。
  4. 填写完整服务器 URL。
  5. 选择正确传输类型。
  6. 按服务方说明填写认证信息或 Header。
  7. 保存并启用。
  8. 执行连接测试;成功时会显示拉取到的 tools 数量。
  9. 到 设置 → AI Agent 工具 搜索刚连接的工具,确认需要的工具已启用。

HTTP 明文连接会暴露 Token 和工具参数。公网服务应使用 HTTPS。

15.3 使用外部 MCP 工具 ​

配置好后像普通 Agent 工具一样用自然语言提出目标,例如:

使用天气 MCP 工具查询香港今天的逐小时降雨概率,并说明数据来源时间。

工具实际运行在 MCP Server 所在机器上,不会因为连接了 Lyra Code 就自动获得手机文件权限。但你发给工具的参数会离开手机,因此审批时仍要检查是否包含路径、账号、隐私或密钥。

15.4 外部 MCP 常见故障 ​

现象优先检查
连接超时URL、网络、防火墙、服务器是否启动
401/403Token、Authorization 格式和权限范围
404URL 路径是否完整,Streamable HTTP 常有固定端点
连接成功但 0 tools服务端能力、会话初始化、账号权限
SSE 断开反向代理超时、移动网络切换、服务器保活
证书错误域名、证书有效期、证书链;不要随便信任所有证书

15.5 启动 Lyra Code 的 MCP 服务端 ​

  1. 打开 设置 → MCP 服务端。
  2. 先到 AI Agent 工具 关闭不希望对外提供的工具。
  3. 设置监听主机和端口。
  4. 生成一段足够长、随机的认证 Key。
  5. 保存后启动服务。
  6. 页面会显示本机/局域网地址和外部连接 JSON。
  7. 在另一个 MCP 客户端中配置请求 URL,路径必须是 /mcp。
  8. 完成后停止服务。

监听 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 局域网测试 ​

  1. 两台设备连接同一可信 Wi-Fi;
  2. 服务端监听局域网地址;
  3. 系统本地网络权限已允许;
  4. 客户端使用页面显示的局域网 IP、端口和 /mcp;
  5. 带上认证头;
  6. 先列工具,再调用一个只读、低风险工具;
  7. 测试完成立即停止或改回本机监听。

不要在公共 Wi-Fi 上测试,也不要为了省事关闭认证。直接暴露到公网需要成熟的 HTTPS、反向代理、访问控制和审计能力,不适合零基础用户。

15.9 常见问题 ​

为什么 stdio 配置不能用 ​

Android 端只连接 Streamable HTTP 或 SSE,不直接根据命令启动 stdio Server。需要先在其他环境把 stdio 服务桥接为受保护的 HTTP/SSE 服务。

客户端能连但工具不全 ​

检查 Lyra Code 的 Agent 工具开关、外部 MCP 连接状态,以及服务端是否在改动后重新加载。

局域网地址打不开 ​

确认监听不是 127.0.0.1、本地网络权限已授予、设备同网、路由器未启用客户端隔离,并检查端口占用。


下一章:微型服务器

AGPLv3