vrchat_get_friends_list
Retrieve detailed VRChat friend information including bio, display name, status, avatar details, and last activity using the MCP server's standardized API interface.
Instructions
Retrieve a list of VRChat friend information. The following information can be retrieved: - "bio" - "bioLinks" - "currentAvatarImageUrl" - "currentAvatarThumbnailImageUrl" - "currentAvatarTags" - "developerType" - "displayName" - "fallbackAvatar" - "id" - "isFriend" - "last_platform" - "last_login" - "profilePicOverride" - "pronouns" - "status" - "statusDescription" - "tags" - "userIcon" - "location" - "friendKey"
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| n | No | ||
| offline | No | ||
| offset | No |
Implementation Reference
- src/tools/friends.ts:65-87 (handler)Handler function that authenticates the VRChat client, retrieves the friends list using the provided offset, n, and offline parameters, and returns a JSON-formatted text response or an error message.async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.friendsApi.getFriends( params.offset || 0, params.n || 10, params.offline || false, ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve friends: ' + error }] } } }
- src/tools/friends.ts:60-64 (schema)Zod input schema defining optional parameters: offset (number >=0), n (number 1-100), offline (boolean).{ offset: z.number().min(0).optional(), n: z.number().min(1).max(100).optional(), offline: z.boolean().optional(), },
- src/tools/friends.ts:35-88 (registration)Registers the 'vrchat_get_friends_list' tool with the MCP server, including name, detailed description of returned fields, input schema, and handler function.server.tool( // Name 'vrchat_get_friends_list', // Description `Retrieve a list of VRChat friend information. The following information can be retrieved: - "bio" - "bioLinks" - "currentAvatarImageUrl" - "currentAvatarThumbnailImageUrl" - "currentAvatarTags" - "developerType" - "displayName" - "fallbackAvatar" - "id" - "isFriend" - "last_platform" - "last_login" - "profilePicOverride" - "pronouns" - "status" - "statusDescription" - "tags" - "userIcon" - "location" - "friendKey"`, { offset: z.number().min(0).optional(), n: z.number().min(1).max(100).optional(), offline: z.boolean().optional(), }, async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.friendsApi.getFriends( params.offset || 0, params.n || 10, params.offline || false, ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve friends: ' + error }] } } } )
- src/main.ts:30-30 (registration)Invocation of createFriendsTools which registers the vrchat_get_friends_list tool among others.createFriendsTools(server, vrchatClient)