VRChat MCP Server
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
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.
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.
Usage
To start the server, ensure you have the necessary environment variables set:
Note
Obtain your TOTP secret
- Visit the VRChat Profile and enable Two-factor authentication.
- Decode the displayed QR code to get a string like
otpauth://totp/VRChat:your@email.com?secret=XXXXXXXXXXXXXXXXXXX&issuer=VRChat
. - Use the
XXXXXXXXXXXXXXXXXXX
part as your TOTP secret.
This method may have security concerns, so proceed with caution.
Then, run the following command:
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
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.
VRChat API Endpoints
This is a list of endpoints from the VRChat API that our Model Context Protocol server supports or plans to support. Both GET and POST methods are included to provide comprehensive functionality. The checkboxes indicate the implementation status of each endpoint.
Authentication and User Information
- Get current user info
- Search users
- Get specific user profile
- Get user groups
- Get player moderations
- Get user status
- Update user info
- Update user status
- Block user
- Unblock user
Friend Related
- Get friends list
- Get online friends
- Send friend request
- Accept/Deny friend request
- Remove friend
Avatar Related
- Get own avatars
- Get favorite avatars
- Search avatars
- Get specific avatar details
- Get public avatars
- Create avatar
- Update avatar
- Delete avatar
- Select avatar
- Favorite/Unfavorite avatar
World Related
- Get worlds list
- Get active worlds
- Get recently visited worlds
- Get favorite worlds
- Search worlds
- Get specific world details
- Get world instances
- Get public worlds
- Create world
- Update world
- Delete world
- Favorite/Unfavorite world
Instance Related
- Create instance
- Get instance info
- Get instance attendees
- Get instance short name
- Join instance
- Leave instance
- Invite user to instance
File Related
- Get file info
- Get file download info
- Get file status
Group Related
- Search groups
- Get specific group info
- Get group members
- Get group permissions
- Get group requests
- Get group invites
- Get group bans
- Get group galleries
- Get group owned worlds
- Create group
- Update group
- Delete group
- Join group
- Leave group
- Invite user to group
- Accept/Deny group invite
- Ban user from group
- Unban user from group
Notification Related
- Get notifications list
- Get friend requests
- Get unread notification count
- Mark notification as read
- Delete notification
- Clear all notifications
Inventory Related
- Get license types
- Get owned licenses
- Get stores list
System Related
- Get API configuration
- Get API limits
- Check system health
- Get online users count
- Get server announcements
Others
- Get tags list
- Get favorite info
- Get invisibles list
- Get moderations
- Get favorite groups
- Get favorite group types
- Create moderation
- Delete moderation
- Update favorite group
- Update favorite group type
Debugging
First, build the project:
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:
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 branchCopy
- Update the version as neededCopy
- Build the packageCopy
- Publish to npmCopy
- Push changes to the remote repositoryCopy
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.
You must be authenticated.
A Model Context Protocol server that allows AI assistants to interact with the VRChat API, enabling retrieval of user information, friends lists, and other VRChat data through a standardized interface.