basecamp_get_person
Retrieve detailed information about a specific Basecamp user by providing their unique identifier to access contact details and profile information.
Instructions
Get details about a specific person.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| person_id | Yes | Basecamp resource identifier |
Implementation Reference
- src/tools/people.ts:145-181 (handler)The async handler function that executes the basecamp_get_person tool logic: initializes Basecamp client, fetches person details by ID, handles errors, and returns formatted JSON response.async (params) => { try { const client = await initializeBasecampClient(); const response = await client.people.get({ params: { personId: params.person_id }, }); if (response.status !== 200 || !response.body) { throw new Error("Failed to get person"); } const person = response.body; return { content: [ { type: "text", text: JSON.stringify( { id: person.id, name: person.name, email: person.email_address, title: person.title, }, null, 2, ), }, ], }; } catch (error) { return { content: [{ type: "text", text: handleBasecampError(error) }], }; } },
- src/tools/people.ts:130-144 (registration)Registration of the basecamp_get_person tool using server.registerTool, including title, description, input schema with person_id, and annotations.server.registerTool( "basecamp_get_person", { title: "Get Basecamp Person", description: "Get details about a specific person.", inputSchema: { person_id: BasecampIdSchema, }, annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: true, }, },
- src/schemas/common.ts:10-12 (schema)Zod schema definition for BasecampId used in the inputSchema for person_id parameter of basecamp_get_person tool.export const BasecampIdSchema = z .number() .describe("Basecamp resource identifier");