Skip to main content
Glama

eFon international call rates & VoIP

Server Details

International call & VoIP rates: per-minute prices to call 200+ countries, comparison, dialing help.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
99.9% over 24 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 4 tools

Disambiguation4/5

Each tool has a distinct primary purpose: single-country rates, multi-country comparison, dialing instructions, and reverse code lookup. The only mild overlap is between get_call_rates and compare_call_rates (both return per-minute prices), but the descriptions clearly scope one to a single country and the other to several, and cross-reference each other for the full list.

Naming Consistency4/5

Three tools follow a clean verb_noun pattern (compare_call_rates, get_call_rates, lookup_calling_code). how_to_call deviates slightly into a phrase-style name, but it remains readable and semantically clear within the same snake_case convention.

Tool Count5/5

Four tools is well-scoped for a read-only call-rate information server. Each tool covers a genuinely different query intent (single rate, comparison, dialing steps, code reverse lookup) with no filler.

Completeness4/5

The read-only domain is well covered: rates, comparisons, dialing instructions, and code reverse lookup all exist. Minor gaps remain, such as a forward country-name-to-code lookup or a way to enumerate all supported countries, but agents can work around these with existing tools.

Available Tools

4 tools
compare_call_ratesCompare eFon call rates across countriesA
Read-onlyIdempotent
Inspect

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?").

ParametersJSON Schema
NameRequiredDescriptionDefault
languageNoLanguage for country names and the returned page links.en
countriesYesUp to 20 countries, each in any of the formats above.

TDQS

A4.5/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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 countryA
Read-onlyIdempotent
Inspect

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".

ParametersJSON Schema
NameRequiredDescriptionDefault
countryYesCountry name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'.
languageNoLanguage for country names and the returned page links.en

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines4/5

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 anotherA
Read-onlyIdempotent
Inspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
originNoCountry the caller is in (optional). Country name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'.
languageNoLanguage for country names and the returned page links.en
destinationYesCountry name in any language, ISO 3166-1 alpha-2 code or dialing code — e.g. 'Eritrea', 'ER', 'Эритрея', '+291'.

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

lookup_calling_codeWhich country is this calling code?A
Read-onlyIdempotent
Inspect

Reverse lookup of an international dialing code: which country (or countries, for shared codes like +1, +7 or +44) a code such as +36, 0036 or +1 876 belongs to, with capital, example number and the eFon rate page. Use this for "which country is +36", "who is calling me from +233", "what does 00252 mean" or a missed call from an unknown foreign number. Includes the cheapest eFon per-minute rate for calling back and a scam warning for one-ring calls; for the full rate list use get_call_rates.

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesDialing code or the start of an international number: '+36', '0036', '36', '+1 876', '00252 61 123 4567'.
languageNoLanguage for country names and the returned page links.en

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is carried. The description adds genuinely new behavioral context: the result includes capital, an example number, the eFon rate page, the cheapest per-minute callback rate, and a scam warning for one-ring calls. It does not mention any rate limits or the shape of the failure case when a code is unknown, which keeps it short of a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the core purpose and scoped by the shared-code caveat in the first clause, then use cases, then the sibling hand-off. It is dense and somewhat run-on as a single long sentence, but every clause carries information an agent can act on.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, yet the description enumerates what comes back (country, capital, example number, rate page, cheapest rate, scam warning), so return content is not a gap. Combined with full annotation coverage and full schema coverage, an agent has everything needed to call this correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so both parameters (including the language enum) are already documented in the schema. The description restates accepted code formats ('+36, 0036 or +1 876') that the schema description already gives, adding no new syntax or normalization rules. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('reverse lookup of an international dialing code') and immediately bounds the scope, including the shared-code case (+1, +7, +44). It also names the sibling it is not (get_call_rates for the full rate list), so an agent can separate it from the other rate tools without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives explicit triggering queries ('which country is +36', 'who is calling me from +233', 'what does 00252 mean', a missed call from an unknown foreign number) and an explicit alternative with its condition: use get_call_rates for the full rate list. When-to-use and when-to-use-something-else are both covered.

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. 1 tool update
    • Addedlookup_calling_code
  2. 1 tool update
    • Addedcompare_call_rates
  3. 2 tool updates
    • First observedget_call_rates
    • First observedhow_to_call

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Validates 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.
    15 npm
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Format, 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
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to retrieve and compare verified country facts such as VAT/GST, public holidays, visas, tipping, and minimum wages across 70 countries, with automatic x402 micropayments in USDC on Base per call.
    110 npm
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides 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.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources