@edicarlos.lds/businessmap-mcp
Version:
Model Context Protocol server for BusinessMap (Kanbanize) integration
55 lines • 2.06 kB
JavaScript
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