vrchat_get_invite_message
Retrieve specific VRChat invite messages by user ID and slot number, specifying message type: normal invite, reply, request, or request response. Admin credentials required for other users’ messages.
Instructions
Returns a specific invite message. Admin Credentials are required to view messages of other users!
Message type refers to a different collection of messages:
- message = Message during a normal invite
- response = Message when replying to a message
- request = Message when requesting an invite
- requestResponse = Message when replying to a request for invite
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| messageType | No | The type of message to fetch. Must be a valid InviteMessageType. | message |
| slot | Yes | Slot number of the message to fetch. | |
| userId | Yes | Must be a valid user ID. |
Implementation Reference
- src/tools/invites.ts:93-115 (handler)The handler function that executes the tool: authenticates the VRChat client, calls inviteApi.getInviteMessage with userId, messageType, and slot, then returns the JSON response or error.async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.inviteApi.getInviteMessage( params.userId, params.messageType, params.slot ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve invite message: ' + error }] } } }
- src/tools/invites.ts:82-92 (schema)Zod input schema validating userId (string), messageType (enum: message/response/request/requestResponse, default 'message'), and slot (number 0-11).{ userId: z.string().min(1).describe( 'Must be a valid user ID.' ), messageType: z.enum(['message', 'response', 'request', 'requestResponse']).default('message').describe( 'The type of message to fetch. Must be a valid InviteMessageType.' ), slot: z.number().min(0).max(11).describe( 'Slot number of the message to fetch.' ), },
- src/tools/invites.ts:70-116 (registration)MCP server.tool() registration for 'vrchat_get_invite_message', including name, multi-line description explaining message types, input schema, and handler function.server.tool( // Name 'vrchat_get_invite_message', // Description `Returns a specific invite message. Admin Credentials are required to view messages of other users! Message type refers to a different collection of messages: - message = Message during a normal invite - response = Message when replying to a message - request = Message when requesting an invite - requestResponse = Message when replying to a request for invite `, { userId: z.string().min(1).describe( 'Must be a valid user ID.' ), messageType: z.enum(['message', 'response', 'request', 'requestResponse']).default('message').describe( 'The type of message to fetch. Must be a valid InviteMessageType.' ), slot: z.number().min(0).max(11).describe( 'Slot number of the message to fetch.' ), }, async (params) => { try { await vrchatClient.auth() const response = await vrchatClient.inviteApi.getInviteMessage( params.userId, params.messageType, params.slot ) return { content: [{ type: 'text', text: JSON.stringify(response.data, null, 2) }] } } catch (error) { return { content: [{ type: 'text', text: 'Failed to retrieve invite message: ' + error }] } } } )