vrchat_get_notifications
Retrieve a list of VRChat notifications, including friend requests and user updates, by specifying filters such as type, date, and visibility. Enables efficient notification management via the VRChat MCP Server.
Instructions
Retrieve a list of VRChat notifications.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Only return notifications sent after this Date. Ignored if type is "friendRequest". | |
| hidden | No | Whether to return hidden or non-hidden notifications. True only allowed on type "friendRequest". | |
| n | No | The number of objects to return. Default: 60, Max: 100 | |
| offset | No | A zero-based offset from the default object sorting from where to start. | |
| sent | No | Return notifications sent by the user. Must be false or omitted. | |
| type | No | Only send notifications of this type. Use "all" for all types. This parameter no longer does anything and is deprecated. |
Implementation Reference
- src/tools/notifications.ts:31-56 (handler)The handler function authenticates the VRChat client, calls getNotifications API with provided parameters, stringifies and returns the response data as text content, or returns an error message if failed.async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.notificationsApi.getNotifications( params.type, params.sent, params.hidden, params.after, params.n || 60, params.offset || 0, ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve notifications: ' + error }] } } }
- src/tools/notifications.ts:11-30 (schema)Zod schema defining the input parameters for the vrchat_get_notifications tool, including optional fields for type, sent, hidden, after, n, and offset with descriptions and validations.{ type: z.string().optional().describe( 'Only send notifications of this type. Use "all" for all types. This parameter no longer does anything and is deprecated.' ), sent: z.boolean().optional().describe( 'Return notifications sent by the user. Must be false or omitted.' ), hidden: z.boolean().optional().describe( 'Whether to return hidden or non-hidden notifications. True only allowed on type "friendRequest".' ), after: z.string().optional().describe( 'Only return notifications sent after this Date. Ignored if type is "friendRequest".' ), n: z.number().min(1).max(100).optional().describe( 'The number of objects to return. Default: 60, Max: 100' ), offset: z.number().min(0).optional().describe( 'A zero-based offset from the default object sorting from where to start.' ), },
- src/tools/notifications.ts:7-57 (registration)Registration of the 'vrchat_get_notifications' tool on the MCP server using server.tool(), providing name, description, input schema, and handler function.// Name 'vrchat_get_notifications', // Description 'Retrieve a list of VRChat notifications.', { type: z.string().optional().describe( 'Only send notifications of this type. Use "all" for all types. This parameter no longer does anything and is deprecated.' ), sent: z.boolean().optional().describe( 'Return notifications sent by the user. Must be false or omitted.' ), hidden: z.boolean().optional().describe( 'Whether to return hidden or non-hidden notifications. True only allowed on type "friendRequest".' ), after: z.string().optional().describe( 'Only return notifications sent after this Date. Ignored if type is "friendRequest".' ), n: z.number().min(1).max(100).optional().describe( 'The number of objects to return. Default: 60, Max: 100' ), offset: z.number().min(0).optional().describe( 'A zero-based offset from the default object sorting from where to start.' ), }, async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.notificationsApi.getNotifications( params.type, params.sent, params.hidden, params.after, params.n || 60, params.offset || 0, ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve notifications: ' + error }] } } } )