get_product_details
Retrieve comprehensive product metadata for any Amazon ASIN, including title, brand, category, dimensions, images, and identifiers.
Instructions
Read catalog metadata for an ASIN: title, brand, category, dimensions, images, and identifiers.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| asin | Yes | Amazon ASIN. |
Implementation Reference
- src/index.ts:141-152 (schema)Tool definition and input schema for 'get_product_details' - defines the tool with name, description, and input schema requiring 'asin' (string) parameter.
// --- Catalog --- { name: "get_product_details", description: "Read catalog metadata for an ASIN: title, brand, category, dimensions, images, and identifiers.", inputSchema: { type: "object" as const, properties: { asin: { type: "string", description: "Amazon ASIN." } }, required: ["asin"], additionalProperties: false, }, }, - src/index.ts:241-251 (registration)Server instantiation and tool listing registration - the 'tools' array containing all tool definitions is registered via ListToolsRequestSchema handler.
const server = new Server( { name: "agentcentral", version: VERSION, }, { capabilities: { tools: {} }, }, ) server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools })) - src/index.ts:253-279 (handler)CallToolRequestSchema handler - handles tool invocations. For 'get_product_details', no specific handler exists; it falls through to the default response which returns the HOSTED_NOTICE message. This is an introspection stub that delegates actual execution to a remote server.
server.setRequestHandler(CallToolRequestSchema, async (request) => { const name = request.params.name if (name === "agentcentral_setup") { return { content: [ { type: "text", text: `Hosted MCP endpoint:\n ${HOSTED_URL}\n\n` + `Setup guide:\n ${SETUP_URL}\n\n` + `Add this to your client config:\n` + `{\n "mcpServers": {\n "agentcentral": {\n "url": "${HOSTED_URL}",\n "headers": { "Authorization": "Bearer ac_live_<YOUR_API_KEY>" }\n }\n }\n}`, }, ], isError: false, } } return { content: [ { type: "text", text: HOSTED_NOTICE, }, ], isError: false, } })