Skip to content

🍜 Gurume

Gurume is a Python library, CLI, TUI, and MCP server for discovering Japanese restaurants on Tabelog.

Search by area, cuisine, date, and party size; parse structured detail pages; and plug the same workflows into AI assistants via a FastMCP server.

Installation

uv add gurume
# or
pip install gurume

HTTP Configuration

Gurume uses curl_cffi with Safari impersonation by default so its TLS fingerprint and generated browser headers remain consistent. Live access depends on Tabelog.

You can set GURUME_IMPERSONATE before starting the CLI, TUI, MCP server, or Python process to select a different browser profile:

GURUME_IMPERSONATE=firefox gurume search --area 三重 --cuisine すき焼き

PowerShell users can set the same process environment variable before running Gurume:

$env:GURUME_IMPERSONATE = "firefox"
gurume search --area 三重 --cuisine すき焼き

The value must be an impersonation profile supported by the installed curl_cffi version. An unsupported value is rejected by curl_cffi. Changing the profile does not guarantee access to pages blocked by Tabelog; an HTTP 403 requires checking authorized upstream access, not repeatedly retrying the same request.

Features

  • πŸ” Search restaurants by area, keyword, cuisine, date, time, and party size
  • 🍣 Filter by 29 supported Japanese cuisine categories with stable Tabelog genre codes
  • πŸ“„ Parse restaurant detail pages into structured review, menu, and course data
  • ⚑ Synchronous and asynchronous Python APIs
  • πŸ–₯️ Interactive TUI with area suggestions, keyword suggestions, and cuisine auto-detection
  • πŸ€– MCP server with schema-first inputs and structured outputs for AI assistant integrations
  • πŸ”’ MCP responses backed by Pydantic models and Python APIs type-annotated

See the full README on GitHub for examples.