项目简介
VRChat MCP OSC 是一个 MCP (Model Context Protocol) 服务器的实现,它充当 AI 助手(如 Claude)与 VRChat 虚拟现实平台之间的桥梁。该服务器使用 OSC (Open Sound Control) 协议与 VRChat 通信,并对外提供 MCP 标准接口,使得 AI 助手可以通过 MCP 协议控制 VRChat 中的化身动作、参数、以及进行聊天互动等。
主要功能点
- 化身控制: 允许 AI 助手控制 VRChat 化身的面部表情、身体姿势等参数。
- 动作控制: 支持 AI 助手驱动化身在 VRChat 世界中移动和转向。
- 聊天互动: 使 AI 助手能够通过 VRChat 的聊天框发送消息。
- 菜单访问: 允许 AI 助手控制 VRChat 的菜单和界面元素。
- 化身信息查询: 支持 AI 助手获取当前化身的属性和参数信息。
- 无缝 VRChat 集成: 自动检测化身配置,简化设置过程。
安装步骤
-
克隆仓库: 首先,你需要克隆 vrchat-mcp-osc 的 GitHub 仓库到本地:
git clone https://github.com/Krekun/vrchat-mcp-osc cd vrchat-mcp-osc -
安装依赖并链接: 使用 npm 安装项目依赖,并进行全局链接,以便 Claude Desktop 能够找到并运行它:
npm link
服务器配置
要将 VRChat MCP OSC 服务器与 MCP 客户端(例如 Claude Desktop)连接,你需要在 MCP 客户端的配置文件中添加服务器配置信息。以下是一个 'claude_desktop_config.json' 文件的配置示例。你需要根据你的实际情况进行调整。
{ "mcpServers": { "vrchat-mcp-osc": { // 服务器名称,可以自定义 "command": "npx", // 启动服务器的命令,这里使用 npx 运行 npm link 链接的 vrchat-mcp-osc "args": [ "vrchat-mcp-osc" // 服务器启动参数,这里不带任何额外参数将使用默认配置 ] } } }
参数说明 (args 字段):
- 你可以在 'args' 数组中添加额外的命令行参数来定制服务器行为。以下是一些常用的参数及其注释,你可以根据需要添加到 'args' 数组中:
{ "mcpServers": { "vrchat-mcp-osc": { "command": "npx", "args": [ "vrchat-mcp-osc", "--websocket-port", "8765", // (可选) WebSocket 服务器端口,默认为 8765 "--websocket-host", "localhost", // (可选) WebSocket 服务器主机名,默认为 localhost "--osc-send-port", "9000", // (可选) OSC 发送端口 (发送到 VRChat),默认为 9000 "--osc-send-ip", "127.0.0.1", // (可选) OSC 发送 IP 地址 (发送到 VRChat),默认为 127.0.0.1 "--osc-receive-port", "9001", // (可选) OSC 接收端口 (接收来自 VRChat),默认为 9001 "--osc-receive-ip", "127.0.0.1", // (可选) OSC 接收 IP 地址 (接收来自 VRChat),默认为 127.0.0.1 "--debug" // (可选) 启用调试日志,输出更详细的日志信息 ] } } }
基本使用方法
- 启动 VRChat: 确保你的 VRChat 客户端已启动,并且在设置中启用了 OSC 功能。
- 配置 MCP 客户端: 将上面生成的 'claude_desktop_config.json' 配置添加到你的 MCP 客户端(例如 Claude Desktop)中。
- 连接服务器: 在 MCP 客户端中启动或连接到 "vrchat-mcp-osc" 服务器。
- 使用 AI 助手: 现在你可以使用支持 MCP 协议的 AI 助手,通过注册的工具来控制 VRChat 中的化身和进行互动了。 例如,你可以指示 AI 助手调用 'set_avatar_parameter' 工具来改变你的化身表情,或者使用 'send_message' 工具在 VRChat 中发送聊天消息。
可用的 MCP 工具
VRChat MCP OSC 服务器提供了以下 MCP 工具,供 AI 助手调用:
| 工具名称 | 描述 | |--------------------------|------------------------------------------| | 'get_avatar_name' | 获取当前化身的名称 | | 'get_avatar_parameters' | 列出当前化身可用的所有参数 | | 'set_avatar_parameter' | 设置指定的化身参数 | | 'set_emote_parameter' | 触发化身表情 (VRCEmote 参数) | | 'move_avatar' | 控制化身向特定方向移动 | | 'look_direction' | 控制化身朝向特定方向看 | | 'jump' | 使化身跳跃 | | 'menu' | 切换 VRChat 菜单显示/隐藏 | | 'voice' | 切换语音功能开启/关闭 | | 'send_message' | 向 VRChat 聊天框发送消息 |
信息
分类
桌面与硬件