Files
youle_cocos/.claude/skills/cocos-mcp/SKILL.md
T
joywayerandClaude Opus 5 0ba37c7212 docs(mcp): CLAUDE.md 与 cocos-mcp 技能只保留 MCP 自身给不了的信息
原文档写着"164 个工具"并复述了一份按前缀分的工具清单, 对应的是已删除的旧扩展,
照着写会调不到工具。

改为不再复述工具用法: cocos-mcp-server 连上后会自注入 5.5K 字符的完整说明
(CRITICAL RULES + intent→tool 速查表 + 批量操作), 16 个工具的 description 也
各带 action 枚举与示例, 仓库里再维护一份副本必然随扩展版本腐化。

文档只保留 MCP 给不了的部分——服务离线时它的自带说明也一并消失, 而那正是最需要
"去编辑器点 Start Server"和"不要转而手改序列化文件"的时刻:
- 前置条件、curl /health 探活、连不上时的排查顺序
- settings/mcp-server.json 的 autoStart:false, ECONNREFUSED 的常见成因
- 已知坑: cocos_asset.search 的 type 过滤失效; cocos_scene.hierarchy 的
  includeComponents 失效; 编辑器里的 scene-2d 是 Creator 内置模板而非工程资产
  (assets/ 下 0 个 .scene), 不必去仓库里找

技能里原本重复的"禁止手改 .scene/.prefab"规则改为引用 CLAUDE.md 单一来源, 依据
是仓库第二准则; 基线测试也表明未读该技能的 agent 仅凭 CLAUDE.md 即拒绝手改。

CLAUDE.md 里"动手前先读技能"改为条件式(正常操作不必读, 故障时才读), 此前该指令
与技能的排障定位冲突, 实测中不同 agent 对它的解读并不一致。

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-19 08:01:23 +08:00

46 lines
3.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: cocos-mcp
description: Use when 要对 YouleNexus 工程做任何 Cocos Creator 编辑器操作(场景/节点/组件/prefab/资源/动画/预览截图),或 cocos_* 工具压根没出现、调用报连接失败、curl 127.0.0.1:3000 不通时。
---
# cocos-creator-mcp 接入与排障
工程 `cocoscreator_projects/YouleNexus`。编辑器操作走 `mcp__cocos-creator-mcp__cocos_*` 工具。
「禁止手改 `.scene`/`.prefab`/`.anim`/`.meta`」这条规则的唯一来源是 CLAUDE.md,本文件不复述——按仓库第二准则,同一条规则不在两处定义。
## 工具怎么用:不在本文件
MCP server 连上后会自动注入完整说明(CRITICAL RULES + intent→tool 速查表 + 批量操作),每个工具的 description 也带 action 枚举和示例。**照它的说明用,不要在本文件重复维护一份工具清单**——扩展换版本时那份副本必然过期误导。
当前扩展 `cocos-mcp-server`(`extensions/cocos-mcp-server/`),暴露 16 个聚合工具(`cocos_scene` / `node` / `component` / `prefab` / `asset` / `editor` / `view` / `composite` / `knowledge` / `validate` / `template` / `capture` / `builder` / `animation` / `spine` / `label`),每个靠 `action` 参数分派。工具默认是 deferred,先 `ToolSearch` 加载 schema 再调。
## 前置条件(缺一不可)
1. Cocos Creator 3.7+ 已打开 `YouleNexus` 工程;
2. 扩展 **Cocos MCP Server** 已启用,且在其面板里点了 **Start Server**(监听 `http://127.0.0.1:3000/mcp`)。
Claude Code 侧配置在仓库根 `.mcp.json`,HTTP 直连,服务器名 `cocos-creator-mcp`(改名会同时打断 `.claude/settings.local.json` 里的 `mcp__cocos-creator-mcp__*` 允许规则)。
## 探活
```bash
curl http://127.0.0.1:3000/health
# 期望:{"status":"ok","tools":16,"transport":"streamable-http"}
```
## 连不上时
**提示用户去编辑器里启动服务,不要盲目重试,更不要绕开 MCP 去手改序列化文件。** 服务只在编辑器进程内,外部无法代为启动。
按此顺序排查:编辑器是否开着 → 扩展是否启用 → 面板是否点过 Start Server → `/health` 是否通 → `.mcp.json` 是否仍指向 `http://127.0.0.1:3000/mcp`(历史上曾指向已删除的 stdio-bridge 路径)。改完 `.mcp.json` 需重启会话才生效。
`settings/mcp-server.json` 里 `autoStart: false`,所以每次开编辑器都得手动点 Start Server;这大概率就是 `ECONNREFUSED` 的常见成因(改 true 应可自动启动,**未实测**)。
## 已知坑
- `cocos_asset{action:"search"}` 的 `type` 过滤**不生效**:传 `cc.SceneAsset` 照样返回脚本和目录,返回消息还谎称「of type 'cc.SceneAsset'」。自己按结果里的 `type` 字段过滤。
- `cocos_scene{action:"hierarchy"}` 的 `includeComponents: true` **不生效**,返回树里没有组件信息。要拿组件得对每个节点追加 `cocos_node{action:"info"}`。
- 工程当前**没有任何场景资源**(`assets/` 下 0 个 `.scene`,只有 `framework/` 的 `.ts`)。编辑器里那个 `scene-2d` 是 Creator 内置模板(`db://internal/default_file_content/scene/scene-2d.scene`)新建出来的未保存场景,不是工程资产——别浪费时间去仓库里找它。
- 安装方式与历史沿革记在项目记忆 `cocos-creator-mcp-setup`。