VRChat OSC Bridge
STDIOBridge between AI assistants and VRChat using Model Context Protocol for avatar control.
Bridge between AI assistants and VRChat using Model Context Protocol for avatar control.
VRChat MCP OSC provides a bridge between AI assistants and VRChat using the Model Context Protocol (MCP), enabling AI-driven avatar control and interactions in virtual reality environments.
By leveraging OSC (Open Sound Control) to communicate with VRChat, VRChat MCP OSC allows AI assistants such as Claude to:
git clone https://github.com/Krekun/vrchat-mcp-osc cd vrchat-mcp-osc npm link
Configure Claude Desktop by editing the claude_desktop_config.json
file:
{ "mcpServers": { "vrchat-mcp-osc": { "command": "npx", "args": [ "vrchat-mcp-osc" ] } } }
The server supports various command-line arguments for customization:
# Claude Desktop configuration { "mcpServers": { "vrchat-mcp-osc": { "command": "npx", "args": [ "vrchat-mcp-osc", "--websocket-port", "8765", "--websocket-host", "localhost", "--osc-send-port", "9000", "--osc-send-ip", "127.0.0.1", "--osc-receive-port", "9001", "--osc-receive-ip", "127.0.0.1", "--debug" ] } } }
Option | Description | Default | Notes |
---|---|---|---|
--websocket-port <port> | WebSocket port | 8765 | For WebSocket communication |
--websocket-host <host> | WebSocket host | localhost | For WebSocket communication |
--osc-send-port <port> | OSC send port | 9000 | Port for sending to VRChat |
--osc-send-ip <ip> | OSC send IP | 127.0.0.1 | Address for sending to VRChat |
--osc-receive-port <port> | OSC receive port | 9001 | Port for receiving from VRChat |
--osc-receive-ip <ip> | OSC receive IP | 127.0.0.1 | Address for receiving from VRChat |
--debug | Enable debug logging | false | Output detailed logs |
--no-relay | Disable relay server | false | When not using relay server |
VRChat MCP OSC exposes the following MCP tools to AI assistants:
Tool Name | Description |
---|---|
get_avatar_name | Retrieves the current avatar's name |
get_avatar_parameters | Lists available avatar parameters |
set_avatar_parameter | Sets a specific avatar parameter |
set_emote_parameter | Triggers avatar emotes |
move_avatar | Moves the avatar in a specific direction |
look_direction | Controls avatar's view direction |
jump | Makes the avatar jump |
menu | Toggles the VRChat menu |
voice | Toggles voice features |
send_message | Sends a message to the VRChat chatbox |
VRChat not responding to commands
MCP server not starting
--debug
flag for more detailed logsnpx vrchat-mcp-osc -- --debug
if direct arguments don't workNPX execution issues
npx vrchat-mcp-osc -- --debug
vrchat-mcp-osc/
├── packages/
│ ├── mcp-server/ # MCP server implementation (main entry point)
│ ├── relay-server/ # WebSocket to OSC relay
│ ├── types/ # Shared TypeScript interfaces
│ └── utils/ # Common utilities
└── pnpm-workspace.yaml # Workspace configuration
# Clone the repository git clone https://github.com/Krekun/vrchat-mcp-osc cd vrchat-mcp-osc # Install dependencies pnpm install # Build all packages pnpm -r build # Development mode pnpm -r dev
VRChat MCP OSC is dual-licensed as follows:
For Non-Commercial Use: You may use, modify, and redistribute the software under the terms of the MIT License. (See the MIT License file for details.)
For Commercial Use: Commercial use of this software requires a separate commercial license.
By using this software under the MIT License for non-commercial purposes, you agree to the terms of that license. Commercial users must obtain a commercial license as described above.