Veritaset

Verified, sourced mobile plan prices in 32 European markets and the US, ranked by public rules.

我該用這個嗎

品質與安全性

A
說明品質
97%
結構描述完整度
74%
命名品質
90%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~3,080Token(工具定義)
~4.7 KB典型回應大小
顯著的注意力影響(128k 上下文的 2.41%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "mcp": {
      "url": "https://veritaset.com/mcp"
    }
  }
}

遠端端點

https://veritaset.com/mcpstreamable-http

它能做什麼

工具清單

工具(6)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢compare_mobile_plans(country, data_gb_month, minutes_month, sms_month, travel, ...)

Consumer mobile phone plans (SIM-only and prepaid) in these markets: Belgium, Netherlands, Luxembourg, France, Iceland, Hungary, Finland, Slovenia, Ireland, Slovakia, Estonia, Latvia, Croatia, Greece, Malta, Liechtenstein, Portugal, Lithuania, Romania, Bulgaria, Cyprus, Czechia, Norway, Sweden, Austria, Poland, Italy, Denmark, United Kingdom, Switzerland, Spain, Germany, United States (preview), including mobile data while travelling from there. Returns the plans that meet every stated need, ranked by effective monthly cost including promos, one-off fees and the cost of covering their trips (EU allowance and surcharges, or Canada and Mexico for US plans; operator roaming passes, travel eSIMs), each with its source link and check date (collected_by_hand where a person read the price on the operator's own website), plus questions worth asking the person (missing_inputs).

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "BE",
        "NL",
        "LU",
        "FR",
        "IS",
        "HU",
        "FI",
        "SI",
        "IE",
        "SK",
        "EE",
        "LV",
        "HR",
        "GR",
        "MT",
        "LI",
        "PT",
        "LT",
        "RO",
        "BG",
        "CY",
        "CZ",
        "NO",
        "SE",
        "AT",
        "PL",
        "IT",
        "DK",
        "GB",
        "CH",
        "ES",
        "DE",
        "US"
      ],
      "description": "Market, ISO 3166-1 alpha-2 (BE, NL, LU, FR, IS, HU, FI, SI, IE, SK, EE, LV, HR, GR, MT, LI, PT, LT, RO, BG, CY, CZ, NO, SE, AT, PL, IT, DK, GB, CH, ES, DE, US). Prices are in that market's currency."
    },
    "data_gb_month": {
      "type": [
        "number",
        "string"
      ],
      "description": "Mobile data the person uses per month, in GB, or \"unlimited\"."
    },
    "minutes_month": {
      "type": [
        "number",
        "null"
      ],
      "description": "National call minutes per month; null = unlimited. Default 100."
    },
    "sms_month": {
      "type": [
        "number",
        "null"
      ],
      "description": "National SMS per month; null = unlimited. Default 0. Plans that charge per SMS beyond their allowance are costed at the stated rate, so a rough figure is fine."
    },
    "travel": {
      "type": "array",
      "description": "Specific trips per year, when the person knows them. Takes precedence over travel_profile. Omit both if unknown (the result then lists travel under missing_inputs); pass [] if the person does not travel.",
      "items": {
        "type": "object",
        "properties": {
          "country": {
            "type": "string",
            "description": "Destination, ISO 3166-1 alpha-2 (e.g. FR, US, MA)."
          },
          "days_per_year": {
            "type": "number"
          },
          "data_gb_per_day": {
            "type": "number",
            "description": "Default 0.5."
          }
        },
        "required": [
          "country",
          "days_per_year"
        ]
      }
    },
    "needs_esim": {
      "type": "boolean"
    },
    "needs_5g": {
      "type": "boolean"
    },
    "lines": {
      "type": "number",
      "description": "Number of lines (e.g. a family of 4). Default 1. Costs are then the total for all lines; each line has the data/minutes need above."
    },
    "hotspot_gb_month": {
      "type": "number",
      "description": "Mobile hotspot (tethering) data needed per month, in GB. Plans that don't state enough hotspot data don't fit."
    },
    "autopay": {
      "type": "boolean",
      "description": "false = the person won't use AutoPay; advertised AutoPay discounts are added back. Default true."
    },
    "travel_profile": {
      "type": "string",
      "enum": [
        "none",
        "eu_occasional",
        "eu_frequent"
      ],
      "description": "How the person travels, when they describe it loosely: eu_occasional = a couple of weeks a year in the EU, eu_frequent = about two months a year in the EU. Costed with the published assumptions (see assumptions in the result)."
    },
    "travels_outside_eu": {
      "type": "boolean",
      "description": "True if the person sometimes travels outside the EU. Each result then lists the plan's own options there (passes, included countries, pay-per-use rate) without costing a specific trip."
    },
    "max_monthly_eur": {
      "type": "number",
      "description": "Budget per month in the market's currency (despite the name), as advertised; for all lines together."
    },
    "accept_contract": {
      "type": "boolean",
      "description": "false = only plans without a minimum contract. Prepaid packs paid several months up front are not contracts (each result says so); use max_term_months to limit them."
    },
    "max_term_months": {
      "type": "number",
      "description": "Longest term the person accepts, in months: a contract or months paid up front (e.g. an annual prepaid pack). 1 = month to month only; 12, 24, 36… Omit for any."
    },
    "accept_prepaid": {
      "type": "boolean"
    },
    "has_home_internet_with": {
      "type": "string",
      "description": "Operator group the person has home internet with (e.g. Proximus, Orange or Telenet in Belgium), which unlocks bundle prices."
    },
    "age": {
      "type": "number",
      "description": "Only needed for youth and senior plans."
    },
    "special_eligibility": {
      "type": "boolean",
      "description": "True if the person qualifies for offers limited to some customers (students, social tariffs, porting from a named operator, existing customers of another service). Default false: such plans are listed as not fitting, with the condition."
    },
    "horizon_months": {
      "type": "number",
      "description": "Months to average costs over, including promos. Default 12."
    },
    "limit": {
      "type": "number",
      "description": "Number of results, default 5, max 20."
    }
  },
  "required": [
    "data_gb_month"
  ]
}
🟢find_better_plan(country, usage_months, current_offer_id, current_plan_name, current_price_month, ...)

Checks whether a cheaper mobile plan fits someone's actual usage (from a bill, an app screenshot or their own estimate) in their market. Takes a few months of usage and, if known, the current plan; returns plans that cover most of their months, ranked by effective monthly cost including trips, with the yearly saving against their current plan, sources and check dates. Send only numbers: no names, phone numbers or bills.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "BE",
        "NL",
        "LU",
        "FR",
        "IS",
        "HU",
        "FI",
        "SI",
        "IE",
        "SK",
        "EE",
        "LV",
        "HR",
        "GR",
        "MT",
        "LI",
        "PT",
        "LT",
        "RO",
        "BG",
        "CY",
        "CZ",
        "NO",
        "SE",
        "AT",
        "PL",
        "IT",
        "DK",
        "GB",
        "CH",
        "ES",
        "DE",
        "US"
      ],
      "description": "Market, ISO 3166-1 alpha-2 (BE, NL, LU, FR, IS, HU, FI, SI, IE, SK, EE, LV, HR, GR, MT, LI, PT, LT, RO, BG, CY, CZ, NO, SE, AT, PL, IT, DK, GB, CH, ES, DE, US). Prices are in that market's currency."
    },
    "usage_months": {
      "type": "array",
      "description": "One entry per month, most recent first if known.",
      "items": {
        "type": "object",
        "properties": {
          "data_gb": {
            "type": "number",
            "description": "Mobile data used that month, GB."
          },
          "minutes": {
            "type": "number",
            "description": "National call minutes that month."
          },
          "roaming": {
            "type": "array",
            "description": "Days abroad that month.",
            "items": {
              "type": "object",
              "properties": {
                "country": {
                  "type": "string"
                },
                "days": {
                  "type": "number"
                },
                "data_gb": {
                  "type": "number"
                }
              },
              "required": [
                "country",
                "days"
              ]
            }
          }
        }
      }
    },
    "current_offer_id": {
      "type": "string",
      "description": "Veritaset offer_id of the current plan, if it can be identified (see get_mobile_plan_details / compare results)."
    },
    "current_plan_name": {
      "type": "string",
      "description": "Current operator and plan name as on the bill, e.g. 'Proximus Mobile Smart'."
    },
    "current_price_month": {
      "type": "number",
      "description": "What the person pays per month today, in the market's currency as advertised, if the plan can't be identified."
    },
    "needs_esim": {
      "type": "boolean"
    },
    "needs_5g": {
      "type": "boolean"
    },
    "accept_contract": {
      "type": "boolean",
      "description": "false = only plans without a minimum contract. Prepaid packs paid several months up front are not contracts (each result says so); use max_term_months to limit them."
    },
    "max_term_months": {
      "type": "number",
      "description": "Longest term the person accepts, in months: a contract or months paid up front (e.g. an annual prepaid pack). 1 = month to month only; 12, 24, 36… Omit for any."
    },
    "has_home_internet_with": {
      "type": "string",
      "description": "Operator group the person has home internet with (e.g. Proximus, Orange or Telenet in Belgium), which unlocks bundle prices."
    },
    "age": {
      "type": "number",
      "description": "Only needed for youth and senior plans."
    },
    "special_eligibility": {
      "type": "boolean",
      "description": "True if the person qualifies for offers limited to some customers (students, social tariffs, porting from a named operator, existing customers of another service). Default false: such plans are listed as not fitting, with the condition."
    },
    "lines": {
      "type": "number",
      "description": "Number of lines (e.g. a family of 4). Default 1. Costs are then the total for all lines; each line has the data/minutes need above."
    },
    "hotspot_gb_month": {
      "type": "number",
      "description": "Mobile hotspot (tethering) data needed per month, in GB. Plans that don't state enough hotspot data don't fit."
    },
    "autopay": {
      "type": "boolean",
      "description": "false = the person won't use AutoPay; advertised AutoPay discounts are added back. Default true."
    },
    "travel_profile": {
      "type": "string",
      "enum": [
        "none",
        "eu_occasional",
        "eu_frequent"
      ],
      "description": "How the person travels, when they describe it loosely: eu_occasional = a couple of weeks a year in the EU, eu_frequent = about two months a year in the EU. Costed with the published assumptions (see assumptions in the result)."
    },
    "travels_outside_eu": {
      "type": "boolean",
      "description": "True if the person sometimes travels outside the EU. Each result then lists the plan's own options there (passes, included countries, pay-per-use rate) without costing a specific trip."
    },
    "limit": {
      "type": "number",
      "description": "Number of results, default 5, max 20."
    }
  },
  "required": [
    "usage_months"
  ]
}
🟢get_mobile_plan_details(offer_id, country)

Full published record of one mobile plan or travel eSIM by offer_id, in any covered market: allowances, roaming (EU allowance, or Canada and Mexico for US plans), roaming passes, promo terms, source URL, source type (manual = collected by hand from the operator's own website in a normal browser) and check date.

輸入結構描述

{
  "type": "object",
  "properties": {
    "offer_id": {
      "type": "string"
    },
    "country": {
      "type": "string",
      "description": "Market of the offer, ISO 3166-1 alpha-2, if known."
    }
  },
  "required": [
    "offer_id"
  ]
}
🟢explain_ranking_method

The public Veritaset ranking rules and assumptions, with version, so a recommendation can be explained or audited.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢list_supported_countries

Markets covered by Veritaset for mobile plans and for home internet, with status (published or preview), brand and offer counts, how many were collected by hand, and the date of the last data check.

輸入結構描述

{
  "type": "object",
  "properties": {}
}
🟢compare_home_internet(country, download_mbps_min, upload_mbps_min, region, technology, ...)

Consumer home internet offers (fixed broadband alone or with TV, landline or mobile) in these markets: Belgium, Netherlands, Germany, France, United Kingdom, Italy, Spain. Returns the offers that meet the stated speed, region, TV / landline and contract needs, ranked by average monthly cost over the horizon (promos for their stated months, one-off fees, modem rental, and bundle discounts when the household has that operator's mobile), each part shown, with the source link, check date and the operator's address-check link. List prices are national; availability depends on the address.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "BE",
        "NL",
        "DE",
        "FR",
        "GB",
        "IT",
        "ES"
      ],
      "description": "Market, ISO 3166-1 alpha-2."
    },
    "download_mbps_min": {
      "type": "number",
      "description": "Minimum advertised download speed in Mbps."
    },
    "upload_mbps_min": {
      "type": "number",
      "description": "Minimum advertised upload speed in Mbps."
    },
    "region": {
      "type": "string",
      "description": "City, province or region (e.g. Gent, Liège, Wallonia, Utrecht, Friesland). Regional operators are matched on it."
    },
    "technology": {
      "type": "string",
      "enum": [
        "fibre",
        "cable",
        "dsl",
        "fwa",
        "satellite"
      ],
      "description": "Only offers sold on this technology."
    },
    "wants_tv": {
      "type": "boolean"
    },
    "wants_landline": {
      "type": "boolean"
    },
    "wants_mobile": {
      "type": "boolean",
      "description": "True if offers that include mobile lines may be shown."
    },
    "has_mobile_with": {
      "type": "string",
      "description": "Operator or group the household has mobile with (e.g. Telenet, Proximus, KPN); counts that operator's bundle discounts."
    },
    "wants_mobile_with": {
      "type": "string",
      "description": "Operator the household would take mobile from as well; counts that operator's bundle discounts."
    },
    "accept_contract": {
      "type": "boolean",
      "description": "false = only offers without a minimum term."
    },
    "max_term_months": {
      "type": "number",
      "description": "Longest minimum term accepted, in months."
    },
    "special_eligibility": {
      "type": "boolean",
      "description": "True if the household qualifies for social tariffs or other restricted offers."
    },
    "max_monthly": {
      "type": "number",
      "description": "Budget per month in the market's currency, averaged over the horizon."
    },
    "horizon_months": {
      "type": "number",
      "description": "Months to average costs over. Default 24."
    },
    "limit": {
      "type": "number",
      "description": "Number of results, default 5, max 20."
    }
  },
  "required": [
    "country"
  ]
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本6 個工具