get_full_menu
Fetch the complete menu from For Five Coffee café, including all categories and items, to access detailed menu information.
Instructions
Fetch the complete menu from For Five Coffee including all categories and items
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- server.js:994-1017 (handler)The core handler function for the 'get_full_menu' tool. Fetches complete menu data from cache/API/Puppeteer/static scrape and returns structured JSON in MCP text content format.async getFullMenu() { const menuData = await this.fetchMenuData(); return { content: [ { type: 'text', text: JSON.stringify( { restaurant: 'For Five Coffee', totalItems: menuData.items.length, categories: menuData.categories, items: menuData.items, lastUpdated: menuData.lastUpdated, cached: menuData.cached || false, source: menuData.source || 'puppeteer', }, null, 2 ), }, ], }; }
- server.js:98-127 (registration)MCP stdio server registration for CallToolRequestSchema, dispatching 'get_full_menu' to this.getFullMenu() handler.this.server.setRequestHandler(CallToolRequestSchema, async request => { const { name, arguments: args } = request.params; try { switch (name) { case 'get_full_menu': return await this.getFullMenu(); case 'search_menu_items': return await this.searchMenuItems(args.query); case 'get_menu_categories': return await this.getMenuCategories(); case 'get_items_by_category': return await this.getItemsByCategory(args.category); case 'clear_menu_cache': return await this.clearMenuCache(); default: throw new Error(`Unknown tool: ${name}`); } } catch (error) { return { content: [ { type: 'text', text: `Error: ${error.message}`, }, ], }; } }); }
- server.js:40-96 (registration)MCP stdio server registration for ListToolsRequestSchema, defining the 'get_full_menu' tool with its schema.this.server.setRequestHandler(ListToolsRequestSchema, async () => ({ tools: [ { name: 'get_full_menu', description: 'Fetch the complete menu from For Five Coffee including all categories and items', inputSchema: { type: 'object', properties: {}, }, }, { name: 'search_menu_items', description: 'Search for specific menu items by name or category', inputSchema: { type: 'object', properties: { query: { type: 'string', description: 'Search term to find in menu items (name, description, or category)', }, }, required: ['query'], }, }, { name: 'get_menu_categories', description: 'Get all available menu categories', inputSchema: { type: 'object', properties: {}, }, }, { name: 'get_items_by_category', description: 'Get all menu items from a specific category', inputSchema: { type: 'object', properties: { category: { type: 'string', description: 'The category name to filter by', }, }, required: ['category'], }, }, { name: 'clear_menu_cache', description: 'Clear the menu cache to force fresh data on next request', inputSchema: { type: 'object', properties: {}, }, }, ], }));
- server.js:42-50 (schema)Input schema definition for the 'get_full_menu' tool (no required parameters).{ name: 'get_full_menu', description: 'Fetch the complete menu from For Five Coffee including all categories and items', inputSchema: { type: 'object', properties: {}, }, },