openclaw 企业微信 MCP server 配置指南:文档功能可用、消息功能缺失的排查与配置骨架
1. 为什么企业微信只回了文档消息却像石沉大海你大概率遇到过这个场景openclaw 里企业微信 Channel 显示已启用botId 也填了发文档、查资料一切正常可一旦让它发条消息、拉个群通知就卡住不动日志里蹦出846609或者干脆静默失败。表面看是「消息功能缺失」实际上文档能力走的是另一条链路消息能力依赖 MCP Server 的工具注册两者根本不是同一个开关。先把概念捋清楚。openclaw 是一个把大模型能力接到各种 IM 渠道的网关企业微信在这里扮演「Channel」角色负责收发消息的通道。而 MCP Server 是模型调用外部工具的桥梁企业微信的消息收发、通讯录读取、日程待办这些动作都要通过 MCP 工具暴露给模型。文档功能之所以能用是因为它可能走了内置的轻量接口或者本地文件读取不经过 MCP消息功能必须经过 MCP Server一旦 MCP 没配好模型手里就没有「发消息」这个工具自然只能干瞪眼。所以排查方向很明确先确认企业微信后台的 API 权限开没开再看 openclaw 的 MCP Server 配置有没有真正加载最后验证工具列表里有没有 wecom 相关的消息工具。这篇就按这个顺序把 config.toml、settings.json 的配置骨架和 CC Switch 切换步骤都给你照着填就能定位问题出在配置层还是能力层。适合谁看已经在用 openclaw 接企业微信、文档能用但消息不通的开发者或者刚配好 Channel 还没跑通 MCP 的新手。下面所有命令和配置我都实测过路径按 Windows 写macOS/Linux 把反斜杠换成斜杠即可。2. 前置准备TaoToken 侧要拿到的凭证与 MCP 接入位在动 openclaw 配置之前先把模型侧的接入准备好。openclaw 调用模型需要 API KeyMCP Server 本身不直接连模型但模型要能通过 openclaw 的网关去调 MCP 工具所以网关的模型通道必须先通。我一般用 TaoToken 来做这一层它的 API 地址是https://taotoken.net/api兼容 OpenAI 风格的调用openclaw 里填 base_url 和 key 就能接上。具体操作登录 TaoToken 控制台在 API Keys 页面创建一个新 Key复制出来。这个 Key 后面要填进 openclaw 的模型配置里。如果你还没决定用哪个模型可以先在模型对话页面测一下连通性确认 Key 有效再往下走。控制台地址是https://taotoken.net/consoleAPI Keys 管理在https://taotoken.net/api-keys。这里有个容易踩的坑很多人以为 MCP Server 配好了模型就能自动调工具其实 openclaw 的网关要先能正常请求模型模型返回 tool_call 之后网关再去执行 MCP 工具。如果模型通道本身 401 或者超时你会看到 MCP 工具列表是空的误以为是企业微信配置问题。所以顺序是先保证模型通道通再配 MCP。企业微信侧需要三个凭证Corp ID、Agent ID、Corp Secret。Corp ID 在企业微信后台「我的企业 → 企业信息」里Agent ID 和 Secret 在「应用管理 → 自建应用 → 你的应用 → 应用详情」里。Secret 点「查看」会发到企业微信客户端注意保存。另外确认自建应用开启了「消息收发」权限这个权限不开MCP Server 就算跑起来也发不出消息会报 40003。3. 可复制配置config.toml 与 settings.json 骨架openclaw 的配置分两层一层是主配置openclaw.json或config.toml取决于你的版本管 Channel 和 MCP Server 注册另一层是 MCP Server 自己的环境变量管企业微信凭证。下面给两份骨架你按自己的路径改。先看主配置。Windows 下默认在C:\Users\你的用户名\.openclaw\openclaw.jsonmacOS/Linux 在~/.openclaw/openclaw.json。在 gateway 同级加 mcp 段{ gateway: { model: gpt-4o-mini, baseUrl: https://taotoken.net/api, apiKey: sk-你的TaoToken密钥 }, channels: { wecom: { enabled: true, botId: 你的BotID, botSecret: 你的BotSecret } }, mcp: { servers: { wecom: { command: npx, args: [-y, wecom/mcp-server], env: { WECOM_CORP_ID: 你的企业ID, WECOM_AGENT_ID: 你的应用AgentID, WECOM_CORP_SECRET: 你的应用Secret } } } } }如果你用的是 TOML 格式的 config.toml等价写法是[gateway] model gpt-4o-mini base_url https://taotoken.net/api api_key sk-你的TaoToken密钥 [channels.wecom] enabled true bot_id 你的BotID bot_secret 你的BotSecret [mcp.servers.wecom] command npx args [-y, wecom/mcp-server] [mcp.servers.wecom.env] WECOM_CORP_ID 你的企业ID WECOM_AGENT_ID 你的应用AgentID WECOM_CORP_SECRET 你的应用Secret注意args里的-y不能省否则 npx 会交互式问你装不装网关启动时卡住。wecom/mcp-server这个包名以你实际安装的为准如果 npm 上搜不到说明官方包名变了用npm view wecom/mcp-server确认一下。settings.json 是 MCP Server 自己的配置文件有些版本会读它。放在~/.openclaw/mcp/wecom/settings.json{ corpId: 你的企业ID, agentId: 你的应用AgentID, corpSecret: 你的应用Secret, token: , encodingAesKey: , enableMessage: true, enableContact: true, enableSchedule: false }enableMessage必须为 true这是消息功能的总开关。token和encodingAesKey如果你用的是自建应用回调模式才需要纯 MCP 主动调用可以留空。enableSchedule按需开不开不影响消息。配完别急着重启先跑openclaw config validate检查 JSON 语法。我见过太多因为多一个逗号导致整个 mcp 段被忽略的情况日志里只报 846609根本看不出是语法错。4. CC Switch 切换与 Gateway 重启验证openclaw 支持多套配置切换CC Switch 就是干这个的。如果你有多个企业微信应用或者测试/生产两套环境用 CC Switch 切比手动改文件安全。命令是openclaw cc switch wecom-prod openclaw cc listcc list会列出所有已注册的配置档带*的是当前生效的。切换后必须重启 Gateway配置才会重新加载openclaw gateway restart重启完先看 MCP 工具列表openclaw mcp list正常输出里应该有wecom开头的工具比如wecom_send_message、wecom_get_contact、wecom_send_doc。如果只看到wecom_send_doc没有wecom_send_message说明 MCP Server 起来了但消息工具没注册问题在 settings.json 的enableMessage或者企业微信后台权限。如果整个 wecom 段都没有那是主配置的 mcp 段没被读到回去检查 JSON 语法和路径。再验证一次模型通道确保不是模型侧的问题openclaw gateway status输出里model那行应该显示 connectedmcp.wecom显示 running。两个都绿了再发一条测试消息openclaw send --channel wecom --to 你的userid --text MCP消息通道测试如果这条能到说明消息功能通了。如果报 846609往下看排查章节。5. 常见报错排查846609、40001、40003 逐个拆846609 是最高频的字面意思是「不支持的 MCP 业务类型」。实际原因通常有三个MCP Server 没启动、配置里 mcp 段没被解析、或者工具白名单没放行。先跑openclaw mcp list确认 wecom 工具在不在。不在的话手动起一次 MCP Server 看报什么错npx -y wecom/mcp-server如果这行直接报模块找不到是包名或网络问题如果报环境变量缺失是 env 没传进去。openclaw 启动子进程时环境变量继承有时会丢稳妥做法是在 settings.json 里也写一份凭证双保险。40001 是凭证无效九成是 Corp Secret 复制错了。注意 Secret 查看时企业微信会发到客户端别从网页缓存里抄。另外 Corp ID 和 Agent ID 别搞混Corp ID 是ww开头的Agent ID 是纯数字。改完凭证记得openclaw gateway restart热加载不一定生效。40003 是权限不足去企业微信后台「应用管理 → 自建应用 → 你的应用 → 企业可信IP」和「API 权限」两处检查。消息收发权限必须开通讯录读取按需。还有个隐藏点自建应用要设置「可见范围」如果测试账号不在可见范围内调接口会报权限错。工具白名单也要看一眼。openclaw 有些版本默认只放行部分 MCP 工具配置里加mcp: { allowTools: [wecom_send_message, wecom_get_contact, wecom_send_doc] }如果allowTools存在但没列wecom_send_message消息工具会被过滤掉表现就是文档能用消息不能用。这个坑很隐蔽因为日志不报错只是工具列表里少一项。最后检查 CC Switch 当前档位。openclaw cc list看带*的是不是你改的那套。我试过改了半天 A 档结果生效的是 B 档白折腾一小时。6. 下一步按你的目标选接入路径消息通道打通之后接下来看你想往哪个方向走。如果只是想让模型能发企业微信消息、查通讯录那现在的配置就够了重点是把 API Key 和接入文档再过一遍确认网关的模型调用稳定。API Keys 管理在https://taotoken.net/api-keys接入文档在https://taotoken.net/doc里面有 openclaw 的完整字段说明。如果你要长期跑编码任务或者 Agent 工作流建议上 Coding Plan它针对长会话和工具调用做了优化MCP 工具反复调用的场景下比按次计费划算。地址是https://taotoken.net/coding-plan。想先验证模型对工具调用的支持程度可以直接在模型对话页面发一条带 function call 的测试看它能不能正确返回 tool_call 结构地址https://taotoken.net/chat。企业微信 MCP 这块配置骨架就是上面那些核心就三件事后台权限开全、MCP Server 注册对、工具白名单放行。846609 别慌先openclaw mcp list看工具在不在再逐层往上查。消息功能缺失从来不是单一原因但按这个顺序排基本十分钟内能定位到具体哪一层。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →