create_user
Add new users to the MCP Test Server by providing name, email, and role parameters for user management.
Instructions
Create a new user
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | User name | |
| Yes | User email | ||
| role | No | User role | user |
Implementation Reference
- src/domains/users.js:34-58 (handler)Implements the core logic for creating a new user: validates input, generates ID, adds to mock data store, returns success response.static create(userData) { const { name, email, role = 'user' } = userData; if (!name || !email) { return { success: false, message: 'Name and email are required' }; } const newUser = { id: Math.max(...users.map(u => u.id)) + 1, name, email, role }; users.push(newUser); return { success: true, message: 'User created successfully', data: newUser }; }
- src/domains/users.js:100-123 (schema)Defines the input schema for the create_user tool, specifying required name and email, optional role.{ name: 'create_user', description: 'Create a new user', inputSchema: { type: 'object', properties: { name: { type: 'string', description: 'User name' }, email: { type: 'string', description: 'User email' }, role: { type: 'string', description: 'User role', enum: ['admin', 'user', 'moderator'], default: 'user' } }, required: ['name', 'email'] } }
- mcp-server.js:58-59 (registration)Registers the create_user tool handler by dispatching tool calls to UserService.create in the MCP call tool request handler.case 'create_user': return createMcpResponse(UserService.create(args));
- mcp-server.js:38-46 (registration)Registers the tool list handler which exposes the create_user schema via userToolSchemas.this.server.setRequestHandler(ListToolsRequestSchema, async () => { return { tools: [ ...userToolSchemas, ...taskToolSchemas, searchToolSchema ] }; });
- src/utils/mcpResponse.js:1-10 (helper)Utility function that formats the tool execution result into the required MCP response structure.export function createMcpResponse(data) { return { content: [ { type: 'text', text: JSON.stringify(data, null, 2) } ] }; }