✨ From vibe coding to vibe deployment. UBOS MCP turns ideas into infra with one message.

Learn more

VRChat MCP

npm version License: MIT

日本語 | 한국어

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.

YouTube

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_PASSWORD=your_password
export VRCHAT_TOTP_SECRET=your_totp_secret
export VRCHAT_EMAIL=your_email@example.com

[!NOTE]

Obtain your TOTP secret

  1. Visit the VRChat Profile and enable Two-factor authentication.
  2. Decode the displayed QR code to get a string like otpauth://totp/VRChat:your@email.com?secret=XXXXXXXXXXXXXXXXXXX&issuer=VRChat.
  3. Use the XXXXXXXXXXXXXXXXXXX part as your TOTP secret.

This method may have security concerns, so proceed with caution.

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%Claudeclaude_desktop_config.json
{
  "mcpServers": {
    "vrchat-mcp": {
      "command": "npx",
      "args": ["vrchat-mcp"],
      "env": {
        "VRCHAT_USERNAME": "your-username",
        "VRCHAT_PASSWORD": "your-password",
        "VRCHAT_TOTP_SECRET": "your-totp-secret",
        "VRCHAT_EMAIL": "your-email@example.com"
      }
    }
  }
}

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 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
    
  3. Publish to npm

    npm publish
    
  4. 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.

Featured Templates

View More

Start your free trial

Build your solution today. No credit card required.

Sign In

Register

Reset Password

Please enter your username or email address, you will receive a link to create a new password via email.