Atlas / MCP servers / krekun / VRChat OSC

VRChat OSCSAFE

mcp/krekun/vrchat-osc
Verdict
SAFE
Grade
B
Trust score
87 /100
Exposed tools
12 7r · 5w · 0d
Transport
stdio
License
—
Stars
27
01

Overview

From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.

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.

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 link

Configure 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"             
]
}
}
}

Availabl

Read from source at commit 0d4c3ac56661OBSERVED · 2026-10-09
Advertisement
02

Connect

Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.

claude-code
claude mcp add utils -- npx -y @vrchat-mcp-osc/[email protected]
claude-desktop
{
  "mcpServers": {
    "utils": {
      "command": "npx",
      "args": [
        "-y",
        "@vrchat-mcp-osc/[email protected]"
      ]
    }
  }
}
03

Exposed tools (12)

7 read · 5 write · 0 destructive.

ToolRiskDescription
get_avatar_listreadGet a list of available avatars.
get_avatar_namereadGet the name of the current avatar.
get_avatar_parametersreadGet a list of parameters available on the current avatar.
jumpreadMake the avatar jump.
look_directionreadTurn to look in a specific direction.
menureadToggle Menu.
move_avatarwriteMove the avatar in a specific direction.
send_messagewriteSend a message to the VRChat chatbox.
set_avatarwriteChange to a specific avatar.
set_avatar_parameterwriteSet a parameter on the current avatar.
set_emote_parameterwriteSet VRCEmote on the current avatar.
voicereadToggle voice
04

Trust audit

SAFEgrade B · trust 87/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
declared (2 observation(s))
Network
declared (5 observation(s))
Shell
declared (1 observation(s))
Dependencies
not all pinned
Secrets in source
none-found

Findings (8)

LOWInventory / provenance · inv.no_license · CWE-1104
Why it matters. no LICENSE file and no repo licence
Fix. add a licence
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/mcp-server/src/server.ts:117
path.resolve(__dirname, '../../relay-server/dist/index.js'),
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
packages/mcp-server/src/server.ts:129
path.resolve(process.cwd(), '../../node_modules/@vrchat-mcp-osc/relay-server/dist/index.js')
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
package.json
pnpm, typescript
Why it matters. 2 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/mcp-server/package.json
@modelcontextprotocol/sdk, node-osc, uuid, ws, zod, @types/node, @types/node-osc, @types/uuid
Why it matters. 13 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/relay-server/package.json
node-osc, ws, @types/node, @types/node-osc, @types/ws, eslint, rimraf, ts-node
Why it matters. 9 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/types/package.json
@types/node, eslint, rimraf, typescript
Why it matters. 4 dependency range(s) float
Fix. pin exact versions or ship a lockfile
LOWSupply chain · supply.unpinned · CWE-829, CWE-1357
packages/utils/package.json
winston, @types/node, eslint, rimraf, typescript
Why it matters. 5 dependency range(s) float
Fix. pin exact versions or ship a lockfile

Gates applied: no_behavioural_pass, no_license.

Audited 2026-10-09 · audit v0.4.1 · source sha 0d4c3ac56661full audit observations/trust-audit/mcp-server/krekun__vrchat-osc.json · Report an issue / request a re-scan
05

Audit history

Every audit this server has had. A grade with a past is a grade somebody is still checking.

DateSourceVerdictGradeScoreChange
2026-10-090d4c3ac56661SAFEB87first audit
06

Questions

What tools does VRChat OSC expose?

12 in total: 7 read-only, 5 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.

Is VRChat OSC safe to connect to an agent?

The audit found nothing in the source that contradicts what it says it does, and graded it B (87/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.

What credentials does VRChat OSC need?

No credential environment variables were found in its source, so it appears to need none.

How does VRChat OSC run?

It speaks stdio, so it runs as a local process your client starts. It is published on npm as @vrchat-mcp-osc/utils at 0.1.0.

How current is this page?

The grade is for one exact copy of the source (0d4c3ac56661), read on 2026-10-09. The repository is watched and re-audited when it changes.

Advertisement