VRChat MCP OSC
Enables AI-driven avatar control and interactions in VRChat through OSC, allowing manipulation of avatar parameters, movement control, message sending, menu toggling, and retrieval of avatar information.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@VRChat MCP OSC wave to my friend by triggering the wave emote"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
VRChat MCP OSC
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.
Overview
By leveraging OSC (Open Sound Control) to communicate with VRChat, VRChat MCP OSC allows AI assistants such as Claude to:
Control avatar parameters and expressions
Send messages in VRChat
Respond to various VR events
And more—all through the high-level API provided by the Model Context Protocol.
Related MCP server: Blender MCP
Key Features
Avatar Control: Manipulate avatar parameters and expressions
Movement Control: Direct avatar movement and orientation
Communication: Send messages through VRChat's chatbox
Menu Access: Toggle VRChat menu and interface elements
Avatar Information: Query avatar properties and parameters
Seamless VRChat Integration: Automatic detection of avatar configurations
System Requirements
Node.js 18 or higher
VRChat with OSC enabled
Claude Desktop (with MCP support)
Using with Claude Desktop
Clone and npm link
git clone https://github.com/Krekun/vrchat-mcp-osc
cd vrchat-mcp-osc
npm linkConfigure Claude Desktop
Configure Claude Desktop by editing the claude_desktop_config.json file:
{
"mcpServers": {
"vrchat-mcp-osc": {
"command": "npx",
"args": [
"vrchat-mcp-osc"
]
}
}
}Command Line Options
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"
]
}
}
}Available Options
Option | Description | Default | Notes |
| WebSocket port | 8765 | For WebSocket communication |
| WebSocket host | localhost | For WebSocket communication |
| OSC send port | 9000 | Port for sending to VRChat |
| OSC send IP | 127.0.0.1 | Address for sending to VRChat |
| OSC receive port | 9001 | Port for receiving from VRChat |
| OSC receive IP | 127.0.0.1 | Address for receiving from VRChat |
| Enable debug logging | false | Output detailed logs |
| Disable relay server | false | When not using relay server |
Available MCP Tools
VRChat MCP OSC exposes the following MCP tools to AI assistants:
Tool Name | Description |
| Retrieves the current avatar's name |
| Lists available avatar parameters |
| Sets a specific avatar parameter |
| Triggers avatar emotes |
| Moves the avatar in a specific direction |
| Controls avatar's view direction |
| Makes the avatar jump |
| Toggles the VRChat menu |
| Toggles voice features |
| Sends a message to the VRChat chatbox |
Troubleshooting
Common Issues
VRChat not responding to commands
Ensure OSC is enabled in VRChat settings
Check that the OSC ports match between VRChat and MCP configuration
Restart VRChat and Claude Desktop
MCP server not starting
Ensure Node.js 18+ is installed
Check command line arguments for errors
Try running with
--debugflag for more detailed logsUse
npx vrchat-mcp-osc -- --debugif direct arguments don't work
NPX execution issues
If arguments aren't being recognized, try using the double dash format:
npx vrchat-mcp-osc -- --debugOn Windows, try running in a command prompt with administrator privileges
If you're having trouble with global installation, try the local npm link approach
Project Structure
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 configurationDevelopment
Build From Source
# 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 devLicense
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.
Acknowledgments
VRChat team for the OSC integration
Model Context Protocol for the standardized AI interface
Anthropic for Claude's MCP implementation
Available Tools
12 toolsget_avatar_listB
Get a list of available avatars.
Inputs: no named parameters.
get_avatar_nameB
Get the name of the current avatar.
Inputs: no named parameters.
get_avatar_parametersB
Get a list of parameters available on the current avatar.
Inputs: no named parameters.
jumpB
Make the avatar jump.
Inputs: no named parameters.
look_directionC
Turn to look in a specific direction.
Inputs: direction (required), duration.
move_avatarC
Move the avatar in a specific direction.
Inputs: direction (required), duration.
send_messageB
Send a message to the VRChat chatbox.
Inputs: message (required), send_immediately.
set_avatarC
Change to a specific avatar.
Inputs: avatar_id (required).
set_avatar_parameterC
Set a parameter on the current avatar.
Inputs: parameter_name (required), value (required).
set_emote_parameterC
Set VRCEmote on the current avatar.
Inputs: value (required).
voiceC
Toggle voice
Inputs: no named parameters.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Most tools have distinct purposes, but there is some potential overlap between 'move_avatar' and 'look_direction' for avatar movement/positioning, and 'set_avatar_parameter' and 'set_emote_parameter' both involve parameter setting. The descriptions help clarify differences, but an agent might occasionally confuse these pairs.
The naming follows a consistent verb_noun pattern (e.g., get_avatar_list, set_avatar_parameter) with minor deviations like 'jump' and 'voice' being single words instead of verb_noun pairs. Overall, it's readable and mostly predictable, though not perfectly uniform.
With 12 tools, this is well-scoped for controlling VRChat avatars via OSC. Each tool serves a clear purpose, such as avatar management, movement, communication, and parameter control, without feeling excessive or insufficient for the domain.
The toolset covers key aspects like avatar selection, movement, communication, and parameter control, but there are minor gaps such as missing tools for advanced interactions (e.g., gesture controls or environment manipulation). However, agents can likely work around these with the provided tools.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Connect AI agents to Replynodes over the Model Context Protocol.
Human-input bridge for AI agents with voice-first answer links, MCP tools, and HTTP APIs.
Related MCP Servers
- AlicenseBqualityCmaintenanceA Model Context Protocol server that allows AI assistants to interact with the VRChat API, enabling retrieval of user information, friends lists, and other VRChat data through a standardized interface.1844 npm71MIT
- AlicenseNot gradedqualityDmaintenanceConnects Blender to AI assistants through the Model Context Protocol, enabling direct AI control of 3D modeling, scene creation, and manipulation via natural language.MIT
- AlicenseAqualityDmaintenanceConnects Blender 3D to AI assistants via the Model Context Protocol, enabling natural language driven 3D scene creation, manipulation, and rendering.15MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to show, animate, and control a VRM character on the desktop, including posing and motion installation via MCP tools.1MIT