Vrchat Mcp
About
This project is a Model Context Protocol (MCP) server for interacting with the VRChat API.
Details
- Author
- sawa-zen
- GitHub stars
- 63
- Downloads
- 349
- Categories
- Other, AI
Jump to
- Manage friends (list, send requests)
- Search and select avatars
- Search worlds and list favorited worlds
- Create and get instance information
- Search and join groups
- Manage favorites and favorite groups
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Vrchat McpCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Set the VRCHAT_USERNAME and VRCHAT_AUTH_TOKEN environment variables, then run npx vrchat-mcp. For Claude Desktop, add the server configuration with those environment variables to the desktop config file. Obtain an auth token using the npx vrchat-auth-token-checker command.
vrchat_get_current_user
Retrieve your own VRChat user information
vrchat_send_friend_request
Send a friend request to another user.
vrchat_get_friends_list
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"
vrchat_select_avatar
Select and switch to a specific avatar by its ID.
vrchat_search_avatars
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.
vrchat_list_favorited_worlds
List favorited worlds by query filters.
vrchat_search_worlds
Search and list worlds by query filters.
vrchat_get_instance
Get information about a specific instance. Note: Detailed information about instance members is only available if you are the instance owner.
vrchat_create_instance
Create a new instance of a world.
vrchat_join_group
Join a VRChat group by ID
vrchat_search_groups
Search VRChat groups by name or shortCode
vrchat_list_favorite_groups
Returns a list of favorite groups owned by a user.
vrchat_list_favorites
Returns a list of favorites.
vrchat_add_favorite
Add a new favorite.
vrchat_list_invite_messages
Returns a list of all the users Invite Messages. Admin Credentials are required to view messages of other users!
vrchat_request_invite
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.
vrchat_get_invite_message
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
vrchat_get_notifications
Retrieve a list of VRChat notifications.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"vrchat mcp": {
"vrchat-mcp": {
"command": "npx",
"args": [
"vrchat-mcp"
]
}
}
}
}
McpServers
{
"vrchat-mcp": {
"command": "npx",
"args": [
"vrchat-mcp"
]
}
}

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.
<a href="https://youtu.be/0MRxhzlFCkw">
</a>
<a href="https://glama.ai/mcp/servers/u763zoyi5a">
</a>
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.
Usage
To start the server, ensure you have the necessary environment variables set:
export VRCHAT_USERNAME=your_username
export VRCHAT_AUTH_TOKEN=your_auth_token
> [!NOTE]
> #### How 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-xxxxx
> > Command source code
>
> Please handle the obtained token with care as it has a very long lifetime**
Then, run the following command:
npx vrchat-mcp
This 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.json
- Windows: %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 requestAvatar Related
- vrchat_search_avatars: Search for avatars - vrchat_select_avatar: Select and switch to a specific avatarWorld Related
- vrchat_search_worlds: Search for worlds - vrchat_list_favorited_worlds: Get a list of favorited worldsInstance Related
- vrchat_create_instance: Create a new instance - vrchat_get_instance: Get information about a specific instanceGroup Related
- vrchat_search_groups: Search for groups - vrchat_join_group: Join a groupFavorites 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 groupsInvite 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 messageNotification Related
- vrchat_get_notifications: Get a list of notificationsDebugging
First, build the project:
npm install
npm run build
Since 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:
1. Pull the latest code from the main branch
git checkout main
git pull origin main
2. Build the package
npm run build
4. Publish to npm
npm publish
5. Push 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.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




