连上 TaoToken 后,Open Claw 如何发现 Google Home MCP
1. 先把 Open Claw 的模型出口切到 TaoToken再谈 Google Home MCP 发现Google 近期把 Google Home 的 MCP 集成推出来第三方智能体只要支持 MCP就能用标准协议去读设备状态、发控制指令、查事件历史。Open Claw 也在被支持的智能体之列。但很多人在 Open Claw 里配好 Google Home MCP 后遇到的第一个问题不是“设备不响应”而是“工具根本没被发现”Open Claw 启动时没有把 MCP 工具列表注册进模型上下文或者模型出口没有走对导致 tools/list 还没跑完就报鉴权失败、超时、上下文超限。要让 Open Claw 顺利发现 Google Home MCP建议先把模型出口切到 TaoToken在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_intro 拿到 TaoToken Key然后把 Open Claw 的模型 Base URL 设为 https://taotoken.net/api 。这一步做完再回来看 MCP 发现配置、工具列表命令和发现前后的 Token 对照会顺很多。本文按“工具发现”视角推进不讨论 Google Home 的新闻本身而是给出一条能复现的排查链路先让 Open Claw 能正常调用支持 tool use 的模型再把 Google Home MCP 写进 mcpServers接着用标准 JSON-RPC 的 tools/list 验证工具是否暴露最后对比发现前后 Open Claw 的推理消耗变化。你会在过程中看到三样可复现产出一份 MCP 发现配置、一条工具列表命令、一张发现前后对照表。准备清单如下一个 TaoToken Key占位符统一写成YOUR_API_KEY。Open Claw 可执行环境能读取 MCP 客户端配置。Google Home MCP 端点地址可能是远程 HTTP/SSE 地址也可能是本地 stdio 启动命令。Google Home 侧的授权凭证占位符写成YOUR_GOOGLE_HOME_TOKEN。一个支持 tool use / function calling 的模型名具体以 TaoToken 模型列表为准。如果你还没有 Key先到 TaoToken 官网注册并创建。注意后面所有配置里的 Base URL 都用https://taotoken.net/api不要自己拼/v1或/messages客户端通常会在这个 Base URL 上追加自己的路径。2. TaoToken Key 与 Base URLOpen Claw、Claude Code、Codex、CC Switch 的四种写法这一节把模型出口配置写清楚。很多人把 Claude Code 的ANTHROPIC_*环境变量直接复制到 Codex结果 Codex 完全不认也有人把 Open Claw 的配置字段和 CC Switch 的字段混在一起最后不知道哪一层生效。下面分开写。先到 TaoToken 官网拿 Key 和确认模型名 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_key 。创建 Key 后把YOUR_API_KEY替换成真实值。Base URL 固定为https://taotoken.net/api2.1 Open Claw 的模型配置Open Claw 通常按 MCP 客户端 模型供应商两部分配置。模型供应商部分可以写成类似下面的结构具体字段名以你本地版本为准但核心是base_url、api_key、model三个值{ modelProvider: { name: taotoken, type: anthropic-compatible, baseUrl: https://taotoken.net/api, apiKey: YOUR_API_KEY, model: claude-sonnet-4-20250514, maxTokens: 8192, temperature: 0.2 }, agent: { enableToolUse: true, maxToolRounds: 8 } }这里enableToolUse如果为 falseOpen Claw 即使发现了 MCP 工具也不会在推理时向模型发送工具 schema。maxToolRounds控制一次任务里最多几轮工具调用太大容易在长任务里消耗过多 Token太小则可能还没查到设备状态就停了。2.2 Claude Code 的 settings.json 与 ANTHROPIC_* 环境变量Claude Code 走 Anthropic 兼容协议时用ANTHROPIC_*。可以在settings.json里写{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: claude-sonnet-4-20250514, ANTHROPIC_SMALL_FAST_MODEL: claude-haiku-4-20250514 } }也可以在 shell 里临时导出export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY export ANTHROPIC_MODELclaude-sonnet-4-20250514注意这套ANTHROPIC_*只用于 Claude Code 或明确声明 Anthropic 兼容的客户端不要套到 Codex 上。2.3 Codex 的 config.tomlCodex 使用config.toml走的是另一套 provider 配置。示例model gpt-5-codex model_provider taotoken [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY wire_api chat然后设置环境变量export TAOTOKEN_API_KEYYOUR_API_KEYCodex 不要用ANTHROPIC_BASE_URL也不要用ANTHROPIC_AUTH_TOKEN。如果你同时装了 Claude Code 和 Codex建议在 CC Switch 里分开管理。2.4 CC Switch 三件套CC Switch 的作用是切换不同供应商配置。为 TaoToken 建一套配置时重点填三件套Provider Base URLhttps://taotoken.net/apiAPI KeyYOUR_API_KEY默认模型选择 TaoToken 模型列表里支持 tool use 的模型。如果你在 CC Switch 里给 Claude Code、Codex、Open Claw 分别建 profile不要把 Claude Code 的ANTHROPIC_*profile 应用到 Codex 的config.toml上。三者的配置文件、环境变量前缀、wire 协议都不同混用会出现“Key 明明是对的但请求 404 或 401”的假故障。3. Open Claw 的 MCP 发现配置mcpServers 里写什么模型出口通了以后下一步才是让 Open Claw 发现 Google Home MCP。MCP 客户端通常读取一个mcpServers结构里面每个 key 是一个 MCP 服务器名称value 是启动方式或远程地址。Google Home MCP 可能是远程 HTTP 端点也可能是本地 stdio 进程。下面给两种写法。3.1 远程 HTTP / SSE 写法如果 Google Home MCP 提供的是远程端点配置可以写成{ mcpServers: { google-home: { type: http, url: https://google-home-mcp-endpoint/mcp, headers: { Authorization: Bearer YOUR_GOOGLE_HOME_TOKEN, Content-Type: application/json }, enabled: true, description: Google Home 设备与事件历史 MCP } } }如果客户端要求 SSE把type改成sseURL 换成对应的 SSE 路径。google-home-mcp-endpoint要替换成你在 Google Home MCP 控制台或文档里拿到的真实域名。3.2 本地 stdio 写法如果 Google Home MCP 需要本地启动一个进程配置类似{ mcpServers: { google-home: { command: npx, args: [ -y, google-home-mcp-package, --transport, stdio ], env: { GOOGLE_HOME_ACCESS_TOKEN: YOUR_GOOGLE_HOME_TOKEN, GOOGLE_HOME_PROJECT_ID: YOUR_GOOGLE_HOME_PROJECT_ID }, enabled: true } } }这里google-home-mcp-package不要照抄换成你实际拿到的包名或二进制路径。enabled为 true 只是让 Open Claw 启动时加载这个 MCP 服务器不代表工具一定被注册进模型上下文工具是否可用还要看下一步的 tools/list。3.3 把配置放到 Open Claw 能读到的位置不同版本的 Open Claw 可能读取不同路径常见做法是放在项目根目录的.mcp.json、用户目录的~/.openclaw/mcp.json或者启动参数指定的配置文件。你可以先用 Open Claw 的配置查看命令确认它实际加载了哪个文件。如果 Open Claw 没有配置查看命令就用最笨但有效的办法改完配置后重启 Open Claw然后在日志里搜索google-home或mcpServers。如果日志里完全没有这个 key说明配置文件路径不对或者 JSON 格式有误。安全提醒Google Home 的授权 Token 不要写进公开仓库。建议把YOUR_GOOGLE_HOME_TOKEN放在本机环境变量或密钥管理里再用配置文件的env字段引用。同样TaoToken 的YOUR_API_KEY也不要提交到 Git。4. 工具列表命令用 tools/list 验证 Google Home MCP 是否真的暴露了设备能力配置写完后不要急着让 Open Claw 直接控制灯。先用 MCP 标准的tools/list做一次独立验证。这样能把“MCP 服务器问题”和“Open Claw 模型问题”分开。如果你使用的是远程 HTTP MCP可以用 curl 发 JSON-RPCcurl -sS https://google-home-mcp-endpoint/mcp \ -H Content-Type: application/json \ -H Authorization: Bearer YOUR_GOOGLE_HOME_TOKEN \ -d { jsonrpc: 2.0, id: 1, method: tools/list, params: {} }如果返回一大段 JSON可以用 Python 格式化并只看工具名和描述curl -sS https://google-home-mcp-endpoint/mcp \ -H Content-Type: application/json \ -H Authorization: Bearer YOUR_GOOGLE_HOME_TOKEN \ -d { jsonrpc: 2.0, id: 1, method: tools/list, params: {} } | python -m json.tool你希望看到的结构大致是{ jsonrpc: 2.0, id: 1, result: { tools: [ { name: google_home_list_devices, description: 列出 Google Home 中的设备, inputSchema: { type: object, properties: { room: { type: string, description: 可选按房间过滤 } } } }, { name: google_home_get_device_state, description: 读取指定设备的状态, inputSchema: { type: object, properties: { deviceId: { type: string } }, required: [deviceId] } } ] } }上面工具名只是示意实际以tools/list返回为准。如果返回tools: []说明 MCP 服务器连上了但没有暴露任何工具如果返回 401说明 Google Home 授权 Token 有问题如果连接超时说明端点或网络策略有问题。在 Open Claw 内部你也可以让它执行一次“列出当前可用工具”的任务。不同版本命令不同常见做法是/openclaw tools list或者openclaw mcp list --json如果这些命令不存在就以客户端日志里的tools registered为准。关键不是命令名字而是确认 Google Home MCP 返回的工具 schema 已经被 Open Claw 注册。如果你在这一步发现 TaoToken 侧的模型调用也报错可以回到 TaoToken 官网检查 Key 状态和额度 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_check 。注意区分两类 401一类是 Open Claw 调 TaoToken 模型时的 401另一类是 Open Claw 调 Google Home MCP 时的 401。前者看YOUR_API_KEY和 Base URL后者看YOUR_GOOGLE_HOME_TOKEN和 MCP 端点。5. 发现前后对照Open Claw 能做什么Token 消耗怎么变工具发现不是“配完就完事”它会直接改变 Open Claw 的上下文结构和推理成本。下面这张对照表按“未配置 MCP → 配置但未发现 → 发现后精简工具 → 发现后全量工具”四个阶段看。阶段Open Claw 能力上下文内容Token 消耗典型现象未配置 MCP只能文本对话系统提示 用户消息低问“客厅灯开着吗”会猜或拒答配置 MCP 但未发现知道有 MCP 服务器但无工具系统提示 用户消息 MCP 连接日志低提示找不到工具或直接文本回复tools/list 发现后只启用必要工具可列设备、查状态、发控制工具 schema 历史 工具结果中能完成“查状态并开灯”发现后全量工具 长历史能力强但上下文膨胀全量工具 schema 长历史 多次工具结果高响应变慢容易触顶核心原因是MCP 工具不是“调用时才出现”而是 Open Claw 在启动或首次发现后把tools/list返回的工具名、描述、inputSchema注入到模型上下文。模型每轮推理都要看这些 schema。工具越多、描述越长、参数越复杂占用的 Token 越多。Open Claw 这类智能体又经常多轮调用一次“查设备状态 → 发现不对 → 再查历史 → 再控制”的链路可能把同一批工具 schema 重复带上很多轮。所以发现 Google Home MCP 后建议做三件事只启用需要的工具。如果 Open Claw 支持工具白名单把google_home_*里当前任务用不到的工具排除。压缩工具描述。如果 MCP 返回的description很长可以在 Open Claw 侧做一次本地精简但不要改inputSchema的必需字段。控制历史长度。工具调用结果里如果包含大量事件历史建议在 Open Claw 里设置截断或摘要不要把整段历史反复塞回上下文。TaoToken 按量计费适合这种工具密集型 Agent。你可以在 TaoToken 控制台观察每次任务的输入 Token、输出 Token 和缓存命中情况。如果发现 Open Claw 在“工具发现”阶段就消耗异常优先检查是不是把整个 Google Home 设备列表和事件历史都注入到了系统提示里。6. 排障401、工具为空、Open Claw 不调用工具6.1 模型侧 401 或 404现象Open Claw 还没开始发现 MCP就报模型请求失败。检查Base URL 是否为https://taotoken.net/api没有多写/v1。YOUR_API_KEY是否复制完整前后有无空格。模型名是否在 TaoToken 模型列表里存在。如果用的是 Claude Code确认走的是ANTHROPIC_*如果是 Codex确认走的是config.toml里的 provider。6.2 MCP 侧 401 或 403现象tools/list返回鉴权失败。检查YOUR_GOOGLE_HOME_TOKEN是否过期。请求头是Authorization: Bearer ...还是X-API-Key以 Google Home MCP 文档为准。MCP 端点是否要求额外的projectId或clientId。6.3 tools/list 返回空数组现象连接成功但tools是空的。可能原因MCP 服务器启动模式不对比如远程模式需要type: http你写成了stdio。Google Home 账号下没有可授权设备。MCP 服务器需要先完成一次 OAuth 授权回调但你只填了访问 Token。工具被服务端按权限过滤了当前 Token 没有读设备或事件历史的 scope。6.4 Open Claw 发现了工具但不调用现象日志里能看到工具注册但 Open Claw 还是用文本回答“我无法控制设备”。检查模型是否支持 tool use。如果模型不支持 function callingOpen Claw 不会发出 tool_use 块。Open Claw 的enableToolUse是否为 true。系统提示里是否明确告诉 Open Claw 可以使用 Google Home MCP 工具。工具名是否被 Open Claw 做了命名空间前缀导致模型看到的名称和实际调用名称不一致。6.5 Token 突然暴涨现象发现 Google Home MCP 后单次任务 Token 消耗比之前高很多。检查是否把所有工具都启用包括查询历史、批量控制等重工具。是否把工具返回的完整设备列表和设备历史直接回填到下一轮上下文。是否在长会话里反复进行 tools/list导致 schema 重复注入。是否设置了过大的maxToolRounds让 Open Claw 陷入多轮工具循环。7. 把链路固化本地脚本、安全边界与下一步最后把整个流程固化成可重复执行的步骤。第一步本地保存一份 MCP 发现检查脚本只做tools/list和 JSON 格式化不执行任何控制命令#!/usr/bin/env bash set -euo pipefail MCP_URL${GOOGLE_HOME_MCP_URL:?请设置 GOOGLE_HOME_MCP_URL} GOOGLE_HOME_TOKEN${GOOGLE_HOME_TOKEN:?请设置 GOOGLE_HOME_TOKEN} curl -sS $MCP_URL \ -H Content-Type: application/json \ -H Authorization: Bearer $GOOGLE_HOME_TOKEN \ -d {jsonrpc:2.0,id:1,method:tools/list,params:{}} \ | python -m json.tool第二步在 Open Claw 侧只启用你确认需要的工具。不要一上来就开放全部设备控制权限。涉及门锁、安防、摄像头等敏感设备时建议先用只读工具验证再逐项放开控制类工具。第三步所有 SQL、shell 命令、设备控制指令都由读者在本地或测试环境执行。不要让 MCP/Agent 直接连生产数据库或生产家庭网络。测试阶段可以用一个独立房间或虚拟设备做验证确认工具发现和调用链路正常后再考虑扩大到真实设备。第四步如果你还没有跑通模型出口回到 TaoToken 官网完成 Key 创建和 Base URL 配置 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_final 。推荐按这个顺序推进先打开模型对话确认 TaoToken Key 能正常调用模型 https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_chat如果你要长期跑 Open Claw 这类工具密集型 Agent看 Coding Plan 是否适合你的用量 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_plan在控制台创建和管理 API Key把YOUR_API_KEY换成真实值 https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_keys如果你同时用 Claude Code按文档配置settings.json和ANTHROPIC_* https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentopenclaw_ghmcp_doc把顺序记住模型对话验证 KeyCoding Plan 评估用量API Keys 创建和管理 KeyClaude Code 文档处理兼容配置。回到 Open Claw 这边只要模型出口是https://taotoken.net/apiMCP 配置里google-home能被加载tools/list能返回工具Open Claw 就能从“只会聊天”变成“能发现并调用 Google Home 工具”的智能体。剩下的就是按任务需要精简工具、控制历史长度、观察 Token 消耗把发现流程稳定下来。