mcpField
M
mcp-source

mcp-source

github.com/coplaydev开发15.5k91 次安装1 周前更新
代码仓库

关于 mcp-source

用于切换 Unity 项目中 `com.coplaydev.unity-mcp` 包源的技能。它会查找目标 manifest,根据所选来源生成 URL,并更新依赖项。

主要功能

  1. 01选择 main、beta、branch 或 local 来源
  2. 02通过 MCP 资源查找 Unity 项目
  3. 03使用文件系统备用方式查找 manifest
  4. 04根据代码库信息生成包 URL
  5. 05更新 manifest 中的依赖值

适用场景

  1. 01使用稳定版或 beta 包源
  2. 02在 Unity 项目中测试 pull request 分支
  3. 03将项目指向本地包检出目录

MCP 相关

该技能读取 `mcpforunity://project/info` 并列出可用 MCP 资源,以定位已连接的 Unity 项目;未连接时会改为搜索文件系统。

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/coplaydev/unity-mcp --skill mcp-source

安装后在 Claude Code 中输入/mcp-source确认已加载。

详细介绍

切换 Unity 软件包源

你正在一个或多个 Unity 项目中切换 com.coplaydev.unity-mcp 软件包源。

allowed-tools

Bash, Read, Edit, ReadMcpResourceTool, ListMcpResourcesTool

Instructions

1. 解析参数

用户的参数为:$ARGUMENTS

有效值:main、beta、branch、local 或空。

如果参数为空或不属于这四个有效值之一,请让用户选择:

  • main — 上游 main 分支(稳定版本)
  • beta — 上游 beta 分支(预发布版本)
  • branch — 当前远程分支(用于测试 PR)
  • local — 指向本地检出目录的文件引用(用于实时开发迭代)
2. 检测仓库上下文

从当前工作目录运行以下 git 命令,以查找 unity-mcp 仓库:

git rev-parse --show-toplevel    # → repo_root
git rev-parse --abbrev-ref HEAD  # → branch_name
git remote get-url origin        # → origin_url

将 SSH origin 转换为 HTTPS:如果 origin_url 以 [email protected]: 开头,则将其转换为 https://github.com/{owner}/{repo}.git。

3. 查找目标 Unity 项目

尝试以下两种方法查找要更新的 Packages/manifest.json 文件:

方法 A — MCP 资源(首选): 对每个已连接的 Unity 实例读取 mcpforunity://project/info(使用 ListMcpResourcesTool 查找可用实例)。提取 projectRoot,并使用 {projectRoot}/Packages/manifest.json。

方法 B — 文件系统回退: 如果没有连接 MCP 实例,使用 Bash 从当前工作目录向上搜索 Packages/manifest.json 文件:

find "$(pwd)" -maxdepth 3 -name "manifest.json" -path "*/Packages/manifest.json" 2>/dev/null

如果找到多个 manifest,请先与用户确认,然后全部更新。

4. 构建软件包 URL

根据用户的选择,构造依赖项值:

选择URL
mainhttps://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#main
betahttps://github.com/CoplayDev/unity-mcp.git?path=/MCPForUnity#beta
branch{origin_https}?path=/MCPForUnity#{branch_name}
localfile:{repo_root}/MCPForUnity

对于 branch:使用已规范化为 HTTPS 的 origin URL 和当前 git 分支名称。 对于 local:使用带有 file: 前缀的仓库根目录绝对路径(不带 //),例如 file:/Users/davidsarno/unity-mcp/MCPForUnity。

5. 更新每个 manifest

对于发现的每个 manifest.json:

  1. 使用 Read 工具读取文件
  2. 找到 "com.coplaydev.unity-mcp" 依赖项所在行
  3. 使用 Edit 工具将旧值替换为新的 URL
  4. 报告更改内容:旧值 → 新值、文件路径
6. 报告结果

更新完成后,告知用户:

  • 更新了哪些 manifest
  • 旧的软件包源值和新值
  • 提醒他们:“Unity 会自动重新解析软件包。如果没有自动解析,请打开 Package Manager 并点击 Refresh。”

评论

支持 Markdown