VTube Studio MCP服务器插件

VTube Studio MCP服务器插件是一个用于集成VTube Studio与模型上下文协议(MCP)的工具,支持实时通信和Live2D参数控制。

  • by hkopenai
  • TypeScript
  • 本地部署
  • 8 星标
  • 更新于
在 GitHub 查看 hkopenai/vtube-studio-plugin-mcp-server

使用说明

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服务器,请执行以下步骤:

  1. 确保你的系统上安装了Node.js。
  2. 克隆此存储库或下载源代码。
  3. 导航到项目目录并运行:
    npm install
    
  4. 使用以下命令启动服务器:
    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联系项目维护人员。