get_avatar_parameters reads what the loaded avatar actually exposes, so the assistant sets real parameters instead of inventing names — which is the difference between this and sending raw OSC yourself. Everything runs against your local VRChat instance over OSC, so the game has to be running with OSC switched on before any of it responds.
A bridge between an MCP client and VRChat over OSC. It reads the current avatar's parameters from the local configuration and sends movement, expression and chat messages to the running game.
- get_avatar_name and get_avatar_parameters — which avatar is loaded and which parameters it exposes
- set_avatar_parameter — write a specific avatar parameter
- set_emote_parameter — trigger an emote
- move_avatar and look_direction — move in a direction and control where the avatar is looking
- jump — make the avatar jump
- menu and voice — toggle the VRChat menu and voice features
- send_message — post to the VRChat chatbox
Node.js 18 or higher, VRChat with OSC enabled, and Claude Desktop. Launched with npx. The OSC and WebSocket endpoints are configurable on the command line — --osc-send-port and --osc-send-ip for messages to VRChat, --osc-receive-port and --osc-receive-ip for messages back, plus --websocket-port and --websocket-host; --debug turns on detailed logging and --no-relay disables the relay server.
