VRChat MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VRCHAT_MCP_LOG_LEVEL | No | debug, info, warn, or error. | |
| VRCHAT_MCP_USER_AGENT | No | Descriptive user agent for VRChat API requests. | |
| VRCHAT_MCP_CONFIG_FILE | No | Path to a JSON config file. | |
| VRCHAT_MCP_COOKIE_FILE | No | Cookie file path when VRCHAT_MCP_COOKIE_STORE=file. | |
| VRCHAT_MCP_ALLOW_WRITES | No | Set to false for read-only mode. | |
| VRCHAT_MCP_COOKIE_STORE | No | keychain, file, or memory. Defaults to keychain. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| resources | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| vrchat_friends_searchA | Search friends by display name (read-only). |
| vrchat_friends_listB | List friends with cache-backed pagination (read-only). Defaults to online-only; set includeOffline=true to include offline friends. |
| vrchat_friends_overviewB | Summarize friends by status and location with enriched world/group info (read-only). |
| vrchat_friend_detailsA | Get a friend's profile, status, and location details by display name or userId (read-only). |
| vrchat_avatar_profileB | Get an avatar profile by avatarId (read-only). |
| vrchat_avatar_updateA | 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. |
| vrchat_events_discoverB | Discover public calendar events with optional category/tag filters (read-only). |
| vrchat_events_upcomingA | List calendar events in the upcoming window (read-only). Defaults to the next 7 days. |
| vrchat_events_searchC | Search calendar events by term (read-only). |
| vrchat_event_createC | Create a group calendar event. |
| vrchat_event_updateC | Update a group calendar event. |
| vrchat_event_followC | Follow or unfollow a group calendar event. |
| vrchat_event_deleteA | Delete a group calendar event after verifying whether the target is an occurrence or series. |
| vrchat_favoritesB | Read favorites, favorite groups, limits, or favorited avatars with compact outputs (read-only). |
| vrchat_favorite_addB | Add a user, avatar, or world to a favorite group. |
| vrchat_favorite_removeA | Remove a favorite by favorite record ID. Use vrchat_favorites to look up favoriteRecordId first. |
| vrchat_groups_searchB | Search groups by name or shortCode (read-only). |
| vrchat_group_profileB | Get a group profile by groupId or shortCode (read-only). |
| vrchat_group_membersA | 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). |
| vrchat_group_rolesA | List group roles or role templates with compact fields (read-only). |
| vrchat_group_roles_manageA | Assign/remove member roles or create/update/delete group role definitions. |
| vrchat_group_events_listC | List group calendar events (read-only). |
| vrchat_group_event_getC | Get a single group calendar event (read-only). |
| vrchat_group_event_nextC | Get the next upcoming calendar event for a group (read-only). |
| vrchat_group_events_upcomingB | List upcoming group events in a time window (read-only). |
| vrchat_group_instances_overviewC | Summarize active group instances (read-only). |
| vrchat_group_posts_recentB | List recent posts for a group (read-only). |
| vrchat_group_post_createA | Create a group post (announcement). Does not notify members unless sendNotification is true. |
| vrchat_group_post_updateA | 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. |
| vrchat_group_post_deleteA | Delete a group post. Members already notified about it are not un-notified. |
| vrchat_instance_createC | Create a new instance. |
| vrchat_inviteA | 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. |
| vrchat_group_inviteB | 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. |
| vrchat_friend_requestB | Send friend requests to one or many users. Users may be usr_ ids or exact display names. |
| vrchat_boopC | Send boops to one or many users. Users may be usr_ ids or exact display names. |
| vrchat_invite_selfB | Invite yourself to an instance (low-risk write). |
| vrchat_invite_userC | Invite a user to an instance. |
| vrchat_invite_user_to_meA | 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. |
| vrchat_status_getA | Get your current status + description (read-only). |
| vrchat_status_setA | Set your status + description (write). Requires status or color (blue/green/orange/red); if both are provided they must agree. Defaults to current user. |
| vrchat_status_page_overviewA | Compact VRChat status-page overview: up/down state, graph min/max/current values, unresolved + recent incidents, and active + upcoming maintenance (read-only). |
| vrchat_meA | Get your profile (read-only). Use view=presence/summary/profile presets; provide fields to override. Optionally include a paged list of your groups. |
| vrchat_user_profileB | Get a user profile (read-only). Optionally include a paged list of the user's groups. |
| vrchat_user_groupsA | List a user's groups (id + name only, cache-backed). |
| vrchat_profile_updateB | Update your profile fields (bio, bioLinks, pronouns, userIcon, booping, content filters). Status is preserved automatically. |
| vrchat_notifications_recentB | List recent notifications (read-only). |
| vrchat_worlds_searchC | Search worlds by name and return compact results (read-only). |
| vrchat_worlds_favoritesC | List favorited worlds with compact results (read-only). |
| vrchat_world_profileA | Get a world profile by worldId or name (read-only). |
| vrchat_world_instances_overviewC | Summarize world instances by access type and region (read-only). |
| vrcx_db_statusA | Detect VRCX on this machine and report database path, active user, and DB version (read-only). |
| vrcx_memos_user_getC | Get a VRCX user memo by userId (read-only). |
| vrcx_memos_world_getB | Get a VRCX world memo by worldId (read-only). |
| vrcx_memos_avatar_getB | Get a VRCX avatar memo by avatarId (read-only). |
| vrcx_gamelog_world_visits_recentA | List recent world visits from the VRCX gamelog (read-only). This reflects your local VRChat/VRCX activity history. |
| vrcx_instances_recentA | List recent instance sessions for your active VRCX account (read-only). Derived from VRCX gamelog OnPlayerLeft entries. |
| vrcx_user_relationship_summaryA | Summarize your relationship history with a user using VRCX logs: time spent, join count, and last seen (read-only). |
| vrcx_user_relationship_sessionsA | List recent shared instance sessions with a user from VRCX logs (read-only). Use this for deep history; results are limited by default. |
| vrchat_cache_invalidateB | Invalidate cached data (local-only). |
| vrchat_config_getB | Fetch API config (read-only). |
| vrchat_system_timeB | Get current system time (read-only). |
| vrchat_operationsA | List VRChat OpenAPI operationIds and generated-tool availability for vrchat_read/vrchat_write/vrchat_delete. |
| vrchat_operation_detailsA | Look up exact OpenAPI params and request body schema for a VRChat operationId. |
| vrchat_auth_beginA | Begin login flow via local browser UI. |
| vrchat_auth_statusD | Auth status. |
| vrchat_auth_logoutA | Logout and clear session. |
| vrchat_readA | Call an available generated VRChat GET operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params. |
| vrchat_writeA | Call an available generated VRChat POST/PUT/PATCH operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params/body. |
| vrchat_deleteB | Call an available generated VRChat DELETE operation by operationId. Use vrchat_operations and vrchat_operation_details to discover params/body. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/BASIC-BIT/vrchat-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server