addCustomer
Create a new customer in the Mews MCP server by inputting details like name, email, phone, birthdate, citizenship, and more. Streamline guest management in hospitality systems.
Instructions
Create a new customer
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| BirthDate | No | Birth date (ISO 8601 format) | |
| BirthPlace | No | Place of birth | |
| CitizenshipCountryCode | No | ISO country code of citizenship | |
| No | Customer email address | ||
| FirstName | No | Customer first name | |
| GenderCode | No | Gender code | |
| LanguageCode | No | Preferred language ISO code | |
| LastName | No | Customer last name | |
| LoyaltyCode | No | Loyalty program code | |
| NationalityCountryCode | No | ISO country code of nationality | |
| Occupation | No | Customer occupation | |
| Phone | No | Customer phone number | |
| SecondLastName | No | Second last name | |
| TaxIdentifier | No | Tax identification number | |
| Title | No | Customer title (Mr, Ms, etc.) |
Implementation Reference
- src/tools/customers/addCustomer.ts:5-38 (handler)The full addCustomerTool object defining the tool's handler (execute function), schema, name, and description. The handler sends a request to the Mews API to add a customer.export const addCustomerTool: Tool = { name: 'addCustomer', description: 'Create a new customer', inputSchema: { type: 'object', properties: { FirstName: { type: 'string', description: 'Customer first name' }, LastName: { type: 'string', description: 'Customer last name' }, Email: { type: 'string', format: 'email', description: 'Customer email address' }, Phone: { type: 'string', description: 'Customer phone number' }, BirthDate: { type: 'string', description: 'Birth date (ISO 8601 format)' }, BirthPlace: { type: 'string', description: 'Place of birth' }, CitizenshipCountryCode: { type: 'string', description: 'ISO country code of citizenship' }, GenderCode: { type: 'string', description: 'Gender code' }, LanguageCode: { type: 'string', description: 'Preferred language ISO code' }, NationalityCountryCode: { type: 'string', description: 'ISO country code of nationality' }, Occupation: { type: 'string', description: 'Customer occupation' }, Title: { type: 'string', description: 'Customer title (Mr, Ms, etc.)' }, SecondLastName: { type: 'string', description: 'Second last name' }, TaxIdentifier: { type: 'string', description: 'Tax identification number' }, LoyaltyCode: { type: 'string', description: 'Loyalty program code' } } }, async execute(config: MewsAuthConfig, args: unknown): Promise<ToolResult> { const result = await mewsRequest(config, '/api/connector/v1/customers/add', args); return { content: [{ type: 'text', text: JSON.stringify(result, null, 2) }] }; } };
- Input schema for the addCustomer tool defining all customer properties.inputSchema: { type: 'object', properties: { FirstName: { type: 'string', description: 'Customer first name' }, LastName: { type: 'string', description: 'Customer last name' }, Email: { type: 'string', format: 'email', description: 'Customer email address' }, Phone: { type: 'string', description: 'Customer phone number' }, BirthDate: { type: 'string', description: 'Birth date (ISO 8601 format)' }, BirthPlace: { type: 'string', description: 'Place of birth' }, CitizenshipCountryCode: { type: 'string', description: 'ISO country code of citizenship' }, GenderCode: { type: 'string', description: 'Gender code' }, LanguageCode: { type: 'string', description: 'Preferred language ISO code' }, NationalityCountryCode: { type: 'string', description: 'ISO country code of nationality' }, Occupation: { type: 'string', description: 'Customer occupation' }, Title: { type: 'string', description: 'Customer title (Mr, Ms, etc.)' }, SecondLastName: { type: 'string', description: 'Second last name' }, TaxIdentifier: { type: 'string', description: 'Tax identification number' }, LoyaltyCode: { type: 'string', description: 'Loyalty program code' } } },
- src/tools/index.ts:9-9 (registration)Import of the addCustomerTool.import { addCustomerTool } from './customers/addCustomer.js';
- src/tools/index.ts:94-94 (registration)Registration of addCustomerTool in the allTools array used for MCP tool registry.addCustomerTool,