bos_customer_address_list
Retrieve all addresses associated with a customer by providing their unique ID.
Instructions
List all addresses for a customer
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| customer_id | Yes |
Implementation Reference
- src/tools/bos.ts:337-342 (registration)Tool 'bos_customer_address_list' is defined as an entry in the customerTools array. It has a schema requiring customer_id and its handler delegates to client.get('/mcp/customers/${args.customer_id}/addresses').
{ name: 'bos_customer_address_list', description: 'List all addresses for a customer', schema: { customer_id: { type: 'string' } }, handler: async (args, client) => client.get(`/mcp/customers/${args.customer_id}/addresses`), }, - src/tools/bos.ts:341-341 (handler)Handler function: async (args, client) => client.get('/mcp/customers/${args.customer_id}/addresses') — makes a GET request to list addresses for the given customer_id.
handler: async (args, client) => client.get(`/mcp/customers/${args.customer_id}/addresses`), - src/tools/bos.ts:340-340 (schema)Input schema: { customer_id: { type: 'string' } } — requires a single required string parameter customer_id.
schema: { customer_id: { type: 'string' } }, - src/tools/index.ts:4-9 (registration)McpTool interface definition: name, description, schema, and handler shape used by all tool definitions.
export interface McpTool { name: string; description: string; schema: Record<string, any>; handler: (args: any, client: BosApiClient) => Promise<any>; } - src/stdio.ts:54-74 (registration)Tool registration loop: iterates over all tool arrays (including customerTools), converts schema via toZodSchema, and registers with the McpServer.
for (const tool of allTools) { const zodSchema = toZodSchema(tool.schema); server.tool( tool.name, tool.description, zodSchema.shape, async (args: any) => { try { const result = await tool.handler(args, client); return { content: [{ type: 'text' as const, text: JSON.stringify(result, null, 2) }], }; } catch (error: any) { return { content: [{ type: 'text' as const, text: JSON.stringify({ error: error.message || 'Unknown error' }) }], isError: true, }; } } ); }