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。尽管工具生态、推理精度仍是瓶颈,但自动化生成+边缘部署已证明其提效潜力------未来不属于会写代码的人,而属于会提需求的人。

相关推荐
5***o50021 小时前
前端在移动端中的NativeBase
前端
灵魂学者21 小时前
Vue3.x —— 父子通信
前端·javascript·vue.js·github
1***Q78421 小时前
前端跨域解决方案
前端
小雨青年1 天前
MateChat 进阶实战:打造零后端、隐私安全的“端侧记忆”智能体
前端·华为·ai·华为云·状态模式
勇气要爆发1 天前
问:ES5和ES6的区别
前端·ecmascript·es6
永不停歇的蜗牛1 天前
Maven的POM文件相关标签作用
服务器·前端·maven
芳草萋萋鹦鹉洲哦1 天前
【vue/js】文字超长悬停显示的几种方式
前端·javascript·vue.js
HIT_Weston1 天前
47、【Ubuntu】【Gitlab】拉出内网 Web 服务:Nginx 事件驱动分析(一)
前端·ubuntu·gitlab
开发者小天1 天前
React中的 闭包陷阱
前端·javascript·react.js
翔云 OCR API1 天前
承兑汇票识别接口技术解析-开发者接口
开发语言·前端·数据库·人工智能·ocr