VTube Studio MCP服务器
概述
VTube Studio MCP服务器是一个插件,旨在将VTube Studio与模型上下文协议(MCP)集成。此服务器便于VTube Studio和其他MCP兼容应用程序之间的通信,允许直接从VTube Studio检索和操作Live2D参数。
特性
- WebSocket连接:建立与VTube Studio的WebSocket连接以进行实时通信。
- 认证:处理VTube Studio的身份验证,包括用于安全访问的令牌管理。当MCP服务器连接到VTube Studio时,它会请求身份验证。如果没有可用的存储令牌或存储的令牌无效,则VTube Studio将生成一个新令牌。用户必须在VTube Studio中批准此身份验证请求,然后将令牌发送到MCP服务器进行安全通信。根据服务器的配置,此令牌可以选择性地存储以供将来的会话使用。
- Live2D参数检索:提供从VTube Studio获取Live2D参数的工具,实现动态控制和交互。
- 令牌存储选项:提供了启动服务器的灵活性,而无需将身份验证令牌存储到文件中,从而增强了某些用例中的安全性。
安装
要安装VTube Studio MCP服务器,请执行以下步骤:
- 确保你的系统上安装了Node.js。
- 克隆此存储库或下载源代码。
- 导航到项目目录并运行:
npm install- 使用以下命令启动服务器:
npm start用法
启动服务器
要使用默认设置(启用令牌存储)启动服务器,请执行以下操作:
npm start要启动服务器而不存储身份验证令牌,请执行以下操作:
node dist/index.js --no-store-token配置
服务器可以通过以下方式配置 MCPServerOptions 界面。关键选项包括:
name:MCP服务器的名称。description:服务器用途的简要说明。version:服务器的版本。storeToken:启用或禁用令牌存储的布尔标志(默认值为true).
工具
- 激活表达式:在VTube Studio中激活当前模型的特定表达式。
- 添加自定义参数:向当前模型添加自定义参数以进行高级控制。
- API服务器发现:通过UDP在本地网络上收听VTube Studio API状态广播(目前是UDP功能的占位符)。
- 检查面部发现:检查VTube Studio的跟踪系统当前是否检测到人脸。
- 控制表达式:控制当前模型的表达式的状态或强度。
- 控制项动画:管理场景中项目的动画设置。
- 删除自定义参数:从当前模型中删除自定义参数。
- 获取艺术网格列表:检索当前模型的艺术网格列表,可用于自定义。
- 获取可用型号:列出可以加载到VTube Studio中的所有可用型号。
- 获取当前模型:检索有关VTube Studio中当前加载的模型的信息。
- 获取当前模型物理:获取当前模型的物理设置。
- 获取表达式状态:检索模型表达式的当前状态。
- 获取热键:列出在VTube Studio中配置的可用热键。
- 获取项目列表:检索场景中当前项目的列表。
- 获取Live2D参数:从VTube Studio检索Live2D参数以进行动态控制。
- 获取参数值:获取VTube Studio中特定参数的当前值。
- 获取后处理列表:检索可用后处理效果的列表。
- 获取场景颜色叠加信息:检索有关场景颜色覆盖的信息,例如照明设置。
- 获取跟踪参数:获取与VTube Studio中的面部或身体跟踪相关的参数。
- 获取VTS文件夹:检索VTube Studio使用的文件夹路径或配置。
- 获取VTS统计信息:从VTube Studio获取使用统计数据或性能数据。
- 喷油参数数据:将参数数据注入或更新到VTube Studio以进行自定义控制。
- 将项目加载到场景中:将特定项目加载到VTube Studio中的当前场景中。
- 负载模型:将指定的模型加载到VTube Studio中。
- 在场景中移动项目:调整场景中项目的位置或属性。
- 移动模型:更改当前模型在场景中的位置或旋转。
- NDI 配置:管理流媒体或输出的NDI(网络设备接口)配置。
- 将项目固定到模型:将项目固定到模型的特定部分,以实现同步移动。
- 从场景中删除项目:从当前场景中删除指定项目。
- 请求API权限:向用户请求访问某些功能的特定API权限。
- 选择艺术网格:选择特定的艺术网格进行操作或自定义。
- 设置当前模型物理:更新或覆盖当前模型的物理设置。
- 设置后处理效果:在VTube Studio中应用或修改后处理效果。
- 订阅活动:订阅VTube Studio的特定事件或更新以进行实时监控。
- 色彩艺术网格:将颜色着色应用于选定的艺术网格,以进行视觉自定义。
- 触发热键:触发在VTube Studio中配置的特定热键操作。
项目结构
src/:包含服务器的源代码。
- index.ts:应用程序的入口点。 - mcp-server.ts:核心MCP服务器实现。 - tools/:包含以下工具 getLive2DParameters.ts 针对特定功能。 - utils/:实用功能,包括 authenticate.ts 用于处理身份验证。
test/:包含服务器各种组件的单元测试。dist/:从TypeScript源代码编译的JavaScript输出。
测试
使用以下命令运行单元测试:
npm test这将执行 test/ 使用Mocha的目录。
贡献
欢迎投稿!请在项目的GitHub页面上提交问题或拉取请求,以获取任何错误、功能或改进。
许可证
此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。
联系
如需支持或咨询,请通过GitHub issues联系项目维护人员。
