TableJourney food travel
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Food travel in 224 cities: verified places, festivals, tours. Agents earn 50% via partner tools.
| Author | com.tablejourney |
|---|---|
| Access | remote |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 2802 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TableJourney food travel": {
"url": "https://tablejourney.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (21)
search_placesread-onlyUse when the user asks where to eat or drink in a city: 'best ramen in Tokyo', 'vegan brunch in Lisbon open on Sunday', 'a wine bar near me in Paris', 'cheap eats in Mexico City', 'is this restaurant open now'. Search verified venues (read-only). Filter by text, city, kind (a topic such as restaurants, cafes, bakeries, markets, street-food, or a group: eat, drink, bake, do), cuisine, dietary, price tier, opening time, or near a coordinate. Results are ranked by relevance then editorial score and carry provenance (source URL, checked_on, open_status), hours, a page URL to cite and a tracked booking link where one exists. Returns at most `limit` items; an unknown city returns {did_you_mean: [...]} instead of a list.
Parameters:
city— City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.kind— A topic slug (restaurants, cafes, bakeries, markets, street-food...) or a group: eat, drink, bake, do.near— 'lat,lng' to search around a point; results then sort by distance.limit— integer — Maximum results (1-100; at most 20 without an API key).query— Free text: a venue name, dish, cuisine, neighbourhood or theme.offset— integer — Skip this many results, for paging.country— Country slug or name, e.g. 'italy'. Optional where city is given.cuisine— Cuisine slug or name, e.g. 'sichuan', 'neapolitan pizza'.dietary— vegan, vegetarian, gluten-free, halal, kosher...open_at— 'now', a weekday and time such as 'sunday 10:00', or an ISO datetime (UTC). Venues with unparseable hours are returned last, flagged.radius_km— number — Radius for near, in km.price_tier— The site's tier symbols for the country, e.g. '€€' or '$$$'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
plan_dayread-onlyUse when the user wants a day planned: 'plan a food day in Paris on Saturday', 'where should I have breakfast, lunch and dinner in Seville'. Compose a food day for one city (read-only): one best-scored open venue per slot from morning to evening, filtered by neighbourhood, dietary need and price tier, every stop open on the given date, plus one bookable experience. Also lists the titles of the editorial itineraries for the city, which are the better plan when one exists (fetch them with `itineraries`).
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.date— ISO date, e.g. '2026-09-20'. Each stop is checked open at its slot time on that weekday.dietary— vegan, vegetarian, gluten-free, halal, kosher...price_tier— The site's tier symbols for the country, e.g. '€€' or '$$$'.neighborhood— Neighbourhood name or slug to keep the day inside.
Hints: read-only yes · destructive no · idempotent yes · open-world no
placeread-onlyOne venue in full by id (read-only): every field, provenance, hours, open_now_utc, the booking link and three nearby venues. Returns {error: ...} when the id is malformed or unknown.
Parameters:
id(required) — string — The id search_places returned: country/city/kind/slug, e.g. 'italy/rome/restaurants/roscioli'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
festivalsread-onlyUse when the user asks what food festivals, food events or Christmas markets are on, or when one is: 'food festivals in Italy in October', 'what is on in Austin the week of November 5', 'Christmas markets in Germany', 'when is the Alba truffle fair'. Food festivals with their next resolved dates (read-only). Filter by city, country, a date window and text. Each item carries starts_on/ends_on for the next edition, the organiser source URL and the page to cite.
Parameters:
city— City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.limit— integer — Maximum results (1-100; at most 20 without an API key).query— Free text: festival name, food or drink.country— Country slug or name, e.g. 'italy'. Optional where city is given.date_to— Latest start date to include, ISO.date_from— Earliest end date to include, ISO. Defaults to today.
Hints: read-only yes · destructive no · idempotent yes · open-world no
experiencesread-onlyUse for food tours, cooking classes, tastings and market tours in a city: 'a street food tour in Bangkok', 'pasta-making class in Rome', 'wine tasting near Florence'. Bookable food tours, cooking classes, tastings and tickets for a city. Read-only. Each item has price, rating, review count, duration and a tracked `book` link. Ranked by relevance to `query` when given, otherwise by popularity.
Parameters:
city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.limit— integer — Maximum results (1-100; at most 20 without an API key).query— Free text, e.g. 'cooking class', 'wine tasting', 'market tour'.country— Country slug or name, e.g. 'italy'. Optional where city is given.food_only— boolean — Keep only products on the site's theme (food and drink, or wine). Set false for everything bookable in the city.
Hints: read-only yes · destructive no · idempotent yes · open-world no
staysread-onlyUse for 'where to stay in <city>' or 'hotels in <city>'. Hotels and stay partners for a city (read-only): hotel listings with a tracked booking link each, plus the partner search links that cover the city. Prices are not returned; the partner page has them.
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.limit— integer — Maximum hotel listings (1-50).
Hints: read-only yes · destructive no · idempotent yes · open-world no
car_hireread-onlyCar hire partners that verifiably cover a city (read-only): one entry per partner with the pickup facts we checked and a tracked booking link. Empty list when no partner covers the city.
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.
Hints: read-only yes · destructive no · idempotent yes · open-world no
ticketsread-onlyAttraction tickets, city passes and tour partners that verifiably cover a city (read-only): one entry per partner with a tracked booking link. Complements `experiences`. Empty list when none covers the city.
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.
Hints: read-only yes · destructive no · idempotent yes · open-world no
things_to_doread-onlyUse when the user is planning a trip or asks what to do in a city: 'I am going to Rome next week, what should I do?', 'things to do in Bangkok for food lovers'. START HERE for 'what can I do in <city>?' (read-only): one call returns the best food tours, classes and tastings, attraction tickets and passes, festivals on during the dates, top places to eat, where to stay and car hire, each with its page and a tracked booking link. Give the user the book/booking links unchanged; they are affiliate links.
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.date_to— Optional trip end, ISO date.date_from— Optional trip start, ISO date.
Hints: read-only yes · destructive no · idempotent yes · open-world no
dishesread-onlyUse when the user asks what to eat somewhere or where to find a dish: 'what should I eat in Naples?', 'where to get pastel de nata in Lisbon', 'local dishes in Hanoi'. Signature dishes of a city and where to eat them (read-only). Each item has a description, the venues resolved to ids and page URLs, and the page to cite; ranked by editorial score.
Parameters:
city— City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.limit— integer — Maximum results (1-100; at most 20 without an API key).query— Free text: a dish, ingredient, style or grape.country— Country slug or name, e.g. 'italy'. Optional where city is given.
Hints: read-only yes · destructive no · idempotent yes · open-world no
itinerariesread-onlyUse for 'a two-day food itinerary for <city>' or 'how to spend 48 hours eating in <city>'. Editorial day-by-day food itineraries for a city (read-only): every venue resolved to an id, address, hours and page URL. Empty list when the city has none.
Parameters:
country(required) — string — Country slug or name, e.g. 'italy'. Optional where city is given.city(required) — string — City slug or name, e.g. 'new-york-city' or 'New York City'. Unknown cities answer with did_you_mean.
Hints: read-only yes · destructive no · idempotent yes · open-world no
citiesread-onlyEvery city the site covers (read-only), with the country and city slugs the other tools accept and the hub page URL. Call first when unsure of coverage.
Parameters:
country— Country slug to filter by, e.g. 'italy'.
Hints: read-only yes · destructive no · idempotent yes · open-world no
partner_joinCreate a free partner account so you earn a share of the commission on bookings made by people you send to TableJourney (see partner terms at /partners/terms/). No inbox? Leave email out: the answer holds your API key and referral code at once (add an email with partner_add_email before your first payout). With an email we send a one-time code; pass it to partner_confirm. accept_terms must be true. The person or company running the agent is the member and the payee.
Parameters:
accept_terms(required) — boolean — You accept the partner terms.kind— string — agent, person or company.name— Your name or company (optional).email— Optional: an inbox you or your operator can read. Leave out to join without one.website— Where you will share links (optional).marketing— boolean — Partner news by email (switch off any time).
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_confirmConfirm the email address with the code from partner_join. Returns your API key (shown once: send it as `Authorization: Bearer <key>` or X-API-Key; every booking link this server returns to it carries your code) and your referral code (add ?ref=<code> to any tablejourney.com link).
Parameters:
email(required) — string — The address you joined with.code(required) — string — The code from the email, e.g. ABCD-2345.
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_add_emailNeeds your API key or OAuth token. For an account that joined without an email: we send a code to the address; confirm it with partner_confirm (your API key stays the same). Needed before your first payout and to recover the account if the key is lost.
Parameters:
email(required) — string — An inbox you or your operator can read.
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_signin_codeEmail a one-time sign-in code to a partner account (for a new API key with partner_signin).
Parameters:
email(required) — string — Your partner email.
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_signinExchange the emailed sign-in code for a new API key (the old key stops working).
Parameters:
email(required) — string — Your partner email.code(required) — string — The code from the email.
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_linkread-onlyNeeds your API key or OAuth token. Any page of the site, with your ?ref= code added.
Parameters:
url— string — A tablejourney.com URL or path.
Hints: read-only yes · destructive no · idempotent yes · open-world no
partner_statsread-onlyNeeds your API key or OAuth token. Visits and partner clicks your links brought, and earnings by status (pending until the partner pays us, then payable after the hold).
Parameters:
days— integer
Hints: read-only yes · destructive no · idempotent yes · open-world no
partner_payout_methodNeeds your API key or OAuth token. type is paypal (paypal_email); a crypto wallet with address: usdc_base (USDC on Base), usdc_solana (USDC on Solana), eth (ETH on Ethereum), sol (SOL on Solana) or btc (Bitcoin), so an agent can be paid to its own wallet with no bank account; or bank (holder, country, currency, iban or account_number, bic or routing_number). We email a code; the details take effect only after partner_confirm_payout.
Parameters:
type(required) — string — paypal, usdc_base, usdc_solana, eth, sol, btc or bank.bicibanholderaddresscountrycurrencypaypal_emailaccount_numberrouting_number
Hints: read-only no · destructive no · idempotent no · open-world yes
partner_confirm_payoutNeeds your API key or OAuth token. The code from the payout email.
Parameters:
code(required) — string — The emailed code.
Hints: read-only no · destructive no · idempotent no · open-world yes
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.