Skip to main content
Glama

VRChat MCP Server

import { McpServer } from '@modelcontextprotocol/sdk/server/mcp' import { VRChatClient } from '../VRChatClient' import { z } from 'zod' export const createGroupsTools = (server: McpServer, vrchatClient: VRChatClient) => { server.tool( 'vrchat_join_group', 'Join a VRChat group by ID', { groupId: z.string().describe('Must be a valid group ID') }, async (args) => { try { await vrchatClient.auth() const response = await vrchatClient.groupsApi.joinGroup(args.groupId) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to join group: ' + error }] } } } ) server.tool( 'vrchat_search_groups', 'Search VRChat groups by name or shortCode', { query: z.string().describe('Query to search for, can be either Group Name or Group shortCode'), offset: z.number().min(0).optional().describe('A zero-based offset from the default object sorting'), n: z.number().min(1).max(100).optional().describe('The number of objects to return') }, async (args) => { try { await vrchatClient.auth() const response = await vrchatClient.groupsApi.searchGroups( args.query, args.offset, args.n ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to search groups: ' + error }] } } } ) }

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/sawa-zen/vrchat-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server