NUM

Real places for your agent. Search 2.5M+ travel places; submit a business for human review.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
78%
命名质量
80%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,521token 数(工具定义)
~1.6 KB典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.19%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "num": {
      "url": "https://itsnum.com/mcp"
    }
  }
}

远程端点

https://itsnum.com/mcpstreamable-http

它能做什么

工具清单

工具(6)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢num_search_places(city, country, area, q, category, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "city": {
      "type": "string",
      "description": "A NUM destination, e.g. 'Phuket', 'Edinburgh', 'Bangkok', 'London'. Required unless country is given."
    },
    "country": {
      "type": "string",
      "description": "ISO-2 code or name, e.g. 'TH' or 'Thailand'. Searches every NUM destination in that country."
    },
    "area": {
      "type": "string",
      "description": "A neighbourhood inside the destination, e.g. 'Kata' or 'Soho'."
    },
    "q": {
      "type": "string",
      "description": "Free text matched against the place name."
    },
    "category": {
      "type": "string",
      "description": "e.g. 'Restaurant', 'Bar', 'Hotel', 'Spa', 'Tour'."
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 50,
      "description": "Max results, default 20, cap 50."
    }
  }
}
🟢num_list_destinations

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.

输入模式

{
  "type": "object",
  "properties": {}
}
🟢num_get_place(place_id, party_size, date, time)

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.

输入模式

{
  "type": "object",
  "properties": {
    "place_id": {
      "type": "string",
      "description": "The place_id returned by num_search_places."
    },
    "party_size": {
      "type": "integer",
      "minimum": 1,
      "maximum": 40,
      "description": "Optional: people in the party, to prefill the venue's booking page."
    },
    "date": {
      "type": "string",
      "description": "Optional: YYYY-MM-DD, to prefill the venue's booking page."
    },
    "time": {
      "type": "string",
      "description": "Optional: HH:MM 24-hour, local to the venue."
    }
  },
  "required": [
    "place_id"
  ]
}
🔴num_submit_business(relationship, external_ref, name, vertical, country, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "relationship": {
      "type": "string",
      "enum": [
        "owner",
        "authorized_agent",
        "third_party"
      ],
      "description": "'owner' if you run it, 'authorized_agent' if the owner engaged you, 'third_party' if you neither own nor represent it."
    },
    "external_ref": {
      "type": "string",
      "description": "Your own reference for this business. Re-sending it edits the pending submission instead of creating a duplicate."
    },
    "name": {
      "type": "string",
      "description": "Trading name as it appears on the door."
    },
    "vertical": {
      "type": "string",
      "description": "restaurant, cafe, bar, hotel, spa, boat, tour, shop, transport, clinic, gym, attraction, other…"
    },
    "country": {
      "type": "string"
    },
    "city": {
      "type": "string"
    },
    "address": {
      "type": "string"
    },
    "phone": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "description": "Only if the business has published it. Do not derive it from the domain name."
    },
    "website": {
      "type": "string"
    },
    "description": {
      "type": "string"
    },
    "languages": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "price_range": {
      "type": "string"
    },
    "hours": {
      "type": "string"
    },
    "callback_url": {
      "type": "string",
      "description": "NUM POSTs the review decision here."
    }
  },
  "required": [
    "relationship",
    "name",
    "country",
    "city"
  ]
}
🔴num_submit_promo(submission_id, external_ref, promo_ref, kind, title, ...)

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.

输入模式

{
  "type": "object",
  "properties": {
    "submission_id": {
      "type": "string",
      "description": "From num_submit_business."
    },
    "external_ref": {
      "type": "string",
      "description": "Alternative to submission_id: the reference you used for the business."
    },
    "promo_ref": {
      "type": "string",
      "description": "Your own reference for this promotion, for idempotent edits."
    },
    "kind": {
      "type": "string",
      "enum": [
        "promo",
        "special",
        "event",
        "ad"
      ]
    },
    "title": {
      "type": "string",
      "description": "The single line a traveller reads."
    },
    "detail": {
      "type": "string"
    },
    "starts_at": {
      "type": "string",
      "description": "2026-08-01 or 2026-08-01T18:00:00Z."
    },
    "ends_at": {
      "type": "string"
    },
    "discount_pct": {
      "type": "integer",
      "minimum": 0,
      "maximum": 90
    },
    "terms": {
      "type": "string"
    }
  },
  "required": [
    "title"
  ]
}
🟢num_list_submissions(status, limit, offset)

Lists the businesses and promotions this account has submitted, with the reviewer's decision on each. Free and unmetered.

输入模式

{
  "type": "object",
  "properties": {
    "status": {
      "type": "string",
      "enum": [
        "pending",
        "approved",
        "rejected",
        "duplicate",
        "withdrawn"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200
    },
    "offset": {
      "type": "integer",
      "minimum": 0
    }
  }
}

社区

评价此服务器

证据

最近观测

已验证未记录版本6 个工具
已验证未记录版本5 个工具