Skip to main content
Glama

vrchat_search_worlds

Search and filter VRChat worlds by name, tags, popularity, or user-specific criteria. Sort and paginate results to discover featured, trending, or custom worlds efficiently.

Instructions

Search and list worlds by query filters.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
featuredNoReturn featured worlds only
nNoNumber of worlds to return, from 1 to 100
notagNoExclude worlds with a specific tag
offsetNoOffset for pagination, minimum 0
orderNoSort results in ascending or descending order
searchNoSearch worlds by name or other text fields
sortNoSort worlds by a specific criteria
tagNoFilter worlds by a specific tag
userNoFilter by the specified user, currently only supports "me" to see your own worlds
userIdNoFilter worlds by a specific VRChat user ID

Implementation Reference

  • Handler function that executes the tool logic: authenticates VRChat client, calls searchWorlds API with parameters, returns JSON data or error.
    async (params) => { try { await vrchatClient.auth() const worlds = await vrchatClient.worldsApi.searchWorlds( params.featured, params.sort, params.user, params.userId, params.n, params.order, params.offset, params.search, params.tag, params.notag, ) return { content: [{ type: 'text', text: JSON.stringify(worlds.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to search worlds: ' + error }] } } } )
  • Zod input schema defining parameters for searching worlds, including filters, sorting, pagination, and search query.
    { featured: z.boolean().optional().describe('Return featured worlds only'), sort: z.enum(['popularity', 'heat', 'trust', 'shuffle', 'random', 'favorites', 'reportScore', 'reportCount', 'publicationDate', 'labsPublicationDate', 'created', '_created_at', 'updated', '_updated_at', 'order', 'relevance', 'magic', 'name']).optional().describe('Sort worlds by a specific criteria'), user: z.enum(['me']).optional().describe('Filter by the specified user, currently only supports "me" to see your own worlds'), userId: z.string().optional().describe('Filter worlds by a specific VRChat user ID'), n: z.number().min(1).max(100).optional().describe('Number of worlds to return, from 1 to 100'), order: z.enum(['ascending', 'descending']).optional().describe('Sort results in ascending or descending order'), offset: z.number().min(0).optional().describe('Offset for pagination, minimum 0'), search: z.string().optional().describe('Search worlds by name or other text fields'), tag: z.string().optional().describe('Filter worlds by a specific tag'), notag: z.string().optional().describe('Exclude worlds with a specific tag'), },
  • Registration of the vrchat_search_worlds tool using server.tool(), including name, description, schema, and inline handler.
    server.tool( // Name 'vrchat_search_worlds', // Description 'Search and list worlds by query filters.', { featured: z.boolean().optional().describe('Return featured worlds only'), sort: z.enum(['popularity', 'heat', 'trust', 'shuffle', 'random', 'favorites', 'reportScore', 'reportCount', 'publicationDate', 'labsPublicationDate', 'created', '_created_at', 'updated', '_updated_at', 'order', 'relevance', 'magic', 'name']).optional().describe('Sort worlds by a specific criteria'), user: z.enum(['me']).optional().describe('Filter by the specified user, currently only supports "me" to see your own worlds'), userId: z.string().optional().describe('Filter worlds by a specific VRChat user ID'), n: z.number().min(1).max(100).optional().describe('Number of worlds to return, from 1 to 100'), order: z.enum(['ascending', 'descending']).optional().describe('Sort results in ascending or descending order'), offset: z.number().min(0).optional().describe('Offset for pagination, minimum 0'), search: z.string().optional().describe('Search worlds by name or other text fields'), tag: z.string().optional().describe('Filter worlds by a specific tag'), notag: z.string().optional().describe('Exclude worlds with a specific tag'), }, async (params) => { try { await vrchatClient.auth() const worlds = await vrchatClient.worldsApi.searchWorlds( params.featured, params.sort, params.user, params.userId, params.n, params.order, params.offset, params.search, params.tag, params.notag, ) return { content: [{ type: 'text', text: JSON.stringify(worlds.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to search worlds: ' + error }] } } } ) }

Latest Blog Posts

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