MCP.so
Sign In

VRChat MCP

@BASIC-BIT

About VRChat MCP

Local stdio MCP server for VRChat friends, worlds, groups, events, notifications, status, avatars, and VRCX history.

Config

Add this server to your MCP-compatible client using the configuration below.

{
  "mcpServers": {
    "vrchat": {
      "command": "npx",
      "args": [
        "-y",
        "@basicbit/vrchat-mcp@latest"
      ]
    }
  }
}

Tools

69

Search friends by display name (read-only).

List friends with cache-backed pagination (read-only). Defaults to online-only; set includeOffline=true to include offline friends.

Summarize friends by status and location with enriched world/group info (read-only).

Get a friend's profile, status, and location details by display name or userId (read-only).

Get an avatar profile by avatarId (read-only).

Edit your own avatar metadata: name, description, releaseStatus, and content tags. Asset fields (assetUrl, unityPackageUrl, unityVersion, version) are unreachable — a bad value there repoints the avatar at the wrong build with no undo. Content tags: content_sex, content_adult, content_violence, content_gore, content_horror. Tags merge rather than replace, so author tags survive; clearContentTags strips every content_* tag, including ones this build does not know. CAUTION — releaseStatus is risky in BOTH directions; confirm intent before changing it. Going public can expose a creator’s work against their terms, leak a private avatar, or breach VRChat’s content policy depending on what the avatar contains. Going private breaks the avatar for everyone currently wearing it. Use dryRun to preview.

Discover public calendar events with optional category/tag filters (read-only).

List calendar events in the upcoming window (read-only). Defaults to the next 7 days.

Search calendar events by term (read-only).

Create a group calendar event.

Update a group calendar event.

Follow or unfollow a group calendar event.

Delete a group calendar event after verifying whether the target is an occurrence or series.

Read favorites, favorite groups, limits, or favorited avatars with compact outputs (read-only).

Add a user, avatar, or world to a favorite group.

Remove a favorite by favorite record ID. Use vrchat_favorites to look up favoriteRecordId first.

Search groups by name or shortCode (read-only).

Get a group profile by groupId or shortCode (read-only).

List one page of compact group members by default. Use view=all only when a complete, cached snapshot is required (read-only, capped at 10,000).

List group roles or role templates with compact fields (read-only).

Assign/remove member roles or create/update/delete group role definitions.

List group calendar events (read-only).

Get a single group calendar event (read-only).

Get the next upcoming calendar event for a group (read-only).

List upcoming group events in a time window (read-only).

Summarize active group instances (read-only).

List recent posts for a group (read-only).

Create a group post (announcement). Does not notify members unless sendNotification is true.

Update a group post. Omitted fields keep their current values; pass roleIds: [] to clear role restrictions. VRChat replaces the whole post on edit, so this reads the most recent 300 posts to recover the fields you did not send. If the post is older than that window, supplying title, text, and visibility still lets the edit land, but it cannot preserve roleIds or imageId and the response reports mergedFromExisting: false. Editing does not re-notify members unless sendNotification is true.

Delete a group post. Members already notified about it are not un-notified.

Create a new instance.

Invite yourself or one/many users to an instance. Users may be usr_ ids or exact display names. Destination is here=true, a full location like "wrld_:instance", or worldId+instanceId. A bare instanceId is not accepted: VRChat needs the worldId and rejects the stripped form.

Invite one or many users to a group. Users may be usr_ ids or exact display names. Requires groupId or shortCode. confirmOverrideBlock defaults false; pass true only to override an existing target-user block.

Send friend requests to one or many users. Users may be usr_ ids or exact display names.

Send boops to one or many users. Users may be usr_ ids or exact display names.

Invite yourself to an instance (low-risk write).

Invite a user to an instance.

Invite a user to your current instance. Requires only the target userId; resolves your current location automatically. If you only have a display name, run vrchat_friends_search first to get userId.

Get your current status + description (read-only).

Set your status + description (write). Requires status or color (blue/green/orange/red); if both are provided they must agree. Defaults to current user.

Compact VRChat status-page overview: up/down state, graph min/max/current values, unresolved + recent incidents, and active + upcoming maintenance (read-only).

Get your profile (read-only). Use view=presence/summary/profile presets; provide fields to override. Optionally include a paged list of your groups.

Get a user profile (read-only). Optionally include a paged list of the user's groups.

List a user's groups (id + name only, cache-backed).

Update your profile fields (bio, bioLinks, pronouns, userIcon, booping, content filters). Status is preserved automatically.

List recent notifications (read-only).

Search worlds by name and return compact results (read-only).

List favorited worlds with compact results (read-only).

Get a world profile by worldId or name (read-only).

Summarize world instances by access type and region (read-only).

Detect VRCX on this machine and report database path, active user, and DB version (read-only).

Get a VRCX user memo by userId (read-only).

Get a VRCX world memo by worldId (read-only).

Get a VRCX avatar memo by avatarId (read-only).

List recent world visits from the VRCX gamelog (read-only). This reflects your local VRChat/VRCX activity history.

List recent instance sessions for your active VRCX account (read-only). Derived from VRCX gamelog OnPlayerLeft entries.

Summarize your relationship history with a user using VRCX logs: time spent, join count, and last seen (read-only).

List recent shared instance sessions with a user from VRCX logs (read-only). Use this for deep history; results are limited by default.

Invalidate cached data (local-only).

Fetch API config (read-only).

Get current system time (read-only).

List VRChat OpenAPI operationIds and generated-tool availability for vrchat_read/vrchat_write/vrchat_delete.

Look up exact OpenAPI params and request body schema for a VRChat operationId.

Begin login flow via local browser UI.

Auth status.

Logout and clear session.

Call an available generated VRChat GET operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params.

Call an available generated VRChat POST/PUT/PATCH operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params/body.

Call an available generated VRChat DELETE operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params/body.

Overview

What is VRChat MCP?

VRChat MCP is a local stdio Model Context Protocol server for VRChat power users and agent workflows. It exposes curated tools to manage friends, worlds, groups, notifications, avatars, invites, and local VRCX data.

How to use VRChat MCP?

Install via npm by adding the configuration to your MCP client’s mcpServers block with the command npx -y @basicbit/vrchat-mcp@latest. Run the login tool once from your MCP client to authenticate with VRChat. Cookies are stored in the OS keychain by default, with a file fallback for headless environments.

Key features of VRChat MCP

  • Friends, presence, and location summaries
  • Worlds and active instance lookups
  • Groups, members, posts, and calendar events
  • Notifications, status, avatars, and invites
  • VRCX local history, memos, and shared-session queries

Use cases of VRChat MCP

  • Automate friend status checks and location summaries.
  • Fetch world and instance details for event planning.
  • Retrieve group announcements, posts, and event calendars.
  • Manage notifications, avatars, and invite workflows.
  • Look up VRCX local history and shared sessions.

FAQ from VRChat MCP

What does VRChat MCP do?

It provides a set of tools for VRChat automation and agent workflows, covering friends, worlds, groups, notifications, and VRCX data.

How do I authenticate with VRChat?

After installing the server, run the login tool from your MCP client once. Cookies are stored in the OS keychain or a file as fallback.

What runtime is required?

The server runs via npx (Node.js) and is published as an npm package. A compatible MCP client is needed to invoke tools.

Where are cookies stored?

Cookies are stored in the OS keychain by default. For headless or non-GUI environments, a file fallback is used automatically.

Is the server local or remote?

It runs locally as a stdio MCP server, communicating with VRChat’s API through the user’s authenticated session.

Frequently asked questions

What does VRChat MCP do?

It provides a set of tools for VRChat automation and agent workflows, covering friends, worlds, groups, notifications, and VRCX data.

How do I authenticate with VRChat?

After installing the server, run the login tool from your MCP client once. Cookies are stored in the OS keychain or a file as fallback.

What runtime is required?

The server runs via `npx` (Node.js) and is published as an npm package. A compatible MCP client is needed to invoke tools.

Where are cookies stored?

Cookies are stored in the OS keychain by default. For headless or non-GUI environments, a file fallback is used automatically.

Is the server local or remote?

It runs locally as a stdio MCP server, communicating with VRChat’s API through the user’s authenticated session.

Comments

More Other MCP servers