vrchat_search_groups
Search VRChat groups by name or shortCode to quickly find specific communities. Specify a query, offset, and number of results for precise group discovery.
Instructions
Search VRChat groups by name or shortCode
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | The number of objects to return | |
| offset | No | A zero-based offset from the default object sorting | |
| query | Yes | Query to search for, can be either Group Name or Group shortCode |
Implementation Reference
- src/tools/groups.ts:41-63 (handler)The handler function that executes the vrchat_search_groups tool logic: authenticates the VRChat client, calls groupsApi.searchGroups with query, offset, and n, and returns the JSON response or error message.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 }] } } }
- src/tools/groups.ts:36-40 (schema)Zod input schema defining parameters for vrchat_search_groups: query (required string), offset (optional number >=0), n (optional number 1-100).{ 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') },
- src/tools/groups.ts:33-64 (registration)Registration of the vrchat_search_groups tool using server.tool(), including description, input schema, and handler function within the createGroupsTools factory.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 }] } } } )
- src/main.ts:34-34 (registration)Call to createGroupsTools in main.ts which registers the vrchat_search_groups tool (and others) to the MCP server.createGroupsTools(server, vrchatClient)