get_user_information
Retrieve user profile information from BAND, including the option to fetch user details within a specific band context by providing a band key.
Instructions
Get user profile information from BAND. Optionally specify a band_key to get user info within a specific band context.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| band_key | No | Band ID to get the user's profile from a specific band. If not provided, the default profile of the user will be returned. |
Implementation Reference
- src/profile/tool.ts:71-86 (handler)The core handler function that executes the get_user_information tool by calling the BAND API /v2/profile endpoint and formatting the response.export async function handleToolCall(band_key?: string) { const params: Record<string, unknown> = {}; if (band_key) (params as Record<string, unknown>).band_key = band_key; const profile = await bandApiClient.get<BandUserProfile>( "/v2/profile", params ); return { content: [ { type: "text", text: JSON.stringify(profile, null, 2), }, ], }; }
- src/profile/tool.ts:8-62 (schema)The ToolDefinition object defining the tool's name, description, input schema (optional band_key), and output schema for get_user_information.export const ToolDefinition: Tool = { name: "get_user_information", description: "Get user profile information from BAND. Optionally specify a band_key to get user info within a specific band context.", inputSchema: { type: "object", properties: { band_key: { type: "string", title: "Band Key", description: "Band ID to get the user's profile from a specific band. If not provided, the default profile of the user will be returned.", }, }, required: [], }, outputSchema: { type: "object", properties: { success: { type: "boolean", description: "Indicates if the operation was successful.", }, data: { type: "object", description: "User profile data returned from BAND API.", properties: { user_key: { type: "string", description: "User ID.", }, name: { type: "string", description: "User's name.", }, profile_image_url: { type: "string", description: "URL of a profile image.", }, is_app_member: { type: "boolean", description: "Boolean value indicating whether the user account is connected to your app or not.", }, message_allowed: { type: "boolean", description: "Boolean value indicating whether the user allowed to receive messages or not.", }, }, }, }, required: ["success", "data"], }, };
- src/tools.ts:15-28 (registration)Registration of all tools including get_user_information via profile.ToolDefinition in the bandTools export array.export const bandTools: Tool[] = [ profile.ToolDefinition, bands.ToolDefinition, posts.ToolDefinition, post.ToolDefinition, comments.ToolDefinition, permissions.ToolDefinition, albums.ToolDefinition, photos.ToolDefinition, writeComment.ToolDefinition, writePost.ToolDefinition, removePost.ToolDefinition, removeComment.ToolDefinition, ];
- src/tools.ts:34-36 (registration)Routing logic in the main handleToolCall switch statement that dispatches get_user_information calls to the profile module's handler.case "get_user_information": return profile.handleToolCall(a.band_key as string | undefined); case "get_bands":
- src/profile/tool.ts:64-69 (helper)TypeScript interface defining the expected shape of the BAND user profile response.interface BandUserProfile { name: string; profile_image_url?: string; is_app_member: boolean; message_allowed: boolean; }