NUM
REMOTE · ITSNUM.COM
Real places for your agent: search 2.5M+ travel places, list businesses, license place photos.
Available components
Last scanned (13 hours ago)
Scores higher than 59% of remote servers
Reachable. Last reached 18 Oct 2026.
Category Maps and Location
Recent critical change
Authorization (17 Sept 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security46
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (num_submit_business). See how to fix → View diagnostics → Fail
- HTTPS enforcement could not be verified: the plaintext port answered with HTTP 405, which proves neither a plaintext path nor enforcement. View diagnostics → Unverified
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability56
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 1887 tokens (~188/item across 10 items; 10 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage86
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 58% of tool parameters carry a description.Partial
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 10 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 11 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 10 Oct 26 0
- Tool “num_license_photo” rewrote its description, which is the text the model reads security
- Tool “num_search_photos” rewrote its description, which is the text the model reads security
- 4 Oct 26 0
- Schema quality: 205 → 179 ▲ functional
- 28 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 26 Sept 26 0
- Tool “num_get_place” rewrote its description, which is the text the model reads security
- Tool “num_search_places” rewrote its description, which is the text the model reads security
- Schema quality: 186 → 205 ▼ functional
- Tool coverage: 50% → 55% ▲ functional
- New tool “num_list_destinations” functional
- “num_get_place” added an optional parameter “date” cosmetic
- “num_get_place” added an optional parameter “party_size” cosmetic
- “num_get_place” added an optional parameter “time” cosmetic
- “num_search_places” added an optional parameter “area” cosmetic
- “num_search_places” reworded the description of “city” cosmetic
- “num_search_places” reworded the description of “country” cosmetic
- Tool “num_get_place” changed its title: Get place details → Get place details and how to book it cosmetic
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 17 Sept 26 −7
- Authorization: partial → fail ▼ critical
- The server rewrote its instructions, which are the text every model session reads security
- Tool “num_get_place” rewrote its description, which is the text the model reads security
- Tool “num_list_submissions” rewrote its description, which is the text the model reads security
- Tool “num_search_places” rewrote its description, which is the text the model reads security
- Tool “num_submit_business” rewrote its description, which is the text the model reads security
- Tool “num_submit_promo” rewrote its description, which is the text the model reads security
- Tool “num_submit_business” is now declared destructive security
- Tool “num_submit_promo” is now declared destructive security
- MCP protocol: fail → pass ▲ functional
- MCP protocol version: 2025-06-18 → 2025-11-25 functional
- Server version: 1.0.0 → 1.2.0 functional
- 16 Sept 26 +1
- Stability: 0.97 → pass security
- 14 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 90 to 93. That category is still filling its 30-day observation window: 27 days of observed history at the previous scan, 28 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 18 Oct 2026 · Probed https://itsnum.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=itsnum.com | CN=WE1,O=Google Trust Services,C=US | 19 Sept 2026 | 18 Dec 2026 | ECDSA 256 | ECDSA-SHA256 | f7321b8001924b470eb19eda96f3ed89 |
| SANs: itsnum.com | ||||||
| CN=WE1,O=Google Trust Services,C=US (CA) | CN=GTS Root R4,O=Google Trust Services LLC,C=US | 13 Dec 2023 | 20 Feb 2029 | ECDSA 256 | ECDSA-SHA384 | 7ff31977972c224a76155d13b6d685e3 |
| CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) | CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE | 15 Nov 2023 | 28 Jan 2028 | ECDSA 384 | SHA256-RSA | 7fe530bf331343bedd821610493d8a1b |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of itsnum.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| itsnum.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://itsnum.com/mcp | Verified | 200 | |
| http (plaintext) | http://itsnum.com/mcp | Inconclusive | 405 |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
num_get_place Get place details and how to book it ~231
Full record for one place, by the place_id that num_search_places returned, including HOW TO BOOK IT on the venue's own terms. `booking.method` is one of: request (the venue takes requests through NUM and confirms each one itself), venue_system (send the traveller to booking.url, prefilled when you pass party_size, date and time), phone (the number is for the traveller to call), not_through_num, closed, unknown. Follow booking.guidance exactly. If open_status.closed is true, NUM holds evidence the place has gone: do not send anyone there. accolades carry their source; menu is the owner's own list and prices. Each call counts against the daily read quota.
| Name | Type | Req | Description |
|---|---|---|---|
| date | string | – | Optional: YYYY-MM-DD, to prefill the venue's booking page. |
| party_size | integer | – | Optional: people in the party, to prefill the venue's booking page. |
| place_id | string | yes | The place_id returned by num_search_places. |
| time | string | – | Optional: HH:MM 24-hour, local to the venue. |
No output schema declared.
No examples provided.
num_license_photo License one use of a photo ~235
Buys one use of one photo from this account's prepaid photo wallet and returns the license and a download link to the file (metadata removed). max_price_cents is the most the operator agreed to pay; a higher current price is refused with the quote and nothing is charged. In a live drop the price rises after every license, so another buyer can move it first: within max_price_cents the purchase goes through at the new price, above it you get price_moved with the new quote and nothing is charged. Re-sending the same idempotency_key returns the same license instead of buying again. Spending is capped per UTC day. While NUM's licensing is in its test run, purchases use test credit and no money moves; the response says test: true.
| Name | Type | Req | Description |
|---|---|---|---|
| idempotency_key | string | – | Your own key for this purchase; a retry with the same key never buys twice. |
| max_price_cents | integer | yes | The most the operator agreed to pay for this use, in US cents. |
| photo_id | string | yes | From num_search_photos. |
| use | string | yes | – |
No output schema declared.
No examples provided.
num_list_destinations List NUM's destinations ~43
Every destination NUM covers, with its country. Use a destination's name or slug as num_search_places city. Free, unmetered, and needs no key.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
num_list_submissions List your submissions ~55
Lists the businesses and promotions this account has submitted, with the reviewer's decision on each. Free and unmetered.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer | – | – |
| offset | integer | – | – |
| status | string | – | – |
No output schema declared.
No examples provided.
num_photo_wallet Photo wallet and licenses ~65
This account's photo wallet balance (US cents, plus test credit), what it spent today against the daily cap, and the licenses it holds. Free and unmetered. Adding credit is POST /api/agent/photos/topup, which returns a checkout link a person pays.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
num_quote_photo Get the price and terms for one use of a photo ~58
The current price in US cents and the full license terms for one use of one photo. Nothing is charged. Counts against the daily read quota.
| Name | Type | Req | Description |
|---|---|---|---|
| photo_id | string | yes | From num_search_photos. |
| use | string | yes | – |
No output schema declared.
No examples provided.
num_search_photos Search licensable photos of places ~298
Search photos of real places taken by NUM travelers and offered for licensing per use. Each result has a photo_id, a preview URL, the place (name, city, area, category), the month it was taken, the photographer's public name and the price in US cents for each use: social (one post), web (one page), ad (one campaign) and ai_training (one dataset). A price of null means that use cannot be bought right now. Business uses sell in live drops: a limited number of licenses over 3 days, the price rising 10% after each one; drop shows licenses left, the end time and the next price. Every photo shows a place with no recognisable person and was checked by a person; results never include coordinates or exact dates. use=ai_training returns only photos whose photographer allows AI training. Each call counts against the daily read quota.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string | – | e.g. 'Restaurant', 'Bar', 'Hotel'. |
| city | string | – | A NUM destination or neighbourhood, e.g. 'London' or 'Silom'. |
| kind | string | – | – |
| limit | integer | – | – |
| offset | integer | – | – |
| place_id | string | – | Only photos of this place (from num_search_places). |
| q | string | – | Free text matched against the place name. |
| use | string | – | Only photos offered for this use. |
No output schema declared.
No examples provided.
num_search_places Search places ~267
Search NUM's travel directory: more than 2.5 million places — restaurants, bars, hotels, spas, tours and shops, deepest in Thailand and the UK. Say where to look: city (one of NUM's destinations — see num_list_destinations) or country; then narrow with q, area and category. Places NUM knows have closed are never returned. Returns name, category, address, phone, website, coordinates and whether the owner has claimed the listing; call num_get_place for how to book one. Each call counts against the daily read quota.
| Name | Type | Req | Description |
|---|---|---|---|
| area | string | – | A neighbourhood inside the destination, e.g. 'Kata' or 'Soho'. |
| category | string | – | e.g. 'Restaurant', 'Bar', 'Hotel', 'Spa', 'Tour'. |
| city | string | – | A NUM destination, e.g. 'Phuket', 'Edinburgh', 'Bangkok', 'London'. Required unless country is given. |
| country | string | – | ISO-2 code or name, e.g. 'TH' or 'Thailand'. Searches every NUM destination in that country. |
| limit | integer | – | Max results, default 20, cap 50. |
| q | string | – | Free text matched against the place name. |
No output schema declared.
No examples provided.
num_submit_business Submit a business for review ~330
Submit a business to NUM for review. Free and unmetered. A person at 5arz reviews every submission before any traveller sees it, so the result is status 'pending_review', never an immediate listing. 'relationship' records whether the submitter owns the business, was engaged by the owner, or is a third party; reviewers verify it. Contact details must be ones the business has published — submissions with guessed or derived contact details are rejected. Re-sending the same external_ref updates the pending submission instead of creating a duplicate.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | – | – |
| callback_url | string | – | NUM POSTs the review decision here. |
| city | string | yes | – |
| country | string | yes | – |
| description | string | – | – |
| string | – | Only if the business has published it. Do not derive it from the domain name. | |
| external_ref | string | – | Your own reference for this business. Re-sending it edits the pending submission instead of creating a duplicate. |
| hours | string | – | – |
| languages | array | – | – |
| name | string | yes | Trading name as it appears on the door. |
| phone | string | – | – |
| price_range | string | – | – |
| relationship | string | yes | 'owner' if you run it, 'authorized_agent' if the owner engaged you, 'third_party' if you neither own nor represent it. |
| vertical | string | – | restaurant, cafe, bar, hotel, spa, boat, tour, shop, transport, clinic, gym, attraction, other… |
| website | string | – | – |
No output schema declared.
No examples provided.
num_submit_promo Submit a promotion for review ~195
Attach a promotion, special, event or ad to a business previously submitted by the same account. Free and unmetered. A person reviews it before it is shown to anyone. Re-sending the same promo_ref updates the pending promotion instead of creating a duplicate.
| Name | Type | Req | Description |
|---|---|---|---|
| detail | string | – | – |
| discount_pct | integer | – | – |
| ends_at | string | – | – |
| external_ref | string | – | Alternative to submission_id: the reference you used for the business. |
| kind | string | – | – |
| promo_ref | string | – | Your own reference for this promotion, for idempotent edits. |
| starts_at | string | – | 2026-08-01 or 2026-08-01T18:00:00Z. |
| submission_id | string | – | From num_submit_business. |
| terms | string | – | – |
| title | string | yes | The single line a traveller reads. |
No output schema declared.
No examples provided.
How do I install the NUM MCP server?
NUM is a hosted endpoint at https://itsnum.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · itsnum.com
claude mcp add --transport http com-itsnum-num 'https://itsnum.com/mcp'
What is the NUM MCP server?
NUM is an MCP server listed in the public MCP registry as com.itsnum/num. Real places for your agent: search 2.5M+ travel places, list businesses, license place photos. This page covers its hosted endpoint (https://itsnum.com/mcp).
Is the NUM MCP server safe to use?
NUM scores 69 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the NUM MCP server expose?
NUM exposes 10 tools: num_search_places, num_list_destinations, num_get_place, num_submit_business, num_submit_promo, and 5 more. Their descriptions and schemas cost roughly 1,777 tokens of context every time the server is loaded.
Does the NUM MCP server require authentication?
No. We connected to NUM without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the NUM MCP server still maintained?
NUM is still listed as active in the MCP registry. We last reached this channel on 18 October 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.