UNPKG

@edicarlos.lds/businessmap-mcp

Version:

Model Context Protocol server for BusinessMap (Kanbanize) integration

55 lines 2.06 kB
import { getCurrentUserSchema, getUserSchema, listUsersSchema, } from '../../schemas/user-schemas.js'; import { createErrorResponse, createSuccessResponse } from './base-tool.js'; export class UserToolHandler { registerTools(server, client, readOnlyMode) { this.registerListUsers(server, client); this.registerGetUser(server, client); this.registerGetCurrentUser(server, client); } registerListUsers(server, client) { server.registerTool('list_users', { title: 'List Users', description: 'Get a list of all users', inputSchema: listUsersSchema.shape, }, async () => { try { const users = await client.getUsers(); return createSuccessResponse(users); } catch (error) { return createErrorResponse(error, 'fetching users'); } }); } registerGetUser(server, client) { server.registerTool('get_user', { title: 'Get User', description: 'Get details of a specific user', inputSchema: getUserSchema.shape, }, async ({ user_id }) => { try { const user = await client.getUser(user_id); return createSuccessResponse(user); } catch (error) { return createErrorResponse(error, 'fetching user'); } }); } registerGetCurrentUser(server, client) { server.registerTool('get_current_user', { title: 'Get Current User', description: 'Get details of the current logged user', inputSchema: getCurrentUserSchema.shape, }, async () => { try { const currentUser = await client.getCurrentUser(); return createSuccessResponse(currentUser); } catch (error) { return createErrorResponse(error, 'fetching current user'); } }); } } //# sourceMappingURL=user-tools.js.map