slack_get_user_profile
Retrieve detailed profile information for a specific Slack user by providing their user ID.
Instructions
Get detailed profile information for a specific user
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| user_id | Yes | The ID of the user |
Implementation Reference
- index.ts:370-382 (handler)Core handler function in SlackClient that performs the API call to retrieve detailed user profile information from Slack's users.profile.get endpoint.async getUserProfile(user_id: string): Promise<any> { const params = new URLSearchParams({ user: user_id, include_labels: "true", }); const response = await fetch( `https://slack.com/api/users.profile.get?${params}`, { headers: this.botHeaders }, ); return response.json(); }
- index.ts:527-537 (handler)Tool dispatch handler in the CallToolRequest that validates arguments and calls the SlackClient.getUserProfile method.case "slack_get_user_profile": { const args = request.params .arguments as unknown as GetUserProfileArgs; if (!args.user_id) { throw new Error("Missing required argument: user_id"); } const response = await slackClient.getUserProfile(args.user_id); return { content: [{ type: "text", text: JSON.stringify(response) }], }; }
- index.ts:198-211 (schema)Tool schema definition including name, description, and input schema for validation.const getUserProfileTool: Tool = { name: "slack_get_user_profile", description: "Get detailed profile information for a specific user", inputSchema: { type: "object", properties: { user_id: { type: "string", description: "The ID of the user", }, }, required: ["user_id"], }, };
- index.ts:567-582 (registration)Registration of the tool in the ListToolsRequest handler, making it discoverable by clients.server.setRequestHandler(ListToolsRequestSchema, async () => { console.log("Received ListToolsRequest"); return { tools: [ listChannelsTool, postMessageTool, replyToThreadTool, addReactionTool, getChannelHistoryTool, getThreadRepliesTool, getUsersTool, getUserProfileTool, lookupUserByEmailTool, ], }; });
- index.ts:49-51 (helper)TypeScript interface defining the expected arguments for the tool.interface GetUserProfileArgs { user_id: string; }