eFon international call rates & VoIP
Server Details
International call & VoIP rates: per-minute prices to call 200+ countries, comparison, dialing help.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: compare_call_rates handles multi-country comparison, get_call_rates provides detailed single-country pricing, and how_to_call gives dialing instructions. The descriptions reinforce the boundaries, so an agent should not confuse them.
Two tools follow a clear verb_noun pattern (compare_call_rates, get_call_rates), while how_to_call is a readable but different phrase-based name. This is a minor deviation rather than a chaotic convention.
Three tools is well-scoped for a focused call-rates and dialing-information server. Each tool covers a distinct user need without redundancy or unnecessary bloat.
The core domain of call rates and dialing instructions is covered: compare, single-country detail, and how-to-call guidance. A minor gap is the absence of a way to list all supported countries or check general coverage, but common queries should work fine.
Available Tools
3 toolscompare_call_ratesCompare eFon call rates across countriesARead-onlyIdempotentInspect
Cheapest eFon per-minute price (EUR and USD) for several countries at once, sorted from cheapest to most expensive, each with its country page URL. Use this when the user calls more than one country ("rates to India, Pakistan and Bangladesh", "which is cheaper to call, Mexico or Colombia?").
| Name | Required | Description | Default |
|---|---|---|---|
| language | No | Language for country names and the returned page links. | en |
| countries | Yes | Up to 20 countries, each in any of the formats above. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds value by describing the output format (sorted, with country page URLs and dual-currency pricing), which is beyond what annotations provide. It doesn't disclose any potential latency or edge cases, but that's minor for a simple read operation.
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 with zero waste. The first sentence describes the output and the second gives usage guidance with examples. Information is front-loaded and every word 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?
With no output schema, the description fully specifies what the agent will receive: per-minute prices in both currencies, sorted, with page URLs. It also provides usage guidance. For a tool of this simplicity, nothing an agent needs to call it correctly is missing.
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?
The input schema has 100% description coverage for both parameters, including the country format flexibility and the language enum. The description adds no extra parameter semantics beyond what the schema already provides, so the baseline of 3 is appropriate.
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 description states a specific verb ('Compare'), resource (eFon call rates), and what it returns (cheapest per-minute price in EUR and USD, sorted, with URLs). It clearly distinguishes itself from siblings by specifying multi-country use, with concrete examples.
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?
Explicitly states 'Use this when the user calls more than one country' and gives two example queries. This leaves no ambiguity about when to choose this tool over get_call_rates (single country) or how_to_call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_call_rateseFon call rates to a countryARead-onlyIdempotentInspect
Current eFon per-minute prices (EUR and USD) for calling a country: every rate line (mobile / landline / specific networks or regions), the cheapest price, any announced price change, the country page URL and app download links. Rates are the same wherever the caller is. Use this for "how much does it cost to call X", "cheapest way to call X", "international / VoIP call rates to X" or "is calling X from abroad expensive".
| Name | Required | Description | Default |
|---|---|---|---|
| country | Yes | Country name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'. | |
| language | No | Language for country names and the returned page links. | en |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish the read-only, idempotent, non-destructive safe profile. The description adds useful behavior beyond that: rates are the same regardless of caller location, prices include EUR and USD, and announced price changes are surfaced. There is no contradiction with the annotations.
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?
The description is compact and front-loaded: the first line states the core purpose and output list, while the second gives concrete query patterns. The list of returned elements is dense but each item earns its place by clarifying scope.
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?
Even without an output schema, the description enumerates the relevant return contents: every rate line, the cheapest price, announced price changes, page URL, and app download links. It also clarifies caller-location independence, which is important for international-calling queries. The only mild gap is exact response structure, which is acceptable given the tool's simplicity.
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 the schema already fully documents the country and language parameters. The description reinforces that the query target is a country through phrases like 'calling a country' and examples like 'call X', but it adds no new format, constraints, or parameter-specific details.
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 description clearly states what the tool returns: 'Current eFon per-minute prices (EUR and USD) for calling a country' plus rate lines, cheapest price, and related links. The query intent examples make the resource unmistakable, but it doesn't explicitly differentiate itself from the sibling compare_call_rates.
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 gives concrete user intents like 'how much does it cost to call X' and 'cheapest way to call X', which clearly signal when to invoke the tool. It lacks explicit exclusions or mention of alternatives like compare_call_rates, stopping short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
how_to_callHow to dial a country from anotherARead-onlyIdempotentInspect
Dialing instructions for calling a destination country from an origin country: exit code, country code, example mobile and landline numbers written the way to dial them, the time difference and the hours when it is daytime on both ends, plus the eFon guide URL and the cheapest eFon rate. Omit origin for the international (+) format only.
| Name | Required | Description | Default |
|---|---|---|---|
| origin | No | Country the caller is in (optional). Country name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'. | |
| language | No | Language for country names and the returned page links. | en |
| destination | Yes | Country name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, idempotent, and non-destructive behavior, so the description's job is to add content-level context. It does: the exact return payload (both mobile and landline dialing examples, time difference, daytime windows, guide URL, and cheapest rate) plus the international-format variant. This is meaningful disclosure given there is no output schema, and it does not contradict the annotations.
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?
Front-loaded with the core purpose before the content list, and the second sentence is a crisp rule with zero filler. The main list is dense — a long colon-heavy sentence — but every item carries meaning, so nothing is wasted. Slightly less scannable than a bulleted form, but appropriately sized for a tool with no output schema to document.
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 simple read-only lookup with 100% schema coverage, full annotations, and one enum, the description covers required and optional parameters, the omit-origin rule, and the return contents in detail. The only notable gap is the ambiguity with get_call_rates caused by including the cheapest rate without explaining when to prefer the sibling.
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 the baseline is 3; the schema already documents each parameter with examples and accepted formats. The description adds one genuinely new semantic: when to omit origin ('for the international (+) format only'), which the schema does not state beyond labeling origin optional. That extra condition justifies a score above 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?
The description states a specific task ('dialing instructions for calling a destination country from an origin country') and enumerates exactly what the caller gets: exit code, country code, example mobile and landline numbers, time difference, daytime hours, eFon guide URL, and cheapest rate. However, it never names or routes to the sibling get_call_rates, and the inclusion of 'cheapest eFon rate' overlaps with that tool's apparent domain, so selection between the two is not fully resolved.
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: an agent can infer this tool is for dialing instructions, and the closing sentence gives a concrete usage rule ('Omit origin for the international (+) format only'). But there is no when/when-not guidance versus the sibling get_call_rates, which also plausibly returns rate information. The alternative is never mentioned, so an agent choosing between the two gets no routing help.
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.
1 tool update
- Added
compare_call_rates
2 tool updates
- First observed
get_call_rates - First observed
how_to_call
Related MCP Connectors
Search prepaid travel eSIM data plans for 200+ countries with live prices and a buy link.
Africa FX, US carrier/broker checks, OFAC screening — paid per call via x402.
Country guides, customs rules, mover directory and quote requests for 155+ countries
Search U.S. cell plans, compare supported costs, find wireless news, and get switching guidance.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceValidates phone numbers and provides country calling codes, enabling AI agents to look up international dialing codes and filter by country name, ISO code, or calling code.4 npmMIT
- AlicenseNot gradedqualityCmaintenanceFormat, validate and normalize international phone numbers, work out exactly how to dial one country from another, clean phone columns in CRM or contact exports, and find calling windows across time zones — using the countrycalling.codes API and MCP server.MIT
- FlicenseNot gradedqualityDmaintenanceProvides tools to retrieve and compare detailed information about countries, including population, region, and currency data. It allows users to search for specific countries or list them by region.-
- AlicenseNot gradedqualityCmaintenanceCost of living, CPI, PPP, and regional price data for 190+ countries. Semantic endpoints with natural language parameters. MCP server for AI agents.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.