Num places
by itsnum.com · remote · no sign-in to list tools · v1.0.0 · published by com.itsnum
Open places, menus, ratings and booking routes in 119 travel destinations. Read-only, no key needed.
9 tools: 5 change things and 4 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone0Claude Code: ask
- Changes things5Claude Code: ask: see these tools
- Only reads4Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http places https://app.itsnum.com/api/partner/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnopen_places
The server marks "open_places" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_places" says "open": a word for a change.
- Warnbooking_link
The server marks "booking_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "booking_link" says "link": a word for a change.
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
9 tools
Changes things 5Claude Code: ask
booking_linkA booking page for one place with the party size, date and time ALREADY FILLED IN.1 finding
Why it is in this group
- The name "booking_link" says "link": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "booking_link" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "booking_link" says "link": a word for a change.
Description, as the server wrote it A booking page for one place with the party size, date and time ALREADY FILLED IN. This does NOT make a reservation and Num does not hold a table — the traveller completes it on the venue's own platform (OpenTable, Resy, Tock, SevenRooms, Square and others). The response always carries `booked: false` and `mode: "deeplink"`. You MUST NOT render this as a confirmation, and you MUST NOT tell a traveller a table is held. If the venue has no booking platform the response says so and returns the phone number instead — offer that rather than implying it cannot be visited.
Annotations the server declares
- title: How to book a place
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
concierge_answerAsk Num the way a traveller would — "where should we eat tonight near Kata?", "which beach for sunset?" — and get a short concierge answer grounded in Num's verified directory, plu…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Ask Num the way a traveller would — "where should we eat tonight near Kata?", "which beach for sunset?" — and get a short concierge answer grounded in Num's verified directory, plus the places it names as structured data so you can render your own cards. This is the whole product in one tool. It answers about the place asked and NEVER substitutes a different city. If Num has no coverage there it says so rather than guessing. It does not book, charge, or take personal details — send none. You MUST display the returned `attribution`.
Annotations the server declares
- title: Ask Num a travel question
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: false
- openWorldHint: false
directory_feedBulk, paged sync of every place Num lists in one destination — free (included in the no-fee free tier; one call returns up to 200 places), for keeping your own copy of the director…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Bulk, paged sync of every place Num lists in one destination — free (included in the no-fee free tier; one call returns up to 200 places), for keeping your own copy of the directory current instead of searching it call by call. Ordered by place_id; pass the returned `next_cursor` back as `cursor` until it is null. Each item has the search_places fields plus cuisine, lat, lng and booking_platform. Places Num has positive evidence have closed are excluded; `trading: null` means not yet checked, NOT closed. Contains no menus, reviews or photos — call get_menu, get_reviews or place_details for those. You MUST display the returned `attribution` wherever the data is shown.
Annotations the server declares
- title: Page through the directory
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
open_placesPlaces that are OPEN RIGHT NOW in a destination, computed in the destination's own timezone.1 finding
Why it is in this group
- The name "open_places" says "open": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "open_places" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false}; The name "open_places" says "open": a word for a change.
Description, as the server wrote it Places that are OPEN RIGHT NOW in a destination, computed in the destination's own timezone. Businesses whose own website is a dead domain or a 404 are excluded entirely — they have closed down. IMPORTANT: only venues whose opening hours Num has verified can appear here, so a short list means thin hours coverage, NOT an empty city. Never tell a traveller "nothing is open" on the strength of this tool; say that these are the ones Num can confirm are open. Use search_places for the full directory.
Annotations the server declares
- title: Find places open at a time
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
place_detailsEverything Num holds on one place, by place_id from search_places: contact details, hours, rating, review count, area, category, cuisine, the venue's own short description (`about`…No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Everything Num holds on one place, by place_id from search_places: contact details, hours, rating, review count, area, category, cuisine, the venue's own short description (`about`), coordinates, `open_now` computed in the destination's timezone (true / false / null — null means Num has not verified the hours, NOT that it is closed), the booking platform and — only where a verified owner chose it — the venue's own booking page, a recently-read published price line where Num holds one, and up to 8 approved member photos plus the listing photo, each with its own `attribution` you MUST show alongside it. Use before showing a detail page or handing a traveller a phone number. Returns only what is verified — absent fields are absent because Num does not know them, never because they were omitted for brevity. Do not fill gaps from memory; an invented phone number is worse than a missing one.
Annotations the server declares
- title: Get one place in full
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
Only reads 4Claude Code: allow
get_reviewsA rating SUMMARY for one place, free (included in the no-fee free tier) — no review text and no reviewer identities, ever.No findings
Why it is in this group
- The name "get_reviews" says "get": a word for reading.
Description, as the server wrote it A rating SUMMARY for one place, free (included in the no-fee free tier) — no review text and no reviewer identities, ever. Returns `external` (the public rating and review count the listing carries, with `source`, the site it was read from) and `num_verified`: the average, count and 1–5 star distribution of ratings from verified guests — people who booked through Num and checked in at the venue by scanning its own code. Guests the venue comped or worked with are excluded, and Num publishes no verified average until a place has 5 such ratings (below that every number is null and `note` says why). Keep the two numbers separate; do not average them together. You MUST display the returned `attribution`.
Annotations the server declares
- title: Read reviews of a place
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
list_destinationsWhich destinations Num covers, with the number of verified places in each.No findings
Why it is in this group
- The name "list_destinations" says "list": a word for reading.
Description, as the server wrote it Which destinations Num covers, with the number of verified places in each. Call this FIRST when you do not know whether a city is supported — it is cheaper than a failed search and stops you promising a traveller coverage that does not exist. Coverage is honest: a destination appears here only when it has a real, maintained directory.
Annotations the server declares
- title: List the destinations Num covers
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
search_placesFind real, currently-operating places in a destination — restaurants, bars, beaches, spas, viewpoints, temples.No findings
Why it is in this group
- The name "search_places" says "search": a word for reading.
Description, as the server wrote it Find real, currently-operating places in a destination — restaurants, bars, beaches, spas, viewpoints, temples. Ranked by quality (rating weighted by how many reviews stand behind it). When `near` is a "lat,lng" coordinate pair, results are limited to about 5 km of that point, ranked by a blend of quality and distance — so a 4.8★ institution two streets away beats an unrated snack bar next door — and each carries `distance_m`. When `near` is a neighbourhood name it filters by area and NO distance is returned. Returns name, category, area, rating, review count, phone, address and opening hours where known. NEVER invents a place: if Num does not hold it, it is not returned. You MUST display the returned `attribution` string wherever you show these results.
Annotations the server declares
- title: Search real places in a destination
- readOnlyHint: true
- destructiveHint: false
- idempotentHint: true
- openWorldHint: false
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.0.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http places https://app.itsnum.com/api/partner/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__places__search_places",
"mcp__places__list_destinations",
"mcp__places__get_menu",
"mcp__places__get_reviews"
],
"ask": [
"mcp__places__concierge_answer",
"mcp__places__place_details",
"mcp__places__open_places",
"mcp__places__booking_link",
"mcp__places__directory_feed"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as places. Review it before you use it.