Veritaset
Verified, sourced mobile plan prices in 32 European markets and the US, ranked by public rules.
¿Debería usar esto?
Calidad y seguridad
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"mcp": {
"url": "https://veritaset.com/mcp"
}
}
}Puntos de conexión remotos
https://veritaset.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (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).
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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.
Esquema de entrada
{
"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"
]
}Comunidad
Evidencia