Tabelog MCP Server
<div align="center">
# Tabelog MCP Server
Unofficial Tabelog MCP server: let AI assistants search Japanese restaurants, read reviews and menus through the Tabelog Inbound app API.
[](https://www.python.org/)
[](https://modelcontextprotocol.io/)
[](LICENSE)
</div>
---
## Overview
**tabelog-mcp** is a Model Context Protocol server for Tabelog. It wraps the unofficial Tabelog API documented in [tabelog-api-spec](https://github.com/horse-3903/tabelog-api-spec).
**Status:** the anonymous token request, area lookup, keyword suggestions, restaurant search, detail, reviews, menu, photos and nearby popular items were checked live and return data. Other tools and the `tabelog_get` escape hatch are untested. The server uses `requests`, because the same token request from `httpx` was answered with HTTP 403 by Tabelog's Cloudflare.
---
## Features
- **Search** - restaurants by area, genre or coordinates, plus keyword suggestions
- **Detail** - restaurant info, reviews, menus, photos and vacancy
- **Areas** - prefecture, area and station lookups
- **Read-only** - no login and no writes; `tabelog_get` calls any GET endpoint from the spec
---
## Tech Stack


---
## Getting Started
### Prerequisites
- Python 3.10+
### Installation
```bash
git clone https://github.com/horse-3903/tabelog-mcp
cd tabelog-mcp
pip install .
```
### Run locally
```bash
tabelog-mcp
```
### Add to Claude Desktop or Claude Code
```json
{
"mcpServers": {
"tabelog": { "command": "tabelog-mcp" }
}
}
```
---
## FAQ
**Is there an official Tabelog MCP server?** No. This one is unofficial and uses the reverse engineered Tabelog Inbound app API from [tabelog-api-spec](https://github.com/horse-3903/tabelog-api-spec).
**Does it need a Tabelog account?** No. It requests an anonymous device token on first use.
---
## Disclaimer
Unofficial and not affiliated with Tabelog or Kakaku.com. **Use at your own risk.** Calling the API outside the official app may violate the service's terms and can lead to blocking or a suspended account. The authors accept no responsibility for any consequences.
TDQS
Scored across 12 tools
Most tools have clearly distinct purposes: restaurant detail vs reviews/menu/photos/vacancy, hierarchical area tools, and search/autocomplete. The only overlap is tabelog_get, which can reach any GET endpoint and could compete with dedicated tools, but it is explicitly framed as an escape hatch.
The names use several conventions: verb_noun (search_restaurants, suggest_search), resource_noun (restaurant_reviews), noun_detail (restaurant_detail), area_level1/2, and bare nouns like stations. They remain readable, but the pattern is not predictable.
12 tools is well-scoped for a restaurant discovery/detail server. Each tool maps to a meaningful step: location resolution, search/autocomplete, restaurant details, subresources, nearby popularity, and a generic read escape hatch.
The surface covers area hierarchy, stations, autocomplete, search, restaurant detail, reviews, menu, photos, vacancy, and nearby popularity. Minor gaps include an explicit genre taxonomy listing and reservation/booking actions, but the read-only escape hatch mitigates missing GET coverage.