本页由英文机器翻译而成。阅读英文原文。

博客

包、Claude 插件与 MCP 服务器 — 为每个任务构建合适的 AI 工具集

在 AI Game Developer 中添加包、Claude 插件和 MCP 服务器,按会话选择工具,并让新工具直接作用于已打开的聊天,无需重启。

包、Claude 插件与 MCP 服务器 — 为每个任务构建合适的 AI 工具集

AI 智能体的用处取决于它能触达哪些工具,也取决于它被给予的工具是否聚焦。AI Game Developer 让你能同时塑造这两方面。包为应用增添完整的能力,例如 Blender、音乐或知识库。Claude 插件和 MCP 服务器则从更广阔的生态中引入工具。而在每一次会话中,由你来选择智能体实际能看到哪些工具。

本文介绍这三种扩展,如何为某个任务挑选工具集,以及如何开始编写你自己的包。视频先展示包窗口,然后向一个项目添加一个我们自己编写的小型 MCP 服务器,并在一个已经打开的聊天中使用它。

先看包,然后添加、测试一个项目 MCP 服务器,并在已打开的聊天中使用它。

三种扩展

先弄清它们的区别会很有帮助:

  • 包扩展的是应用本身。一个包可以添加命令和菜单、面板、特定文件类型的编辑器、简短教程和智能体工具。Blender、SuperCollider 音乐、知识库、Tripo 和本地图像模型都是包。
  • Claude 插件把技能、命令和智能体打包在一起,供 Claude 智能体使用。你可以从市场安装,也可以直接从 GitHub 安装,或从磁盘上的文件夹安装。
  • MCP 服务器通过 Model Context Protocol 对外提供工具。任何 MCP 服务器,无论本地还是远程,都可以添加到项目中。

这三种最终都汇到同一个地方:智能体在一次会话中可以使用的工具。

第 1 步:添加并配置包

打开包窗口。它会在标题栏下方铺满整个应用,划分为可调整大小的面板:包列表、所选包的详情以及它的设置。在这里你可以查找、添加、移除和配置包,每个包都有一个自动更新开关。第一方包,例如 Blender、知识库、本地图像和视频生成、SuperCollider 和 Tripo,都会连同状态一起列出,还有一个“模型”标签页列出你可以按需下载的本地图像模型。

包窗口列出 Blender、知识库、本地图像和视频、SuperCollider 和 Tripo,并显示知识库的详情及其层级
已安装的包,含详情、层级和自动更新

包设置可以在三个层级上生效:

  • 用户:对你生效,在所有项目中都适用。
  • 项目:随项目一起提交,让整个团队拿到相同的设置。
  • 本地:仅对这台机器上的这个项目生效,例如你电脑上安装的某个工具的路径。

有些设置是带“浏览”按钮和可用空间检查的路径字段,有些则提供来自包本身的选项。设置也可以通过 gamedev CLI 读写,每个值在保存前都会按其声明的类型进行校验。

第 2 步:为本次会话选择工具

安装了某个包,并不意味着每个聊天都会带上它。工具是在输入框上方的工具行里按会话选择的:在负责建模的会话中打开 Blender,在编写玩法代码的会话中保持关闭。每次会话都会在多次启动之间记住自己的选择,而且工具行只列出当前确实能发挥作用的工具。

为什么这很重要:每个工具都会占用智能体上下文的一部分。只带任务所需工具的会话更便宜、更快,也更不容易选错工具。一条实用规则:

  • 代码会话:引擎工具和知识库。
  • 资源会话:图像工具、Tripo 或 Blender。
  • 音频会话:音乐。

更改会在下一条消息生效。启用一个工具后,它会被包含在你发送的下一条消息中,即使是回复还在生成时排队的消息也一样;禁用它,它会在下一轮消失。

第 3 步:添加 Claude 插件和 MCP 服务器

插件和 MCP 服务器都在设置中添加。对于插件,设置界面会介绍各个市场、搜索它们的目录并标出已经安装的内容,你也可以直接从 GitHub 安装,或粘贴一个文件夹路径。对于 MCP 服务器,连接测试会执行一次真实握手并列出该服务器提供的工具,这样在智能体尝试使用它之前你就知道它能用。

从 0.25.5 版本开始,新添加的插件或 MCP 服务器会作用于你已经打开的聊天( https://ai-game.dev/releases/0.25.5 )。输入框的命令列表会刷新,新工具在同一个会话的下一条消息中即可使用,无需重启聊天。排队中的消息保持原有顺序,而禁用某个扩展会让它在下一轮被移除。

你添加的 MCP 服务器属于添加时打开的那个项目,因此为某个游戏准备的服务器不会泄漏到另一个项目。

示例:一分钟搞定一个项目 MCP 服务器

在演示中,我们添加 skyward-tools,这是为我们的演示游戏编写的一个小型 MCP 服务器,用于统计关卡文件中的收集品数量。在设置的 MCP 服务器下,我们把它添加为本地进程:一个名称、stdio 传输方式、命令 node 以及脚本路径。本地服务器是你机器上的一个程序,所以应用会先询问:要运行本地进程吗?只有点击“添加并允许”才会启动它。

随后连接测试会报告服务器已连接,并且有一个工具可用。

设置中的 skyward-tools MCP 服务器,已连接,有一个可用工具
已连接:找到了服务器的工具

回到那个早已打开的聊天,我们问:“每个岛上有多少天空碎片?”智能体会使用新的 skyward-tools 服务器,并根据关卡文件进行统计,按岛屿给出一张表格。无需重启,也无需新建会话。

已打开的聊天用一张按岛屿统计天空碎片的表格作答,数据由新的 MCP 工具统计
在早已打开的聊天中使用新工具

第 4 步:编写你自己的包

如果你的团队有重复性的任务,包是共享它的好办法。包就是一个带有清单文件和若干 JavaScript 的文件夹。它可以贡献:

  • 命令、菜单和斜杠命令。
  • 面板、右侧栏视图和自有窗口,它们会跟随应用的主题。
  • 特定文件类型的编辑器和预览,例如某种自定义关卡格式。
  • 智能体工具,其结果除文本外还可以包含图像。
  • 设置、教程,以及包列表中的头像。

包也可以是纯数据。应用里的本地图像模型就是完全不含代码的包:它们声明自己的文件、下载大小、许可证以及适配的硬件。

要开发一个包,请从包窗口中使用本地文件夹。应用会就地使用它,并在文件变化时重新加载;如果构建失败,会报告错误而不是将它链接进来。当你准备好分享时,包可以从注册表、GitHub 或 npm 添加。包的工具服务器以发布者和包名命名,因此不同作者的名称永远不会冲突。

综合起来

好的工具集应该小而有意。一次性安装项目所需的包、插件和服务器,然后为每次会话挑选与任务匹配的少数几个。当任务进行到一半发生变化时,在已打开的聊天里打开某个工具,而不是从头开始。

包在 0.20.0 版本中登场( https://ai-game.dev/releases/0.20.0 )。ai-game.dev/docs/ecosystem 的生态页面展示了应用、引擎插件和 MCP 服务器如何组合在一起,ai-game.dev/docs/tools 的工具目录列出了引擎插件已经提供给智能体的内容。在 ai-game.dev/download 下载应用,开始构建你自己的工具集。

博客更多内容

全部文章