MCP在CocosCreator中的探索

MCP是什么

MCP全称是Model Context Protocol(模型上下文协议),是由Anthropic于2024年推出的开放协议,旨在为大型语言模型(LLM)与外部数据源、工具之间建立标准化的通信框架3。它类似于AI应用领域的"USB-C接口",能打通不同系统间的技术隔阂。

blender mcp 的探索

json 复制代码
{
    "mcpServers": {
        "blender": {
            "command": "C:/Users/Administrator/.local/bin/uvx",
            "args": [
                "blender-mcp"
            ]
        }
}

uvx是Python的一个包管理工具,类似npm

参考blender-mcp,他是通过uvx blender-mcp安装了这个package,这个package是给config用的,server里面会启动一个socket服务器,用于和blender插件进行命令交互。

使用的时候需要一个client(vscode等)配置下mcp,client启动配置mcp server,然后这个mcp server收到mcp的调用后,通过socket将命令分发到Creator插件。

那么针对Creator架构就变成清晰了。

方案1

一种是我将mcp-sever携带在插件里面,一起发布

  • packages
    • cocos-mcp
      • package.json
      • mcp-server.js -- mpc server config需要只想这里

那么client里面就需要配置

json 复制代码
{
    "mcpServers": {
        "blender": {
            "command": "node",
            "args": [
                "cocos-project/packages/cocos-mcp/mcp-server.js"
            ]
        }
}

这样会有一个问题,用户在切换项目的时候,需要频繁的变更mcp server config,显然这种方案不太合理。

唯一的好处就是mcp-server随插件一块发布,用户不购买插件是无法体验到mcp,但是其实mcp-server的运行环境和Creator是隔离的,只能通过网络进行交互。

方案2

也只能参考blend-mcp的模式,发布一个独立的cocos-mcp,让用户自己通过npm安装好

json 复制代码
{
    "mcpServers": {
        "blender": {
            "command": "npx",
            "args": [
                "cocos-mcp"
            ]
        }
}

这样用户只需要配置一次就行了,但是mcp的list tools就需要通过网络去插件里面查询了,

这样好像也没有版本的问题,因为这个mcp-server其实就是个壳子,具体的tools实现是在插件里面,还是能够满足插件的商业化需求。

而且这种方案,因为cocos-mcp是发布在npm上的,所以所有人都能免费安装,但是具体的mcp能力是需要付费的,所以这个就很有意思啦,很好玩,我的cc-plugin还可以支持对接cocos-mcp,棒极了,又是一波宣传。

blender-mcp是插件启动了一个server,我这个要相反,是cocos-mcp启动了一个server,然后插件去链接,这样方便更多的插件来提供tools能力

插件的tools能力一定要写在主进程,或者单开一个渲染进程的窗口,方便调试。

总结

以上就是个人对cocos mcp的一个探索,用嘴做游戏"的时代,是MCP最直观的注脚。它让开发者脱离底层代码束缚,通过自然语言调用工具链,聚焦创意表达67。尽管工具生态、推理精度仍是瓶颈,但自动化生成+边缘部署已证明其提效潜力------未来不属于会写代码的人,而属于会提需求的人。

相关推荐
gnip几秒前
实现elementplus官网主题切换特效
前端·css
Darling02zjh1 分钟前
HTML5
前端·html·html5
成长ing1213821 分钟前
闪白效果
前端·cocos creator
Lazy_zheng25 分钟前
React架构深度解析:从 Stack 到 Fiber,解决 CPU 和 I/O 瓶颈问题
前端·react.js·前端框架
张元清26 分钟前
什么是React并发模式中的Tearing(撕裂)
前端·面试
AndyLaw26 分钟前
统计字符数错一半,我被 length 坑了两次
前端·javascript
关羽的小刀28 分钟前
Element-UI最新版暗藏Lodash漏洞?一次真实项目安全排查记录
前端
张志鹏PHP全栈28 分钟前
Vue3第五天,ref 和 reactive的介绍和区别
前端·vue.js
郭邯30 分钟前
import.meta对象是什么?
前端
用泥种荷花1 小时前
【NPM 笔记(一)】NPM 入门知识:命令、依赖与脚本核心
前端