Kuretan/vrchat-mcp-osc
Built by Metorial, the integration platform for agentic AI.
Kuretan/vrchat-mcp-osc
Server Summary
Control avatar parameters and expressions
Direct avatar movement and orientation
Send messages in VRChat
Toggle VRChat menu and interface
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 | WebSocket port | 8765 | For WebSocket communication |
--websocket-host | WebSocket host | localhost | For WebSocket communication |
--osc-send-port | OSC send port | 9000 | Port for sending to VRChat |
--osc-send-ip | OSC send IP | 127.0.0.1 | Address for sending to VRChat |
--osc-receive-port | OSC receive port | 9001 | Port for receiving from VRChat |
--osc-receive-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.