
1. Google Home MCP 早期访问之后Claude 控家的第一道门是 KeyGoogle 近期开放 Google Home 生态 MCP 服务器早期访问Claude 等智能体可在授权后控制设备、读取事件历史。要把这件事安全落地先到 TaoToken 领取专用 Keyhttps://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contenthome_mcp_start 并把 Base URL 设为 https://taotoken.net/api 。这个能力很吸引人但一旦把控制权交给模型Key 泄露、权限过宽、事件历史被误读、工具参数被注入都可能让智能家居从便利变成风险。所以本文不从“怎么让 Claude 变得更强”讲起而是从“怎么让 Claude 安全地碰智能家居”讲起。核心做法很简单在智能体端填写 Key 之前先到 TaoToken 官网领取一把专用 Key把 Base URL 统一设为 https://taotoken.net/api 再通过权限隔离和最小权限配置把 Claude 能做的事情限制在明确边界内。TaoToken 官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contenthome_mcp_start 。为什么强调 TaoToken Key因为智能家居 MCP 场景里Key 同时承担三种身份调用身份Claude Code 或其它 CLI 凭什么访问模型服务项目身份这次调用属于“家庭控制”而不是“代码生成”审计身份出问题时能追溯到哪把 Key、哪个时间段、哪个设备动作。如果一把 Key 走天下家庭控制、代码补全、测试脚本全混在一起后面既无法限权也无法审计。更危险的是一旦这把 Key 泄露攻击者拿到的可能不只是模型额度还包括你家庭事件历史的读取能力。因此第一步不是写复杂 Prompt而是把 Key 管住。2. 在 TaoToken 领取 Key 并设置 Base URLClaude Code 最小可用配置先到 TaoToken 官网完成注册或登录然后进入 API Keys 页面创建 Key。创建时建议给 Key 起一个能识别场景的名字例如home-mcp-claude、home-readonly、home-light-control。不要用default、test这种无法追溯的名字。领取入口可以从这里进https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentget_key 。如果你还没有 Key也可以直接打开 API Keys 页面https://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keys_home_mcp 。拿到 Key 后先不要急着填进 MCP 服务器。先在 Claude Code 这一层把供应商切换好。Claude Code 读取的是ANTHROPIC_*系列环境变量常见配置放在~/.claude/settings.json也可以用项目级.claude/settings.json。下面是一份最小可用配置把 Base URL 指向 TaoTokenKey 用占位符YOUR_API_KEY{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID } }这里的YOUR_MODEL_ID不要照抄要换成你在 TaoToken 控制台或模型列表中选定的模型 ID。家庭控制场景建议优先选择指令遵循稳定、工具调用成功率高的模型而不是一味追求最大参数。配置完成后可以在终端里验证环境变量是否生效echo $ANTHROPIC_BASE_URL echo $ANTHROPIC_AUTH_TOKEN | sed s/./*/g预期输出第一行应该是https://taotoken.net/api第二行应该是掩码后的 Key用来确认变量存在避免把完整 Key 打印到日志。如果你更喜欢用 shell 注入而不是写进settings.json也可以这样export ANTHROPIC_BASE_URLhttps://taotoken.net/api export ANTHROPIC_AUTH_TOKENYOUR_API_KEY export ANTHROPIC_MODELYOUR_MODEL_ID注意Claude Code 和 Codex 的配置格式不一样。Claude Code 使用settings.json和ANTHROPIC_*Codex 使用config.toml和 provider 段。不要把ANTHROPIC_*套到 Codex 上否则会出现读不到 Key、模型列表为空、请求发到错误端点等问题。很多“401”和“model not found”并不是 Key 失效而是配置串了。3. 权限隔离给智能家居控制单独开一把 Key而不是复用万能 Key智能家居 MCP 与普通聊天最大的区别是它会读事件历史。事件历史里可能包含“几点回家”“哪个房间有人”“门锁状态变化”“摄像头是否检测到移动”。这些数据一旦进入模型上下文就会经过模型服务。因此家庭控制场景的 Key 必须与代码、测试、生产 API 的 Key 隔离。推荐做法是至少拆成三类 KeyKey 名称用途允许能力禁止能力建议额度home-mcp-claudeClaude 控制家庭设备查询状态、开关灯、调亮度、读事件摘要开锁、删除事件、分享设备、修改家庭成员低额度按日限home-readonly只读查询查询设备状态、读取事件摘要任何写入动作极低额度coding-plan代码生成与补全代码对话、补全、重构家庭设备控制按项目分配这张表不是形式主义。它的价值在于当 Claude 在处理“帮我把客厅灯调暗一点”时它使用的是home-mcp-claude当你在写代码时使用的是coding-plan。即使某把 Key 泄露影响面也被限制在单一场景。在 TaoToken 创建 Key 时可以按场景命名并记录用途。官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentkey_isolation 。如果平台提供额度、过期时间、IP 白名单等能力建议全部打开。家庭控制 Key 建议设置较短有效期例如 30 天轮换一次只读 Key 可以更短例如 7 天。轮换时不要直接删除旧 Key先让新 Key 跑通再禁用旧 Key避免智能家居自动化突然失效。在 Claude Code 里切换 Key 时不要手工改全局配置。更稳妥的方式是使用项目级配置或环境变量。例如给家庭控制单独建一个目录~/home-mcp里面放.claude/settings.json{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_HOME_MCP_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID } }进入这个目录再启动 Claude Code它就会优先读取项目级配置。这样你日常写代码时仍然使用另一套 Key不会混用。4. CC Switch 三件套Claude Code、Codex、其他 CLI 的供应商切换如果你同时使用 Claude Code、Codex、其他 CLI 工具手动改配置很容易出错。可以用 CC Switch 这类配置切换工具管理多套供应商档案。所谓“三件套”建议按下面三个维度整理Provider 配置供应商名称、Base URL、协议类型API Key按场景拆分不共用Model 配置模型 ID、温度、最大输出、工具调用设置。三件套整理好之后Claude Code 仍然走settings.jsonANTHROPIC_*。示例如下{ env: { ANTHROPIC_BASE_URL: https://taotoken.net/api, ANTHROPIC_AUTH_TOKEN: YOUR_API_KEY, ANTHROPIC_MODEL: YOUR_MODEL_ID } }Codex 则走config.toml不要写ANTHROPIC_*。下面是一份 Codex 配置示例Base URL 同样指向 TaoToken但环境变量名换成 Codex 能识别的# ~/.codex/config.toml model_provider taotoken model YOUR_MODEL_ID [model_providers.taotoken] name TaoToken base_url https://taotoken.net/api env_key TAOTOKEN_API_KEY然后在 shell 中注入 Codex 专用的 Keyexport TAOTOKEN_API_KEYYOUR_API_KEY如果你把ANTHROPIC_AUTH_TOKEN写进 Codex 的config.tomlCodex 不会理解结果通常是请求没有带上鉴权信息或者直接报 provider 配置错误。类似地把TAOTOKEN_API_KEY写进 Claude Code 的settings.json也不会生效因为 Claude Code 读取的是自己的变量名。切换工具时先检查三件套Base URL 是否为https://taotoken.net/apiKey 是否对应场景模型 ID 是否在当前账号可用。CC Switch 的好处是可以在“家庭控制 Claude Code”“代码生成 Codex”“测试脚本 CLI”之间快速切换而不需要每次手改文件。建议给每个档案加标签比如claude-home-mcpClaude Code home-mcp-claude Key 家庭控制模型claude-codingClaude Code coding-plan Key 代码模型codex-dailyCodex TAOTOKEN_API_KEY 日常代码模型。这样即使一天之内切换多次也不容易把家庭控制 Key 带到代码项目里。5. 最小权限配置建议按房间、设备、场景拆权限安全控智能家居核心不是“相信 Claude 不会做错”而是“即使 Claude 理解错了也做不了越界动作”。最小权限配置应该从三个层面同时下手Key 层、MCP 工具层、自动化层。Key 层已经在上一节讲过这里重点讲 MCP 工具层和自动化层。假设你的 Google Home MCP 服务器暴露了一组工具不要把全部工具都交给 Claude。建议先做工具白名单工具名是否暴露给 Claude说明list_devices是只返回设备名称和房间不返回敏感 IDget_device_state是查询开关、亮度、温度等状态turn_on_light是仅限照明类设备turn_off_light是仅限照明类设备set_brightness是限制在 10% 到 80%set_temperature是限制在 24 到 28 摄氏度lock_door否不交给模型自动执行unlock_door否高风险动作必须人工确认delete_event否防止事件历史被误删share_device否防止设备被分享给外部账号这张表可以根据你的家庭情况调整但原则不变高风险动作不暴露或者只暴露“申请”而不是“执行”。例如门锁可以只暴露request_unlock由人确认后再由本地脚本执行而不是让 Claude 直接调用unlock_door。自动化层则可以按房间和设备分组给每个组分配不同 Key。例如# 本地权限矩阵示例不是直接给 MCP 服务器执行的配置 permission_groups: - name: light_group rooms: [living_room, bedroom] devices: [ceiling_light, desk_lamp] allowed_actions: - turn_on - turn_off - set_brightness brightness_range: [10, 80] key_alias: home-light-key - name: climate_group rooms: [living_room, study] devices: [air_conditioner, heater] allowed_actions: - get_state - set_temperature temperature_range: [24, 28] key_alias: home-climate-key - name: security_readonly rooms: [entrance, balcony] devices: [door_lock, camera] allowed_actions: - get_state - read_event_summary denied_actions: - unlock - delete_event - share_device key_alias: home-readonly-key这份 YAML 只是本地权限设计的表达方式不是让你直接复制到某个 MCP 服务器。它的作用是先想清楚哪个 Key 能碰哪些设备能执行哪些动作。然后把这些规则映射到 MCP 服务器的工具过滤、Key 的额度与权限、以及本地自动化脚本的校验上。还要注意事件历史的隐私处理。Claude 读取事件历史时尽量只读摘要不读原始视频流、不读精确到秒的移动轨迹。例如把“19:32 客厅有人移动”聚合为“晚间客厅有活动”减少模型上下文里的敏感信息。如果 MCP 支持字段过滤优先使用字段过滤如果不支持就在本地加一层代理把敏感字段去掉后再交给 Claude。6. 排障401、403、404、429 与 MCP 工具调用失败配置过程中最常见的问题不是模型不聪明而是鉴权和路径错了。下面按报错类型梳理。401 UnauthorizedKey 未填写或填写错误请求头没有带Authorization: Bearer YOUR_API_KEYClaude Code 的settings.json没有被读取环境变量被更高优先级配置覆盖Key 已被禁用或过期。检查命令curl -s -o /dev/null -w %{http_code}\n \ -H Authorization: Bearer YOUR_API_KEY \ https://taotoken.net/api/v1/models如果返回 401先确认 Key 是否复制完整再确认 Base URL 是否为https://taotoken.net/api不要写成带 UTM 的官网地址。Base URL 就是https://taotoken.net/api不加其它参数。403 ForbiddenKey 权限不足例如用只读 Key 调用了写入工具模型未授权当前 Key 不能访问该模型设备或房间未授权MCP 服务器拒绝了动作。这类错误不要急着换模型先检查 Key 的权限范围。家庭控制场景尤其容易遇到你创建的是只读 Key却让 Claude 执行开灯自然会被拒绝。404 Not FoundBase URL 路径错误例如写成了https://taotoken.net/api/v1或漏掉/api模型 ID 不存在或拼写错误MCP 工具名与服务器实际暴露的名字不一致。Claude Code 中可以用/mcp查看 MCP 服务器状态。如果服务器显示已连接但调用某个工具时报 404通常是工具名不匹配。先在 MCP 服务器端列出工具清单再让 Claude 使用白名单里的工具名。429 Too Many Requests触发额度或速率限制多个自动化同时调用Key 被多台设备共用。建议给家庭控制 Key 单独设置低额度并避免在循环里高频调用。如果是自动化场景可以在本地加缓存例如设备状态 30 秒内不重复查询。MCP 工具调用失败参数格式不符合工具 schema例如亮度传了字符串而不是数字设备离线或 Google Home 侧未授权Claude 把“打开客厅灯”拆成了多个错误参数事件历史查询范围太大超时。处理方式先用本地脚本直接调用 MCP 服务器确认工具本身可用再把同样参数交给 Claude看是否模型侧理解有偏差如果模型侧偏差大收紧工具描述增加枚举值减少自由文本如果服务器侧失败检查 Google Home 授权和网络。如果你在 Claude Code 中调试可以打开详细日志claude --debug或者在项目目录中检查.claude下的日志文件。不要在生产自动化里长期打开 debug因为日志可能包含设备状态和事件摘要。7. 上线检查清单让 Claude 碰智能家居之前先过这 10 项在正式让 Claude 控制智能家居之前建议按下面清单逐项确认Key 是否来自 TaoToken并且是家庭控制专用 Key而不是复用代码 KeyBase URL 是否设置为https://taotoken.net/apiClaude Code 是否使用settings.json或ANTHROPIC_*Codex 是否使用config.tomlCC Switch 三件套是否分别配置了 Provider、Key、ModelMCP 工具是否做了白名单高风险工具是否未暴露门锁、摄像头、删除事件、分享设备是否禁止模型直接执行事件历史是否只读摘要是否去掉了精确轨迹和视频流Key 是否设置了额度、过期时间、IP 白名单和轮换计划是否保留调用日志能否追溯 Key、设备、动作、时间是否准备回滚方案例如禁用 Key、关闭 MCP 服务器、恢复本地自动化。这套流程的价值在于它把“Claude 很聪明”转化为“Claude 只能在安全边界内做事”。智能家居的控制权不应该是一个开关而应该是一组可审计、可限制、可撤销的权限。当你完成 Key 隔离和最小权限配置后可以继续按下面的路径深入想直接体验模型对话进入模型对话页https://taotoken.net/models/detail/chat?utm_sourcetaotoken_aicg_blog_endutm_contentchat_home_mcp想了解 Coding Plan 与额度规划https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_plan_home_mcp想创建或管理家庭控制专用 Keyhttps://taotoken.net/console/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keys_home_mcp想查看 Claude Code 的完整配置说明https://taotoken.net/doc/ClaudeCodeAnthropic?utm_sourcetaotoken_aicg_blog_endutm_contentclaude_code_home_mcp最后再提醒一次在智能体端填写 Key 之前先到 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_contentfinal_key 领取 TaoToken Key并把 Base URL 设为 https://taotoken.net/api 。把 Key 管住Claude 控家才可控。