tabelog_search
Search Japanese restaurants on Tabelog by area, cuisine, rating, or keyword to find dining options in Japan.
Instructions
Search Japanese restaurants on Tabelog — Japan's largest restaurant review site. Find by area, cuisine, rating, or keyword.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| area | No | Area name (e.g., 'Tokyo', 'Osaka', 'Shibuya', '渋谷') | |
| cuisine | No | Cuisine type (e.g., 'sushi', 'ramen', 'izakaya', '寿司') | |
| keyword | No | Free text search keyword | |
| min_rating | No | Minimum Tabelog rating (e.g., 3.5) | |
| page | No | Page number (default 1) |
Implementation Reference
- src/tools/tabelog.ts:5-16 (registration)The definition and schema for the tabelog_search tool.
{ name: "tabelog_search", description: "Search Japanese restaurants on Tabelog — Japan's largest restaurant review site. Find by area, cuisine, rating, or keyword.", inputSchema: z.object({ area: z.string().optional().describe("Area name (e.g., 'Tokyo', 'Osaka', 'Shibuya', '渋谷')"), cuisine: z.string().optional().describe("Cuisine type (e.g., 'sushi', 'ramen', 'izakaya', '寿司')"), keyword: z.string().optional().describe("Free text search keyword"), min_rating: z.number().optional().describe("Minimum Tabelog rating (e.g., 3.5)"), page: z.number().optional().describe("Page number (default 1)"), }), endpoint: "/v1/tabelog/search", }, - src/index.ts:15-39 (handler)Generic tool handler that executes the tabelog_search logic by making an API request to the configured endpoint.
for (const tool of allTools) { server.tool( tool.name, tool.description, tool.inputSchema.shape, async (params) => { const method = tool.method || "POST"; const result = await gatewayRequest(method, tool.endpoint, params as Record<string, unknown>); if (result.error) { return { content: [{ type: "text" as const, text: `Error (${result.status}): ${result.error}` }], isError: true, }; } const text = typeof result.data === "string" ? result.data : JSON.stringify(result.data, null, 2); return { content: [{ type: "text" as const, text }], }; }, );