VRChat MCP Server
The VRChat MCP Server is a tool for interacting with the VRChat API through a Model Context Protocol, offering structured access to various functionalities:
Manage user information (retrieve your own data)
Handle friend-related actions (view friends list, send friend requests)
Search, select, and switch avatars
Explore worlds (search, list favorites, create instances)
Manage groups (search, join, list favorite groups)
Handle invitations (request invites, view invite messages)
Access notifications
Debug server operations via MCP Inspector
Integrate with Claude Desktop for automated management
Enables configuration of the MCP server using environment variables stored in a .env file for credentials and settings.
Hosts the repository for cloning and contributing to the project.
Used as the runtime environment for executing the MCP server.
Handles dependency management and provides build/start scripts for the MCP server.
Provides access to VRChat's API endpoints for retrieving user data, friend information, avatar details, world data, and other VRChat-specific information through a standardized protocol.
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 Server show me my friends list"
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.

This project is a Model Context Protocol (MCP) server for interacting with the VRChat API. It allows you to retrieve various information from VRChat using a standardized protocol.
Overview
The VRChat MCP server provides a way to access VRChat's API endpoints in a structured manner. It supports a wide range of functionalities, including user authentication, retrieving user and friend information, accessing avatar and world data, and more.
Related MCP server: VRChat MCP OSC
Usage
To start the server, ensure you have the necessary environment variables set:
export VRCHAT_USERNAME=your_username
export VRCHAT_AUTH_TOKEN=your_auth_tokenHow to obtain AUTH TOKEN
You can use the following command to login and obtain an auth token:
$ npx vrchat-auth-token-checker
VRChat Username: your-username
Password: ********
# If 2FA is enabled
2FA Code: 123456
# Success output
Auth Token: authcookie-xxxxxPlease handle the obtained token with care as it has a very long lifetime
Then, run the following command:
npx vrchat-mcpThis will launch the MCP server, allowing you to interact with the VRChat API through the defined tools.
Usage with Claude Desktop
To use this MCP server with Claude Desktop, you do not need to run npx vrchat-mcp manually. Instead, add the following configuration to your Claude Desktop config file:
MacOS:
~/Library/Application Support/Claude/claude_desktop_config.jsonWindows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"vrchat-mcp": {
"command": "npx",
"args": ["vrchat-mcp"],
"env": {
"VRCHAT_USERNAME": "your-username",
"VRCHAT_AUTH_TOKEN": "your-auth-token"
}
}
}
}Then, start Claude Desktop as usual. If you have to use nodenv or nvm, you may need to specify the full path to the npx command.
Available Tools
This Model Context Protocol server provides the following VRChat-related tools:
User Related
vrchat_get_friends_list: Get a list of friends
vrchat_send_friend_request: Send a friend request
Avatar Related
vrchat_search_avatars: Search for avatars
vrchat_select_avatar: Select and switch to a specific avatar
World Related
vrchat_search_worlds: Search for worlds
vrchat_list_favorited_worlds: Get a list of favorited worlds
Instance Related
vrchat_create_instance: Create a new instance
vrchat_get_instance: Get information about a specific instance
Group Related
vrchat_search_groups: Search for groups
vrchat_join_group: Join a group
Favorites Related
vrchat_list_favorites: Get a list of favorites
vrchat_add_favorite: Add a new favorite
vrchat_list_favorite_groups: Get a list of favorite groups
Invite Related
vrchat_list_invite_messages: Get a list of invite messages
vrchat_request_invite: Request an invite
vrchat_get_invite_message: Get a specific invite message
Notification Related
vrchat_get_notifications: Get a list of notifications
Debugging
First, build the project:
npm install
npm run buildSince MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we strongly recommend using the MCP Inspector.
You can launch the MCP Inspector via npm with this command:
npx @modelcontextprotocol/inspector "./dist/main.js"Be sure that environment variables are properly configured.
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
Publishing
To publish a new version of the package, follow these steps:
Pull the latest code from the main branch
git checkout main git pull origin mainBuild the package
npm run buildPublish to npm
npm publishPush changes to the remote repository
git push origin main --tags
Contributing
Contributions are welcome! Please fork the repository and submit a pull request for any improvements or bug fixes.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Available Tools
18 toolsvrchat_add_favoriteC
Add a new favorite.
Inputs: type (required), favoriteId (required), tags (required).
vrchat_create_instanceC
Create a new instance of a world.
Inputs: worldId (required), type (required), region, ownerId, +7 more.
vrchat_get_current_userB
Retrieve your own VRChat user information
Inputs: no named parameters.
vrchat_get_friends_listC
Retrieve a list of VRChat friend information. The following information can be retrieved: - "bio" - "bioLinks" - "currentAvatarImageUrl" - "currentAvatarThumbnailImageUrl" - "currentAvatarTags" - "developerType" - "displayName" - "fallbackAvatar" - "id" - "isFriend" - "last_platform" - "last_login" - "profilePicOverride" - "pronouns" - "status" - "statusDescription" - "tags" - "userIcon" - "location" - "friendKey"
Inputs: offset, n, offline.
vrchat_get_instanceA
Get information about a specific instance. Note: Detailed information about instance members is only available if you are the instance owner.
Inputs: worldId (required), instanceId (required).
vrchat_get_invite_messageA
Returns a specific invite message. Admin Credentials are required to view messages of other users!
Message type refers to a different collection of messages:
- message = Message during a normal invite
- response = Message when replying to a message
- request = Message when requesting an invite
- requestResponse = Message when replying to a request for invite
Inputs: userId (required), slot (required), messageType.
vrchat_get_notificationsC
Retrieve a list of VRChat notifications.
Inputs: type, sent, hidden, after, +2 more.
vrchat_join_groupC
Join a VRChat group by ID
Inputs: groupId (required).
vrchat_list_favorited_worldsC
List favorited worlds by query filters.
Inputs: featured, sort, n, order.
vrchat_list_favorite_groupsB
Returns a list of favorite groups owned by a user.
Inputs: n, offset, ownerId.
vrchat_list_favoritesC
Returns a list of favorites.
Inputs: n, offset, type, tag.
vrchat_list_invite_messagesA
Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users!
Inputs: userId (required), messageType (required).
vrchat_request_inviteA
Request an invite from a user. IMPORTANT: Always obtain explicit permission from the user before sending an invite request. Note that invite requests cannot be sent to users in private instances. Returns the Notification of type requestInvite that was sent.
Inputs: userId (required), instanceId (required), messageSlot (required).
vrchat_search_avatarsB
Search and list avatars by query filters. You can only search your own or featured avatars. It is not possible as a normal user to search other people's avatars.
Inputs: featured, sort, user, userId, +9 more.
vrchat_search_groupsC
Search VRChat groups by name or shortCode
Inputs: query (required), offset, n.
vrchat_search_worldsC
Search and list worlds by query filters.
Inputs: featured, sort, user, userId, +6 more.
vrchat_select_avatarC
Select and switch to a specific avatar by its ID.
Inputs: avatarId (required).
vrchat_send_friend_requestC
Send a friend request to another user.
Inputs: userId (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 18 tools
Most tools have distinct purposes targeting specific VRChat resources like users, instances, favorites, and searches, with clear boundaries. However, vrchat_list_favorites and vrchat_list_favorited_worlds/vrchat_list_favorite_groups could cause minor confusion as they overlap in listing favorites, though descriptions help differentiate them.
All tools follow a consistent vrchat_verb_noun naming pattern, using snake_case throughout. This predictability makes it easy to understand each tool's function at a glance, with no deviations in style or structure.
With 18 tools, the count is slightly high but reasonable for covering VRChat's social and world management features. It includes core operations like user management, instance handling, and searches, though it might feel a bit heavy compared to more focused servers.
The tool set covers key VRChat workflows such as user interactions (friends, invites), world/avatar management (search, select, create), and favorites, with good CRUD-like operations. Minor gaps include updating or deleting favorites or instances, but agents can work around these with the available tools.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
Related MCP Servers
- AlicenseCqualityBmaintenanceA Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.46860 npm111MIT
- AlicenseBqualityDmaintenanceProvides a bridge between AI assistants and VRChat, enabling AI-driven avatar control and interactions in virtual reality environments through the Model Context Protocol.1232MIT
- FlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI models with structured access to external data and services, acting as a bridge between AI assistants and applications, databases, and APIs in a standardized, secure way.2-
- AlicenseNot gradedqualityBmaintenanceA Model Context Protocol server that integrates with FoundryVTT, allowing AI assistants to interact with tabletop gaming sessions through natural language to query actors, roll dice, generate content, and manage game worlds.28 npm35MIT