Skip to main content
Glama
horse-3903

Tabelog MCP Server

by horse-3903

Tabelog MCP Server

Unofficial Tabelog MCP server: let AI assistants search Japanese restaurants, read reviews and menus through the Tabelog Inbound app API.

Python MCP License


Overview

tabelog-mcp is a Model Context Protocol server for Tabelog. It wraps the unofficial Tabelog API documented in 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.


Related MCP server: mcp-opentable

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

Python MCP


Getting Started

Prerequisites

  • Python 3.10+

Installation

git clone https://github.com/horse-3903/tabelog-mcp
cd tabelog-mcp
pip install .

Run locally

tabelog-mcp

Add to Claude Desktop or Claude Code

{
  "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.

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.

Available Tools

12 tools
area_level1C

List first level areas for a prefecture.

NameRequiredDescriptionDefault
prefecture_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden, yet it says nothing about permissions, pagination, ordering, or whether the result includes sub-areas. It only communicates that this is a listing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though its brevity borders on under-specification rather than deliberate conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema and no annotations, the description leaves unclear what an area record contains and how prefecture_id is obtained or structured. An agent can guess the intent but lacks enough to invoke confidently.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The single required parameter prefecture_id has 0% schema description coverage, and the description adds no meaning about its format, source, or valid range. With one undocumented parameter the description must compensate and does not.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('List first level areas') that maps cleanly to the tool name and implicitly contrasts with the sibling area_level2. It does not explicitly name area_level2 as the alternative, so differentiation is inferred rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to choose this over area_level2 or stations, nor any prerequisite for obtaining a prefecture_id. The hierarchy is only hinted at by the word 'first level'.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

area_level2C

List second level areas inside a first level area.

NameRequiredDescriptionDefault
area1_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full disclosure burden. It says 'List', implying a safe read, but discloses nothing about return shape, ordering, pagination, or whether an invalid area1_id errors or returns empty.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One front-loaded sentence with no wasted words, but its terseness is under-specification rather than economy — a clause on the ID source or return content would earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-parameter lookup, the description omits the essentials an agent needs: the meaning/source of area1_id and what the returned list contains (names, IDs, child counts). No output schema or annotations exist to fill these gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the single undocumented parameter. It never explains what area1_id is, where to obtain it, or whether it refers to an area_level1 identifier.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('List') and resource ('second level areas inside a first level area'), so the geographic-hierarchy intent is clear. It doesn't explicitly name the sibling area_level1 as the source of parent IDs, but the hierarchy wording implicitly distinguishes it.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this versus area_level1 or the other lookup tools, and no prerequisite guidance (e.g., that area1_id must come from area_level1). Usage can only be inferred from the tool name and the hierarchy phrasing.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restaurant_detailC

Get details for one restaurant.

NameRequiredDescriptionDefault
restaurant_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not state whether this is read-only, what happens with an invalid restaurant_id, or what kind of detail (address, hours, rating, etc.) is returned.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The single sentence is front-loaded and free of filler. Its brevity is not severely wasteful, but it borders on under-specification rather than a deliberate, information-dense summary.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and an undocumented parameter, the description is too thin for an agent to know what will be returned or how to source a valid restaurant_id. It should at least name the detail categories returned or point to the search tool that produces IDs.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate for the undocumented restaurant_id parameter. It only implies a single restaurant is targeted, without saying what form the ID takes, where to obtain it, or whether it must come from search_restaurants or tabelog_get.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource ('Get details for one restaurant'), which distinguishes it from search_restaurants by scoping to a single entity. However, it does not distinguish it from restaurant_reviews, restaurant_menu, or restaurant_photos, which all also return details for one restaurant.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus the many sibling restaurant_* tools. The only implied usage is that a known restaurant_id is required, which the schema already conveys through the required field.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restaurant_menuC

Get a restaurant's menu list.

NameRequiredDescriptionDefault
restaurant_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden yet says nothing about whether this is a safe read, whether the menu is paginated, whether prices/availability are included, or whether results are localized. Only the most obvious trait (a read) is implied by 'Get'.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One short, front-loaded sentence with no filler. It is efficient but so terse that nothing beyond the core action is communicated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple one-param lookup with no output schema and no annotations, the description should at least say what is returned (sections, items, prices) and how to source the ID. Neither is present, so an agent cannot predict the response shape.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the single required restaurant_id is undocumented everywhere. The description does not say where the ID comes from (e.g., search_restaurants/restaurant_detail) or what form it takes, leaving the only parameter ungrounded.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Get a restaurant's menu list'), which clearly separates it from restaurant_reviews, restaurant_photos and restaurant_detail by implication. It doesn't explicitly name those siblings, so it stops short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to call this versus restaurant_detail (which may already include menu data) or how to obtain the restaurant_id. The agent must infer the call context entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restaurant_photosC

Get a restaurant's photos.

NameRequiredDescriptionDefault
pageNo
restaurant_idYes

TDQS

C2.4/5.0
Behavior1/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden and delivers nothing: it does not say whether results are paginated (despite a 'page' parameter), how many photos come back, what fields each photo has, or whether any auth/rate limits apply. It repeats the title-level fact and adds no behavioral context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, but its brevity is under-specification rather than efficiency — there is no front-loaded scope, return shape, or pagination note to anchor the agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and a paged input whose semantics are undocumented, the definition leaves the agent guessing about the result shape and pagination behavior. Only the bare minimum needed to attempt a call is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate and does not. It never mentions the 'page' parameter, so pagination semantics, page size, and how to know when to stop are entirely undocumented; only 'restaurant_id' is loosely implied by the word 'restaurant's'.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb and resource (get + a restaurant's photos), which is enough to tell it apart from siblings like restaurant_reviews or restaurant_menu. It stops short of explicitly contrasting with those siblings, but the resource noun does the disambiguating work.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to call this tool versus restaurant_detail (which may also return photos) or any other sibling, and no prerequisites or exclusions are stated. The agent must infer usage entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restaurant_reviewsC

Get reviews for a restaurant.

NameRequiredDescriptionDefault
pageNo
restaurant_idYes

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It doesn't disclose pagination behavior, result ordering, whether reviews are capped, error behavior for invalid IDs, or whether the call is read-only/safe — all of which matter for a review-listing tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single clean, front-loaded sentence with no waste, but its brevity comes from under-specification rather than from disciplined editing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter read tool with no output schema, the agent still needs pagination semantics and a rough sense of the returned review fields; neither is present, leaving the definition underpowered for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so neither parameter is documented anywhere. The description implies restaurant_id by saying 'for a restaurant' but says nothing about the 'page' parameter, its default of 1, or what page size to expect.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Get reviews for a restaurant'), which naturally separates it from siblings like restaurant_detail, restaurant_menu, and restaurant_photos. It stops short of explicitly naming those alternatives or clarifying scope (all reviews vs. a page).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No statement of when to use this tool versus restaurant_detail or restaurant_photos, no prerequisites, and no note on how pagination should be driven. The agent must infer all usage context from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

restaurant_vacancyC

Get vacancy status for a restaurant over the next few days.

NameRequiredDescriptionDefault
restaurant_idYes

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but only implies a read via 'Get'. It doesn't say whether status is real-time or cached, whether it requires the restaurant to be in a reservation network, or whether unavailable restaurants error out or return an empty result.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One tight, front-loaded sentence with no redundancy. It is efficient, though the brevity contributes to the missing behavioral detail rather than compensating for it.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no annotations and no output schema, the description leaves key questions unanswered: how many days 'next few days' covers, what the vacancy status values look like, and granularity (per-slot vs per-day). The agent has no structured fields to fall back on.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% and the single parameter restaurant_id is undocumented in both schema and description. It doesn't explain how to obtain an ID (e.g., from search_restaurants) or what format is expected beyond the integer type.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

A specific verb ('Get') and resource ('vacancy status') scoped to a restaurant and a near-term horizon. It is clearly distinguishable from siblings like restaurant_detail, restaurant_menu, and restaurant_photos, though the differentiation is implicit rather than stated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when this tool is preferred over restaurant_detail or search_restaurants, and no prerequisites mentioned. The agent must infer that this is for checking availability, and there is no hint whether restaurant_detail already returns vacancy data.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_restaurantsB

Search Japanese restaurants. search_type is normal, current or map; area_datatype is area1, area2, majorCity, municipal, prefecture or station; genre_datatype is genre0 to genre3; sort_mode is totalRanking, distance, accessRanking, reservationRanking or domesticMostReserved. Get ids from the area tools and suggest_search.

NameRequiredDescriptionDefault
pageNo
rangeNo
latitudeNo
longitudeNo
sort_modeNo
search_typeNonormal
area_datatypeNo
genre_datatypeNo
area_datatype_idNo
genre_datatype_idNo

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It lists some allowed parameter values and an ID prerequisite, but does not explain what the search types mean, how latitude/longitude/range interact, pagination behavior, result limits, or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with purpose and then parameter value lists, with little wasted text. It is dense and readable, though the run-on enumeration of parameter values is less structured than it could be.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a 10-parameter tool with no annotations and no output schema. The description omits too much: it does not clarify how the search modes work, how coordinates and range are used, pagination defaults, or what a caller receives back.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must supply parameter meaning. It does add important domain values for search_type, area_datatype, genre_datatype, and sort_mode, and points to the source for area/genre IDs, but leaves page, range, latitude, and longitude entirely unexplained.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb and resource: 'Search Japanese restaurants.' It distinguishes the tool from detail-oriented siblings only indirectly by naming the area tools and suggest_search as ID sources, not by explicitly contrasting use cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives a useful prerequisite: 'Get ids from the area tools and suggest_search.' However, it does not explain when to choose this tool over restaurant_detail, suggest_search, or popular_nearby, nor does it state exclusions or required combinations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stationsC

List stations in a second level area.

NameRequiredDescriptionDefault
area2_idYes

TDQS

C2.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden and discloses almost nothing: read-only behavior is only implied by 'List', and there is no mention of result volume, ordering, pagination, or what a station record contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no padding, which is appropriately front-loaded. However, the terseness comes at the cost of the details an agent needs, so brevity here reads as under-specification rather than economy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No annotations, no output schema, and an undocumented parameter mean the description must compensate for all of it, and it does not. Nothing about the hierarchy linking area_level1/area_level2 to area2_id is explained, leaving the calling workflow incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0% for the single required parameter, so the description is the only source of meaning. 'Second level area' hints that area2_id refers to a level-2 geographic area, but it gives no format, range, or how to obtain a valid id.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The verb+resource ('List stations') is specific, but the scope phrase 'second level area' is unexplained jargon that only indirectly maps to the area2_id parameter. An agent can guess this retrieves stations within a level-2 area, but must infer the relationship rather than being told.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this versus siblings such as area_level2, popular_nearby, or tabelog_get, nor any stated prerequisite for obtaining an area2_id. The agent is left to infer the workflow entirely.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

tabelog_getB

Read-only escape hatch: GET any endpoint name under /tabelog_inbound_appli/ from the Tabelog spec (see tabelog-api-spec).

NameRequiredDescriptionDefault
paramsNo
endpointYes

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral burden. It usefully declares the operation 'Read-only' and points to the spec for valid endpoints, but says nothing about auth requirements, error behavior for unknown endpoints, or response shape — significant gaps for an unannotated tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with zero waste that names the operation, scope, and spec reference. Nothing to trim.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a generic escape-hatch GET with no annotations and no output schema, an agent needs the endpoint format, how params are passed, and where the spec lives. The spec pointer and path prefix are present, but the params passthrough and error/response behavior are missing, leaving it only partially complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain both parameters. It adds meaning for 'endpoint' (a name under the /tabelog_inbound_appli/ path) but the 'params' passthrough object — the key to actually using a generic GET — is entirely unexplained, leaving the more important half undocumented.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (GET) and resource scope (any endpoint under /tabelog_inbound_appli/), and the phrase 'escape hatch' distinguishes it from the named sibling tools like restaurant_detail or search_restaurants. It is clear this is a raw passthrough for endpoints not covered by a dedicated tool, though it doesn't name any sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Escape hatch' implies fallback usage — call this when no dedicated tool fits — and 'see tabelog-api-spec' points to where endpoint names come from. But there is no explicit statement of when to use this versus the 11 named siblings, nor any exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 12 tool updatesv0.1.0
    • First observedarea_level1
    • First observedarea_level2
    • First observedpopular_nearby
    • First observedrestaurant_detail
    • First observedrestaurant_menu
    • First observedrestaurant_photos
    • First observedrestaurant_reviews
    • First observedrestaurant_vacancy
    • First observedsearch_restaurants
    • First observedstations
    • First observedsuggest_search
    • First observedtabelog_get

TDQS

B3/5.0

Scored across 12 tools

Disambiguation4/5

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.

Naming Consistency3/5

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.

Tool Count5/5

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.

Completeness4/5

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.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables searching restaurants on Tabelog and retrieving details, reviews, menus, ratings, photos, and online-booking availability as MCP tools, without a browser.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to concurrently search, normalize, and compare Japanese restaurant results across Tabelog, Hot Pepper Gourmet, and Google Maps, with filters for cuisine, area, reservations, and amenities. It also retrieves structured restaurant details, reviews, menus, and courses through typed MCP tools.
    MIT