VIDI One
Server Details
VIDI Travel MCP enables AI assistants to discover and compare travel eSIM data plans for 190+ countries, check device eSIM compatibility, explore destinations, and find recent flight fares. It provides read-only access to VIDI’s travel services through a simple, unauthenticated MCP interface.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
Each tool has a clearly distinct role: device compatibility, flight fares, eSIM country coverage, destination lookup, and eSIM plan search. There is minor potential overlap between list_esim_countries and search_destinations for country lookups, but the descriptions clarify the intended use cases.
All tools follow a consistent snake_case verb_noun pattern: check_device_esim, find_flight_prices, list_esim_countries, search_destinations, search_esim_plans. The naming is predictable and readable throughout.
Five tools is well-scoped for a travel eSIM and flight information server. Each tool earns its place by covering a distinct part of the user journey without unnecessary extras.
The surface covers the core informational workflows: device eSIM compatibility, country coverage, plan search, destination lookup, and flight prices. Minor gaps exist around booking, order management, or eSIM activation, but these are reasonable for a read-only travel information server.
Available Tools
5 toolscheck_device_esimCheck phone eSIM supportARead-onlyInspect
Checks whether a phone/tablet/watch model supports eSIM, e.g. "iPhone 15 Pro", "Galaxy S23", "Pixel 8".
| Name | Required | Description | Default |
|---|---|---|---|
| model | Yes | Device model name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and openWorldHint=true, so safety and external-lookup behavior are covered on the structured side. The description adds the device categories and example model strings but says nothing about return content, confidence, or how unsupported/unknown models are reported.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence: the verb and resource come first, followed by the scope categories and illustrative examples. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, read-only lookup with no output schema, the definition is nearly sufficient: purpose, scope, and input format are all clear. The remaining gap is that it does not suggest what a result looks like or how to interpret an unknown model, which slightly matters for an open-world lookup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the only parameter is simply documented as 'Device model name.' The description goes beyond that by giving realistic model-string formats ("iPhone 15 Pro", "Galaxy S23", "Pixel 8"), which meaningfully guides how to populate the field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Checks) and resource (eSIM support for a device model), and lists the device categories it covers (phone/tablet/watch) with concrete model examples. It is unmistakably distinct from the sibling tools, which deal with flights, destinations, countries, and plans.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the narrow purpose: an agent would infer it is for verifying eSIM capability of a known model. There is no explicit when-to-use/when-not guidance, no note about what to do for ambiguous or unknown models, and no named alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_flight_pricesFind cheap flight pricesARead-onlyInspect
Cheapest known airfares from an origin city/airport (IATA), optionally to a destination and month/date. Prices are recent cached fares and may change at booking; each result links to the vidi.one flights page.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| origin | Yes | Origin city or airport IATA code, e.g. "MOW", "BEG". | |
| return | No | Return YYYY-MM or YYYY-MM-DD. Omit for one-way. | |
| currency | No | Price currency. Default: USD for en, RUB for ru, RSD for sr. | |
| departure | No | YYYY-MM (month) or YYYY-MM-DD. | |
| destination | No | Destination IATA code. Omit for "anywhere". | |
| direct_only | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only and open-world; the description adds genuinely non-obvious context — fares are recent cached prices that may change at booking. That freshness caveat is exactly the extra layer annotations can't convey. It stops short of stating coverage/refresh cadence.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core purpose, then the freshness caveat and result linkage. Efficient, with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description usefully tells the agent that each result links to the vidi.one flights page, and the cache caveat sets expectations about price stability. Minor gap: nothing about result limits or how 'cheapest' is ordered.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 71%, with the origin/destination/departure/return/currency parameters already documented, including 'omit for anywhere' and the default-currency rules. The description only restates the optionality of destination and dates, adding no format or edge-case detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'cheapest known airfares from an origin city/airport (IATA)' — and clarifies the optional narrowing by destination and month/date. Nothing here overlaps with the eSIM/destination siblings, so the agent can identify it cleanly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the use case (price discovery from a known origin) but does not state when to prefer it over, say, search_destinations or when not to use it. With siblings in an unrelated domain, the lack of explicit routing costs little, but it is absent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_esim_countriesList eSIM countriesARead-onlyInspect
All countries where VIDI sells travel eSIM data plans, with the cheapest single-country plan price and a link to the country page. Use it to answer "does VIDI cover X" or "cheapest eSIM for X".
| Name | Required | Description | Default |
|---|---|---|---|
| locale | No | Language of names and labels. Default: en. | |
| currency | No | Price currency. Default: USD for en, RUB for ru, RSD for sr. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint/openWorldHint already declaring the safety profile, the description adds genuinely new context: what each row contains (price of the cheapest single-country plan, page link) and that it covers only single-country plans, which is not stated in annotations or schema. No output schema exists, so this payload disclosure carries real weight.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences: the first defines the resource and its returned fields, the second routes usage. Front-loaded, no filler, every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-optional-param read-only list tool with no output schema, the description covers purpose, payload shape and usage triggers. Minor gaps remain: whether the list is complete/unpaginated and whether prices reflect one-time vs per-day plans.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are enums with documented defaults (locale, currency and their locale-dependent default pairing), so the schema does the heavy lifting. The description adds nothing about locale or currency behavior, making 3 the appropriate baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('list countries where VIDI sells travel eSIM data plans') and adds the returned payload (cheapest single-country plan price + country page link), which cleanly separates it from search_esim_plans and search_destinations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete triggering questions ('does VIDI cover X', 'cheapest eSIM for X'), which is strong positive guidance. It stops short of naming an alternative tool or exclusion (e.g., when to prefer search_esim_plans for multi-country plans), so it is not a full when/when-not spec.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_destinationsSearch travel destinationsARead-onlyInspect
Finds countries and cities by name (any language, typo-tolerant). Returns travel guide page URLs and city airport IATA codes for find_flight_prices.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| query | Yes | Place name, e.g. "Belgrade" or "Турция". | |
| locale | No | Language of names and labels. Default: en. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and openWorldHint, and the description adds real value beyond them: fuzzy/typo-tolerant matching, cross-language name lookup, and what the results contain (guide URLs, IATA codes). It does not cover result volume or the effect of the limit parameter, which is the only remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with zero filler. The core behavior comes first and the downstream hand-off second, which matches how an agent would reason about the call.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the return-value burden and does so by naming URLs and IATA codes. It stops short of describing result ordering or how limit caps the list, a minor omission for a 3-parameter search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with query and locale already documented. The description adds semantics the schema lacks: matching is typo-tolerant and works in any language, and the IATA codes returned are intended to feed find_flight_prices. The limit parameter is left unaddressed in both places.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Finds countries and cities by name") plus the distinctive matching traits (any language, typo-tolerant). It also names the downstream consumer, find_flight_prices, which separates it cleanly from the eSIM siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context by positioning the tool as the lookup step before find_flight_prices, and the query example hints at multilingual input. It never states when not to use it, e.g. versus list_esim_countries, so it falls short of explicit alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_esim_plansSearch eSIM plansARead-onlyInspect
eSIM data plans that work in a country (single-country plans first, then regional), cheapest first. Prices are final prices payable on vidi.one; flexible-duration plans are priced for min_days. Each plan has a url where the user can buy it; the eSIM is delivered instantly as a QR code.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Default 20. | |
| locale | No | Language of names and labels. Default: en. | |
| min_gb | No | Minimum data volume in GB (unlimited plans always pass). | |
| currency | No | Price currency. Default: USD for en, RUB for ru, RSD for sr. | |
| min_days | No | Trip length: plan must last at least this many days. | |
| max_price | No | Maximum price in the chosen currency. | |
| country_code | Yes | ISO 3166-1 alpha-2 code, e.g. "TR". | |
| unlimited_only | No | Only unlimited data plans. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnlyHint and openWorldHint; the description adds substantial context beyond that: result ordering, that prices are final payable amounts on vidi.one, how flexible-duration plans are priced relative to min_days, and that each plan carries a purchase URL with instant QR-code delivery. It does not address truncation at the limit or whether regional plans are interleaved when single-country options run out, which is the main remaining behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three front-loaded sentences: scope and ordering first, then pricing semantics, then fulfillment details. Dense but every clause carries information the agent cannot get from the schema, with the minor exception of the instant-QR-code line, which is more marketing than selection guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of describing returns and does so adequately — plan ordering, price basis, per-plan URL, and delivery mechanism. It is incomplete on result-set size behavior (default limit 20, max 100, whether results indicate more available), which matters for an openWorld search tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description earns above that by explaining semantic interactions the schema does not — that returned prices are denominated in the chosen currency and that flexible-duration plans are quoted against min_days. It stops short of clarifying ordering interplay between min_gb/max_price filters and the cheapest-first sort, or what limit does to the 'single-country then regional' ordering.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The resource is stated precisely ('eSIM data plans that work in a country') and the ordering semantics (single-country first, then regional, cheapest first) make the result set unambiguous. The verb is implicit rather than stated, and no sibling tool is named, so differentiation from list_esim_countries or search_destinations is left to inference from the resource noun.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by 'plans that work in a country' — an agent can infer this is the retrieval step after resolving a country code. However, there are no explicit when/when-not statements, no mention of pairing with list_esim_countries for country resolution, and no exclusions relative to check_device_esim or the flight/destination siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
5 tool updates
- First observed
check_device_esim - First observed
find_flight_prices - First observed
list_esim_countries - First observed
search_destinations - First observed
search_esim_plans
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1618 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs113 npm55 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.