Comontel : forfaits mobiles pro sur le réseau Orange
Server Details
Forfaits mobiles pro sur le réseau Orange : prix, itinérance Europe et Suisse, FAQ. Lecture seule.
- Status
- Healthy
- Uptime
- 100.0% over the last 24 hours
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 18 tools
Most tools have clearly distinct purposes, and descriptions explicitly cross-reference alternatives (e.g. get_country_info defers to get_roaming_allowance; calculate_cross_border_fleet defers to calculate_company_price). However there is real overlap among the four retrieval tools (search, search_comontel_knowledge, get_faq, get_guide) and among the plan tools (get_plan vs get_plans vs compare_plans vs recommend_plan vs search_offers), which an agent could still confuse.
Names are consistently snake_case with verb_noun structure (calculate_*, get_*, search_*, compare_*, estimate_*, recommend_*, check_*). Minor deviation: bare verbs 'fetch' and 'search' sit alongside compound forms like 'search_comontel_knowledge' and 'search_offers', which slightly muddies the pattern but is still readable.
18 tools is on the heavy side for a single-brand mobile plan site and exceeds the ideal 3-15 range. The domain is genuinely broad (pricing, roaming, borders, FAQ, guides), but some redundancy exists, notably two full-text search tools and overlapping plan-detail tools.
The surface covers plans, fleet pricing, eligibility, roaming, cross-border rules, data estimation, and content retrieval well for a pre-sales info server. Minor gaps: no tool to submit the 'sur demande' quote for >20 lines or contact/referral action, and no dedicated glossary tool even though glossary content exists.
Available Tools
18 toolscalculate_company_priceCalculer le prix d’une flotteARead-onlyIdempotentInspect
Coût mensuel (HT, TVA, TTC), sur 12 et 24 mois HT d’une flotte au prix public, en mélangeant les forfaits si besoin. À utiliser pour « combien pour 5 lignes ? » ou « combien pour 3 Pro et 2 Business ? ». Paramètres : nombre de lignes par forfait (0 à 20 chacun ; au-delà de 20 lignes au total, la commande se fait sur simple demande, au même prix). Frais uniques de carte SIM ou d’eSIM donnés à part (une seule fois, livraison de la carte SIM comprise). Indique aussi si la souscription en ligne est ouverte. Source : https://comontel.fr/simulateur.
| Name | Required | Description | Default |
|---|---|---|---|
| pro | No | Nombre de lignes Pro | |
| business | No | Nombre de lignes Business | |
| essentiel | No | Nombre de lignes Essentiel |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a safe read-only, idempotent, non-destructive calculation. The description adds useful behavioral context beyond annotations: it explains that SIM/eSIM one-time fees are given separately, that delivery is included, and that it indicates whether online subscription is open. 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?
The description is front-loaded with the core calculation and usage examples, and every sentence adds practical context. It is a bit dense and includes a source URL that is less essential for invocation, but overall it is appropriately structured.
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?
An output schema exists, so the description need not document return values in detail. For a three-parameter pricing calculator, the description covers the calculation, input meaning, fee handling, and online-subscription status, which is complete enough for correct selection and invocation.
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 each parameter is already documented as a line count for a specific plan. The description adds meaning beyond the schema by explaining that plans can be mixed and that each count is 0–20, with more than 20 total lines handled by request at the same price.
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 calculation: monthly cost (HT, TVA, TTC), 12/24-month HT pricing for a fleet at public price, mixing plans if needed. It is clearly distinguishable from siblings such as calculate_cross_border_fleet, compare_plans, or get_plans because it computes a fleet price from line counts.
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?
It explicitly gives when-to-use examples: « combien pour 5 lignes ? » and « combien pour 3 Pro et 2 Business ? ». It also states the boundary condition that beyond 20 total lines the order is by simple request at the same price, which tells the agent when the tool's normal input range is no longer the whole story.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_cross_border_fleetCoût d’une flotte de frontaliersARead-onlyIdempotentInspect
Forfait conseillé et coût d’une flotte de frontaliers au prix public : coût mensuel HT, TVA et TTC, sur 12 et 24 mois (abonnements), frais de mise en service à part (une seule fois), et le raisonnement : Go par jour disponibles sur place selon les jours passés de l’autre côté de la frontière, repère de visio publié par Microsoft, règle d’usage. Le forfait conseillé suit les règles du questionnaire « Quel forfait ? » ; avec le profil visio (ou video_hours_per_day), le volume Europe doit couvrir le besoin chiffré. Paramètres : lines (1 à 10, toutes sur le même profil), days_per_month_across_border, usage_profile. Pour panacher les forfaits : calculate_company_price. Source : https://comontel.fr/simulateur.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | Nombre de lignes (1 à 10) | |
| needs_5g | No | 5G souhaitée | |
| usage_profile | Yes | Profil d’usage : appels-messagerie (appels, emails et messagerie, surtout au Wi-Fi) ; terrain (loin du Wi-Fi une bonne partie de la journée : GPS, documents, applications, quelques visios par semaine) ; visio-quotidienne (visioconférences tous les jours loin du Wi-Fi) ; partage-connexion (partage de connexion régulier vers un ordinateur) | |
| video_hours_per_day | No | Heures de visio par jour de l’autre côté de la frontière, hors Wi-Fi (facultatif ; par défaut 1 h pour visio-quotidienne, 0 sinon) | |
| days_per_month_across_border | Yes | Jours par mois passés de l’autre côté de la frontière : 4 pour 1 jour par semaine, 13 pour 3 jours par semaine, 21 pour tous les jours ouvrés |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so safety behaviour is covered without the description. The description adds real value beyond them by disclosing the output shape (HT, TVA, TTC over 12 and 24 months), that setup fees are separate and charged once, and that pricing is list price. It stops short of richer behavioural detail such as rounding or how the recommendation handles a custom video_hours_per_day when the profile is not visio-quotidienne.
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 content is front-loaded with purpose and output shape, then logic, then parameters, then the sibling pointer, which is a sound order. However it is delivered as a single long comma- and semicolon-chained sentence with a bare source URL appended, making it harder to scan than it needs to be. Every element is relevant but the packaging costs it.
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?
The tool is computationally complex with five parameters and a recommended-plan algorithm, and the description covers inputs, output breakdown, pricing caveats about setup fees, the underlying reasoning, and which sibling to use for a different case. An output schema exists so return values need no further explanation. It is close to complete, with only edge-case behaviour left unaddressed.
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 description coverage is 100%, so the schema already documents lines, days_per_month_across_border, usage_profile and video_hours_per_day in comparable detail. The description adds one genuine constraint not in the schema: all lines share the same profile, and it restates the parameter names plus the ranging rule. That is a modest addition over an already complete schema, so the baseline 3 applies.
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 resource and scope: the recommended plan and cost of a cross-border line fleet at public price, broken down into monthly HT, TVA and TTC over 12 and 24 months, with one-off setup fees shown separately. It also names the sibling it is not for mixing plans (calculate_company_price), so the tool is easy to tell apart. It falls short of a 5 because the opening is a dense noun phrase rather than a clean verb-plus-resource statement, and near-neighbours like recommend_plan or check_eligibility are never disambiguated.
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 an explicit routing rule: to mix several plans, use calculate_company_price instead. It also states the recommendation follows the rules of the questionnaire « Quel forfait ? », which tells the agent what logic drives the result. What is missing is an explicit when-not-to-use for the other calculation and recommendation siblings, so the guidance is clear but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_eligibilityVérifier qui peut souscrireARead-onlyIdempotentInspect
Applique les règles publiées de souscription : offre réservée aux professionnels (SIREN obligatoire : société, indépendant, micro-entrepreneur), dès une ligne et sans limite (au-delà de 20 lignes, sur simple demande, au même prix). Indique aussi si la souscription en ligne est ouverte, l’engagement et les moyens de paiement. À utiliser pour « puis-je souscrire ? » ou « est-ce sans engagement ? ». Ne vérifie aucun SIREN réel et ne crée aucune commande. Source : https://comontel.fr/forfaits.
| Name | Required | Description | Default |
|---|---|---|---|
| lines | Yes | Nombre de lignes souhaitées | |
| has_siren | Yes | Le client a un numéro SIREN (société, indépendant, micro-entrepreneur) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/openWorld=false, so the safety profile is covered; the description adds genuine value by disclosing non-effects (no real SIREN validation, no order placed), the rule content applied, and an authoritative source URL. It does not describe response shape, but an output schema exists to carry that.
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 action, followed by the rule payload, use cases, exclusions, and source — a logical order with no filler. It is dense but each clause carries information; only the parenthetical pricing detail is slightly beyond what is needed to invoke the tool.
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 annotations plus an output schema present, the description covers purpose, usage, exclusions, and even previews what the result indicates (online subscription status, commitment, payment methods). Minor gaps remain: nothing is said about what lines=0 means or why the upper bound of 1000 exists.
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 documented, establishing a baseline of 3; the description goes further by explaining the business meaning of has_siren (company, self-employed, micro-entrepreneur) and the pricing rule for lines beyond 20, which the schema's 0-1000 bound alone does not convey.
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 ('Applique les règles publiées de souscription') and immediately specifies the concrete rule set it evaluates (SIREN requirement, line thresholds, price cap). It is clearly distinguishable from siblings such as calculate_company_price or get_plan, which compute or fetch rather than evaluate eligibility.
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 explicit trigger phrasing ('puis-je souscrire ?', 'est-ce sans engagement ?') and explicit exclusions ('Ne vérifie aucun SIREN réel et ne crée aucune commande'), so an agent knows both when to call it and which adjacent intents belong elsewhere.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_plansComparer les forfaitsARead-onlyIdempotentInspect
Tableau comparatif des forfaits Comontel (prix, Go en France et en zone Europe, 5G, réseau) et ce qui est commun à tous. À utiliser pour « quelle différence entre Essentiel, Pro et Business ? ». Paramètre facultatif : plan_ids (deux ou trois forfaits). Ne compare pas avec d’autres opérateurs. Source : https://comontel.fr/forfaits.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_ids | No | Forfaits à comparer ; tous par défaut. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds that the output also includes features common to all plans and cites a source URL, but says nothing about return format beyond what the output schema provides. Adequate, not rich.
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 dense paragraph that front-loads what the tool produces, then usage, then the parameter, then exclusions and source. No wasted sentences, though it packs several concerns into one block.
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?
An output schema exists, so return-value explanation is unnecessary. The description covers scope, compared fields, an example query, an exclusion, and the data source, leaving little an agent would need to add.
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 description coverage is 100%, and the schema already documents plan_ids with enum values and a 'tous par défaut' default. The description restates that it is optional and covers two or three plans, adding only marginal meaning over 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 artifact (comparison table) for a specific resource (Comontel plans) and enumerates the compared dimensions (prix, Go en France/Europe, 5G, réseau) plus the common features. This clearly distinguishes it from siblings like get_plan (single), get_plans (list), and recommend_plan.
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 an explicit trigger phrase (« quelle différence entre Essentiel, Pro et Business ? ») and a clear exclusion ('Ne compare pas avec d’autres opérateurs'). It does not name alternative sibling tools by name, but the when-to-use context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_data_usageEstimer une consommation de dataARead-onlyIdempotentInspect
Estime la consommation mensuelle de données d’un utilisateur (Go par mois, détail par usage et sources), à partir des débits publiés par les éditeurs (Teams, Zoom, Meet, Netflix, Spotify) et du poids médian d’une page web. À utiliser pour chiffrer un besoin avant de choisir un forfait. Tous les paramètres sont facultatifs. GPS, mails, cloud et partage de connexion : valeurs fournies par l’utilisateur, aucun chiffre officiel. Estimation indicative. Source : https://comontel.fr/outils/estimateur-data.
| Name | Required | Description | Default |
|---|---|---|---|
| music_profile | No | Qualité de la musique en streaming | |
| video_profile | No | Service de visioconférence (Teams par défaut) | |
| gps_mb_per_hour | No | Valeur relevée par l’utilisateur | |
| email_mb_per_day | No | Valeur relevée par l’utilisateur | |
| streaming_profile | No | Qualité de la vidéo en streaming | |
| web_pages_per_day | No | ||
| cloud_gb_per_month | No | Valeur relevée par l’utilisateur | |
| gps_hours_per_week | No | ||
| workdays_per_month | No | ||
| music_hours_per_week | No | ||
| video_hours_per_week | No | ||
| tethering_gb_per_month | No | Valeur relevée par l’utilisateur | |
| streaming_hours_per_week | No | ||
| audio_call_hours_per_week | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety bar is met. The description adds real value beyond them: the methodology (published publisher bitrates, median page weight), the caveat that GPS/mail/cloud/tethering values come from the user with no official figures, and that the result is indicative.
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, followed by usage, then caveats and source. Dense but every clause (bitrate sources, optionality, caveat, indicative disclaimer) 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?
An output schema exists, so return values need not be explained. The description covers methodology, optionality, data limitations and provenance, which is largely complete for a 14-param estimation tool, with only per-parameter detail left to the schema.
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?
At 50% schema coverage across 14 params, description carries moderate burden. It usefully states all parameters are optional and clarifies which inputs are user-supplied rather than official, but many numeric parameters (hours per week, workdays, web pages) remain unexplained 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?
The description states a specific verb and resource: estimating a user's monthly data consumption in GB with a breakdown by usage and sources. It is clearly distinct from pricing/eligibility siblings, though it does not name any sibling explicitly (e.g. recommend_plan or compare_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?
It gives explicit when-to-use context: 'chiffrer un besoin avant de choisir un forfait', which ties it naturally to plan-selection siblings. It does not, however, state when-not to use it or name an explicit alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fetchLire un document ComontelARead-onlyIdempotentInspect
Texte complet d’un document trouvé avec search (forfait, page frontaliers, zone frontalière, comparatif, guide, question fréquente, terme du glossaire ou thème), avec son URL à citer et ses métadonnées (type, dates, statut). Paramètre : id renvoyé par search (le chemin de la page, par exemple « /forfaits/pro » ou « /zones-frontalieres/genevois »), ou une URL de comontel.fr.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Identifiant renvoyé par search, ou URL de comontel.fr |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | |
| url | Yes | |
| text | Yes | |
| title | Yes | |
| metadata | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and closed-world, so the safety profile is fully covered without the text. The description does contribute the useful contrast that this returns full text plus a citable URL and metadata rather than a search snippet, but it says nothing about truncation, very large documents, or behavior on an id that resolves to nothing.
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, both front-loaded: the first establishes what is returned and that the URL must be cited, the second handles the single parameter. Dense but no filler; the parenthetical list of document types is long yet it is the sentence that lets the agent recognize what it is fetching.
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 one parameter, full schema coverage, an output schema and complete annotations, the only burden left on the description is purpose, provenance of the id, and what kind of result to expect. All three are stated, and the citation requirement for readers of the text is a detail no structured field carries.
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 percent, so the baseline is 3, and the description earns the extra point by giving concrete accepted forms: a path such as « /forfaits/pro » or « /zones-frontalieres/genevois », or a full comontel.fr URL. That is genuinely more actionable than the schema's one-line description of the same 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 and resource: returns the full text of a document previously found with search, along with its citable URL and metadata. It explicitly enumerates the document types (plan, border-zone page, comparison, guide, FAQ, glossary term, theme) and names its sibling search as the source, so an agent can tell it apart from search and from the type-specific getters.
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 prerequisite workflow is made explicit in both directions: search produces the id, and fetch consumes it. What is missing is differentiation from sibling getters such as get_faq, get_guide and get_plan, which appear to retrieve the same families of content; the description does not say when fetch is preferable to those or that those return structured extracts rather than full text.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_border_zoneZone frontalièreARead-onlyIdempotentInspect
Une zone frontalière à partir d’un bassin, d’une ville ou d’un pays voisin (recherche tolérante : accents et majuscules indifférents) : villes des deux côtés, pays voisins et indicatifs, comment composer leurs numéros depuis la France, ce qui est compris (appels, SMS et MMS depuis la France vers ces pays, sur place, et l’enveloppe Europe de chaque forfait avec le budget par jour), la règle d’usage courte et l’URL de la page de la zone. Un pays voisin peut renvoyer plusieurs zones. Statut « inconnu » si rien ne correspond (pour un autre pays : get_country_info). Bassins : genevois, arc-jurassien, bale-mulhouse, luxembourg-thionville, lille-belgique, strasbourg-allemagne, pays-basque-espagne, perpignan-catalogne, menton-italie, monaco. Source : https://comontel.fr/zones-frontalieres.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Bassin (genevois, arc-jurassien, bale-mulhouse…), ville (Genève, Annemasse, La Chaux-de-Fonds, Pontarlier, Bâle, Saint-Louis…) ou pays voisin (Suisse, Allemagne, Luxembourg, Belgique, Espagne, Italie, Monaco) |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds real behavioural detail beyond that: accent/case-insensitive matching, the possibility that one country returns several zones, and an explicit 'inconnu' status when nothing matches. It does not state how many zones are returned at most or whether matches are ranked.
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 purpose is front-loaded, but the body is one dense run-on sentence with stacked parentheticals describing payload contents that the output schema already defines. The enumerated basin list earns its place; the detailed recital of calls/SMS/MMS/Europe-envelope coverage is largely redundant with the output schema.
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 annotations, a fully documented single parameter, and an output schema, the description covers everything needed to invoke the tool correctly: input forms, fuzzy matching, unknown-result handling, multi-zone results, and the source URL. The remaining gap is the lack of explicit routing guidance relative to the cross-border rule and roaming allowance siblings.
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, but the description genuinely extends the schema by spelling out the full list of ten basins (genevois, arc-jurassien, bale-mulhouse … monaco) that the schema only implies with an ellipsis. It also states the matching tolerance for the query parameter, which the schema does not mention.
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 opens with a specific verb-and-resource statement: it returns a border zone derived from a basin, city, or neighbouring country, and then enumerates the payload (villes des deux côtés, pays voisins, indicatifs, tarification). It explicitly names the sibling to use for other countries (get_country_info), so the agent can distinguish it from at least one overlapping tool.
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?
It gives a clear usage context (acceptable query types, fuzzy accent/case tolerance) and an explicit fallback: statut « inconnu » plus a redirect to get_country_info for non-neighbouring countries. It does not clarify its boundary with siblings such as get_cross_border_rule or get_roaming_allowance, even though it returns 'la règle d'usage courte' and Europe-envelope budget data that those tools may also cover.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_country_infoInformations sur une destinationARead-onlyIdempotentInspect
Zone d’itinérance d’un pays ou territoire et son inclusion dans les forfaits Comontel. À utiliser pour « mon forfait marche-t-il en … ? » sans forfait précis ; avec un forfait, préférer get_roaming_allowance. Statut « inconnu » si la destination n’est pas répertoriée. Source : https://comontel.fr/europe-international.
| Name | Required | Description | Default |
|---|---|---|---|
| destination | Yes | Pays ou territoire, en français ou par identifiant (ex. « Suisse », « royaume-uni », « Guadeloupe ») |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safe-read profile (readOnlyHint, idempotentHint, openWorldHint=false), but the description adds genuinely useful behavior: what happens with an unlisted destination ('Statut « inconnu »'), plus a source URL for verification. It does not cover rate limits or response shape, but that is largely handled by the output schema.
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?
Four compact clauses, each earning its place: purpose, usage routing, unknown-status edge case, and source. Front-loaded with the core capability before the disambiguation.
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 an output schema present, return structure need not be explained; the description still covers routing, the unknown-destination outcome, and provenance. A minor gap is that it does not say whether the destination match is fuzzy or exact, which matters given free-text input.
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 single parameter is fully documented (type, length bounds, accepted French names or identifiers). The description adds no syntax or lookup detail beyond what the schema already provides, so the baseline 3 applies.
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 resource (the roaming zone of a country/territory and its inclusion in Comontel plans) with a clear retrieval verb. It is immediately distinguishable from the sibling get_roaming_allowance, which the description names.
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 an explicit when-to-use ('mon forfait marche-t-il en … ?' without a specific plan) and an explicit alternative with its selecting condition ('avec un forfait, préférer get_roaming_allowance'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cross_border_ruleRègle d’usage des frontaliersARead-onlyIdempotentInspect
La règle d’usage des forfaits Comontel pour les frontaliers, telle que publiée : usage quotidien de l’autre côté de la frontière accepté, chaque jour où la ligne se connecte en France comptant comme un jour de présence en France ; fondement (règlement d’exécution (UE) 2016/2286, art. 4), durée d’observation, ce qui n’est pas prévu, même règle par contrat en Suisse et en Andorre. Indique aussi qui peut souscrire (SIREN français ; pas les sociétés suisses ou luxembourgeoises) et oriente les salariés qui veulent une ligne à leur nom vers Flytel, l’autre marque de la même société (sans ses prix). À utiliser pour « je travaille tous les jours à Genève, ma ligne pro est-elle prévue pour cela ? ». Aucun paramètre. Source : https://comontel.fr/zones-frontalieres.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
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 covered. The description adds genuine value beyond that: it discloses scope limits ('ce qui n'est pas prévu'), that Flytel pricing is excluded ('sans ses prix'), and cites the authoritative source URL. It does not describe the shape of the returned answer, though the output schema exists.
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 resource and scope are front-loaded and every clause carries substantive content (scope, legal basis, eligibility, alternative brand). It is a single dense run-on sentence, though, which makes scanning harder than a short structured list would.
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 no-parameter, read-only knowledge lookup with an output schema, the description supplies everything needed: what the rule covers, who may subscribe, what falls outside, the legal basis, the source URL, and where to redirect users not served by this content.
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?
Zero parameters, and the description explicitly confirms 'Aucun paramètre', matching the empty schema – the baseline for a 0-param tool.
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 names a concrete resource – the published Comontel cross-border usage rule – and enumerates its exact content (daily usage on the other side of the border, day-counting logic, legal basis in Regulation 2016/2286 art. 4, observation period, exclusions, Swiss/Andorran contracts, eligibility). However, it never distinguishes itself from the knowledge-retrieval siblings (get_faq, get_guide, search_comontel_knowledge, get_border_zone), which an agent could plausibly choose instead.
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?
A concrete invocation trigger is supplied verbatim ('je travaille tous jours à Genève, ma ligne pro est-elle prévue pour cela ?'), plus a routing rule: salaried users wanting a personal line should go to Flytel. This gives real when-to-use context and one explicit alternative destination, but no exclusion against the other sibling lookup tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_faqQuestions fréquentesARead-onlyIdempotentInspect
Questions fréquentes publiées sur https://comontel.fr/faq, filtrées par mots-clés et/ou par rubrique (frontaliers, entreprise, offre, numero, sim, reseau, europe, facturation). Chaque réponse a sa propre URL à citer. À utiliser pour les questions pratiques : engagement, résiliation, portabilité, facture, TVA, eSIM, support.
| Name | Required | Description | Default |
|---|---|---|---|
| query | No | Mots-clés, par exemple « résilier », « TVA », « eSIM » | |
| category | No | Rubrique de la FAQ |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorldHint=false, so the safety profile is fully covered. Beyond them, the description adds the useful fact that each answer carries its own URL to cite, but says nothing about how the two filters combine, what happens with no match, or result limits. A 3 reflects modest added value over 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?
Three sentences, front-loaded with the source URL and filtering scope, then the citation fact, then the use-case list. Every sentence carries information, though the verbatim enumeration of the eight rubriques duplicates the enum and is the one removable section.
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 zero required parameters, full schema coverage, an output schema, and complete annotations, the description only needs to convey scope and purpose — which it does. The remaining gap is filter-combination behavior and empty-result handling, minor for a read-only lookup 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% — the query parameter has an example set and the category parameter is a documented enum with all eight values. The description repeats the category list, which duplicates the enum rather than adding meaning, and it doesn't clarify whether query and category are combined with AND or OR semantics. Baseline 3 applies 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.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: it retrieves published FAQ entries from comontel.fr/faq, filtered by keywords and/or category, and each answer has its own citable URL. It is reasonably distinct from siblings like get_guide and search_comontel_knowledge in that it is scoped to the published FAQ, but it never explicitly states that contrast.
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 says when to use it: 'questions pratiques' with a concrete topic list (engagement, résiliation, portabilité, facture, TVA, eSIM, support). That is clear usage context, but it offers no exclusions and doesn't say when to prefer search_comontel_knowledge, get_guide, or search_offers instead, which matters given the crowded sibling set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_guideLire un guideARead-onlyIdempotentInspect
Un guide de comontel.fr : réponse courte, points clés, FAQ, sources officielles, dates et plan des sections. À utiliser après search_comontel_knowledge, ou directement si le sujet correspond à un guide connu (eSIM, RIO, portabilité, TVA, 4G ou 5G, Go nécessaires…). Paramètre : slug du guide.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Identifiant du guide |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds value by describing the shape and freshness signals of the returned guide (official sources, dates), which is behavior beyond the annotation set. It does not mention fallback behavior when a slug is wrong or missing.
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 short sentences, front-loading what the guide is before usage and the parameter note. The parenthetical topic list is slightly dense but serves the routing purpose and no sentence is pure 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?
An output schema exists and annotations cover the safety profile, so the description only needs to explain payload character and when to call it, both of which it does. For a single-parameter, enum-constrained read tool this is essentially sufficient.
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 single slug parameter is a fully enumerated list, so the schema carries the semantics. The description's only addition, 'Paramètre : slug du guide', merely restates the field name and adds no selection guidance beyond the enum.
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 the resource (a comontel.fr guide) and itemizes its contents (short answer, key points, FAQ, official sources, dates, section outline), which tells an agent exactly what a successful call yields. It does not explicitly contrast with get_faq or get_plan, so a sibling distinction is left implicit.
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?
It gives an explicit sequencing rule: use after search_comontel_knowledge, or call directly when the topic matches a known guide, followed by concrete topic examples (eSIM, RIO, portabilité, TVA, 4G/5G, data volume). No when-not-to-use case versus get_faq is stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_planDétail d’un forfaitARead-onlyIdempotentInspect
Fiche complète d’un forfait (prix HT et TTC, Go en France et en zone Europe, 5G, appels et SMS, page officielle). Indique aussi si la souscription en ligne est ouverte. À utiliser quand l’utilisateur cite un forfait précis. Paramètre : plan_id (essentiel, pro ou business). Source : page du forfait sur comontel.fr.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Identifiant du forfait : essentiel, pro, business |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful context (data source is comontel.fr, subscription-status is included), but nothing about caching, freshness, or failure behavior for an id it may not resolve.
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?
One compact paragraph, front-loaded with the payload contents before the usage rule and the parameter. Every clause carries information; only the parameter restatement is mildly redundant with the schema.
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 an output schema present, return-value detail is not required, and the description supplies purpose, trigger, parameter, and data source. It is complete enough for a single-parameter lookup, though it does not address behavior for an invalid/unknown plan_id.
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 description coverage is 100% and plan_id already carries an enum with a description, so the schema does the heavy lifting. The description merely repeats the same three values ('essentiel, pro, business') without adding format or semantics 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?
The description states a specific resource ('fiche complète d'un forfait') and enumerates the scope of detail it returns (prix HT/TTC, Go France/Europe, 5G, appels/SMS, page officielle). It implicitly separates itself from list/compare siblings by requiring a specific plan, though it never names get_plans or compare_plans directly.
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?
It gives an explicit trigger condition: 'À utiliser quand l’utilisateur cite un forfait précis.' That is clear when-to-use guidance, but no alternative tool is named for the opposite case (e.g. browsing all plans), so the routing is only half specified.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_plansLister les forfaitsARead-onlyIdempotentInspect
Les trois forfaits mobiles pro Comontel (Essentiel, Pro, Business) : prix HT et TTC par ligne et par mois, Go utilisables en France et en zone Europe, 5G, réseau, sans engagement. À utiliser en premier pour toute question de prix ou de contenu des forfaits. Chaque forfait indique aussi si la souscription en ligne est ouverte (subscription_open, availability, how_to_subscribe). Aucun paramètre. Source : https://comontel.fr/forfaits.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description adds useful scope info (all three plans at once, no parameters) and discloses returned attributes (subscription_open, availability, how_to_subscribe), but no auth, rate-limit or caching behavior. Adds some value over annotations, not rich.
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 resource and its contents, then usage guidance, then field disclosure. Dense but each sentence carries distinct information; the parenthetical field list is slightly heavy but justified for output attribute naming.
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?
An output schema exists, so return values need not be explained, and the zero-parameter schema is trivial. The description covers resource, scope, routing and source URL, leaving only sibling differentiation (vs get_plan/compare_plans) unstated.
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 tool takes no parameters, so the baseline is 4; the description explicitly confirms 'Aucun paramètre', which matches the empty schema and removes any doubt about hidden filtering options.
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 names the specific resource (les trois forfaits mobiles pro Comontel: Essentiel, Pro, Business) and enumerates the content dimensions (prix HT/TTC, Go France/Europe, 5G, réseau, sans engagement). It is clear what the tool returns, though it never explicitly contrasts itself with the sibling get_plan (singular), leaving the plural/singular distinction to inference.
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?
It states an explicit routing rule: 'À utiliser en premier pour toute question de prix ou de contenu des forfaits.' That tells the agent when to reach for this tool, but it names no alternative and gives no when-not guidance (e.g. when to prefer get_plan or compare_plans).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_roaming_allowanceItinérance : forfait × destinationARead-onlyIdempotentInspect
Ce qu’un forfait permet dans une destination : inclusion dans le forfait, Go utilisables sur place, appels et SMS sur place, appels depuis la France vers ce pays, règle applicable (réglementation européenne ou grille Comontel). À utiliser pour les voyages et les frontaliers. Paramètres : plan_id et destination. Statut « inconnu » si la destination n’est pas répertoriée. Source : https://comontel.fr/europe-international.
| Name | Required | Description | Default |
|---|---|---|---|
| plan_id | Yes | Identifiant du forfait : essentiel, pro, business | |
| destination | Yes | Pays ou territoire, en français ou par identifiant (ex. « Suisse », « royaume-uni », « Guadeloupe ») |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, openWorld=false). The description adds two behavioral details beyond them: the data source URL and the fact that an 'inconnu' status is returned when a destination is not listed, which meaningfully complements openWorldHint=false. Return values needn't be explained since an output schema exists.
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 front-loaded with purpose, then the returned fields, usage cue, edge case, and source — a logical order with little waste. The 'Paramètres : plan_id et destination' line is redundant given full schema coverage, a minor deduction.
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 100% schema coverage, rich annotations, and an output schema present, the description only needs to add framing — which it does by scoping the domain, disclosing the unknown-status edge case, and citing the source. It is essentially complete, lacking only explicit sibling routing.
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 description coverage is 100%, so the schema already documents both plan_id (with enum) and destination (with format examples). The description only restates 'Paramètres : plan_id et destination' without adding format or constraint meaning, so the baseline 3 applies.
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 names the specific resource and its scope: what a plan (forfait) permits in a given destination, enumerating the exact dimensions returned (inclusion, usable Go, calls/SMS on site, calls from France, applicable rule). This is clearly distinguishable from generic siblings like get_plan or get_country_info, though it never names an alternative. The verb is implicit ('get') rather than stated, keeping it just below a 5.
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?
It gives one usage cue — 'À utiliser pour les voyages et les frontaliers' — which tells the agent the domain (travel and cross-border users). However, no when-not-to-use condition or named alternative sibling (e.g., get_country_info for general country facts, get_plan for plan details) is offered, leaving selection guidance implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
recommend_planRecommander un forfaitARead-onlyIdempotentInspect
Recommande un forfait Comontel, avec ses raisons, à partir de cinq réponses sur les usages (mêmes règles que l’outil « Quel forfait ? » du site). Indique aussi si la souscription en ligne est ouverte. À utiliser pour « quel forfait pour un indépendant, un commercial, une équipe terrain, une entreprise qui voyage en Europe ? ». Pour plusieurs profils dans une entreprise, appeler l’outil une fois par profil puis calculate_company_price. Source : https://comontel.fr/outils/quel-forfait.
| Name | Required | Description | Default |
|---|---|---|---|
| visio | Yes | Visioconférences hors Wi-Fi | |
| cinq_g | Yes | Téléphone 5G et 5G souhaitée | |
| europe | Yes | Déplacements dans la zone Europe (UE, DOM, Suisse, Andorre…) | |
| partage | Yes | Partage de connexion vers un ordinateur | |
| hors_wifi | Yes | Temps passé loin du Wi-Fi pendant la journée de travail |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and openWorldHint=false, so safety is covered. The description adds real value beyond that: it states the output includes reasons, reports whether online subscription is open, and notes it mirrors the website 'Quel forfait ?' rules (deterministic behavior). It omits auth/rate-limit details, but those are minor for a read-only tool.
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?
Single dense paragraph but front-loaded with the core action and output before the usage examples and multi-profile instruction, so no reader is left wondering what the tool does. The source URL and quoted example phrasings are slightly verbose but each sentence contributes routing or output information.
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?
An output schema exists, so return-value detail is unnecessary, and the description correctly focuses on purpose, usage scenarios, and the per-profile workflow for a 5-required-param tool. It could be marginally more complete by noting when to prefer compare_plans, but nothing essential for correct invocation 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?
Schema description coverage is 100% with all five enums documented, so the schema carries parameter meaning. The description only restates that inputs are 'cinq réponses sur les usages,' adding no syntax or value semantics beyond what the schema's enum descriptions already provide. Baseline 3 applies.
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?
Names a specific verb (recommande), a specific resource (un forfait Comontel), and the basis (cinq réponses sur les usages), plus the extra output (raisons + souscription en ligne ouverte). This clearly distinguishes it from sibling readers like get_plan, get_plans, and compare_plans, which merely fetch or contrast existing 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?
Gives concrete trigger scenarios in quotes ('un indépendant, un commercial, une équipe terrain…') and an explicit multi-profile workflow: call once per profile then calculate_company_price. It lacks exclusions relative to other siblings (e.g. when to prefer compare_plans), so it is clear context without full when-not routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
searchRechercher des documents ComontelARead-onlyIdempotentInspect
Recherche dans les forfaits, les pages frontaliers (Suisse, Union européenne, zones frontalières), les comparatifs « Suisse incluse » et « appels vers l’Europe », les pages Flytel et À propos, les guides, la FAQ, le glossaire et les thèmes de comontel.fr. Renvoie des documents { id, title, url }, du plus pertinent au moins pertinent ; lire le contenu d’un document avec fetch. Format attendu par la recherche approfondie de ChatGPT. Pour une réponse directe avec extraits, search_comontel_knowledge convient aussi.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Mots-clés ou question |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | Yes | Documents trouvés |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety needs no restating. The description adds genuine behavioral context beyond them: relevance-ordered results, the {id, title, url} document shape, and the two-step search-then-fetch pattern.
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 corpus enumeration is long but front-loaded and genuinely useful for scoping; the return shape and sibling routing follow in short clauses. Slightly verbose in the corpus list (e.g. naming Flytel and À propos pages), but no sentence is wasteful.
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 search tool with a full schema coverage and an output schema, the description covers corpus scope, ordering, return shape and follow-up actions. The only gap is how the query string is interpreted (keywords vs question) and result limits/pagination, which are left implicit.
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% with a single documented 'query' parameter ('Mots-clés ou question'), so the schema carries the semantics. The description does not clarify whether keyword strings versus natural-language questions behave differently, so it adds no meaning 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 (recherche) plus an explicit, enumerated corpus of what is searched (plans, border pages, guides, FAQ, glossary, themes). It also distinguishes itself from two siblings by name: fetch for reading full documents and search_comontel_knowledge for direct answers with excerpts.
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 routing: use this search to discover documents, then call fetch to read them, and use search_comontel_knowledge (or this tool too) when a direct answer with excerpts is wanted. It does not address the other retrieval siblings (search_offers, get_faq, get_guide, get_plan), and the wording 'convient aussi' is soft rather than stating an exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_comontel_knowledgeRechercher dans les contenus ComontelARead-onlyIdempotentInspect
Recherche plein texte dans les guides, la FAQ, le glossaire et les thèmes de comontel.fr. Renvoie titres, extraits et URL, du plus pertinent au moins pertinent. À utiliser pour toute question qui ne relève pas d’un autre outil (portabilité, eSIM, facture, TVA, réseau…). Paramètres : query (2 à 200 caractères), limit (1 à 20, 8 par défaut).
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Nombre de résultats (8 par défaut) | |
| query | Yes | Mots-clés ou question |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds useful behavior beyond them: it returns titres, extraits and URL, ordered most-relevant to least-relevant. Pagination/total-count behavior is not mentioned, but that is largely covered by the output schema.
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: what is searched, what is returned, when to use it. Efficient, though the trailing parameter recap duplicates the schema and is the one part that does not earn 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?
An output schema exists, so return values need not be explained in depth; the description nonetheless summarizes them. Search scope, ranking order, and routing rule are all present, leaving only the sibling-overlap question unaddressed.
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 description coverage is 100%, so the schema already documents both parameters fully. The description merely restates the same bounds (2–200 characters, 1–20, default 8) without adding format, syntax, or matching semantics beyond what the schema says. Baseline 3 applies.
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?
Names a specific verb (recherche plein texte) and enumerates the concrete resources searched (guides, FAQ, glossaire, thèmes de comontel.fr), plus what it returns. It stops short of distinguishing itself from the sibling `search` or from `get_faq`/`get_guide`, whose content overlaps with the sources listed.
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 an explicit routing rule: use for any question not covered by another tool, with concrete domain examples (portabilité, eSIM, facture, TVA, réseau). It never names a specific competing sibling (e.g. `search`, `search_offers`, `get_faq`) or states a when-not condition, so an agent still has to guess at the boundary.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_offersChercher un forfait selon des critèresARead-onlyIdempotentInspect
Forfaits qui répondent à des critères chiffrés : volume minimal de données en France (Go), budget maximal HT par ligne et par mois, 5G. Résultats du moins cher au plus cher, liste vide si aucun ne convient. À utiliser quand l’utilisateur donne un besoin chiffré ; sinon préférer recommend_plan. Source : https://comontel.fr/forfaits.
| Name | Required | Description | Default |
|---|---|---|---|
| needs_5g | No | 5G souhaitée | |
| min_data_gb | No | Volume minimal de données en France, en Go | |
| max_price_ht_eur | No | Prix maximal HT par ligne et par mois, en euros |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | Yes | La réponse ; null si l’information demandée n’existe pas |
| status | Yes | « inconnu » : ne jamais deviner ni compléter |
| provenance | Yes | |
| source_url | Yes | Page publique où l’information est affichée |
| updated_at | Yes | Dernière modification de la donnée (AAAA-MM-JJ) |
| reviewed_at | Yes | Dernière vérification (AAAA-MM-JJ) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world). The description adds genuinely useful behavior beyond them: results are ordered cheapest-to-most-expensive and an empty list is returned when nothing matches. It stops short of other traits (result caps, filtering strictness), so not 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the purpose, then criteria, then ordering/empty behavior, then usage routing, ending with a source link. Dense but single-paragraph and every clause carries information; the run-on colon/semicolon structure slightly hurts readability.
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 an output schema present (returns need not be described) and 100% parameter coverage, the description supplies what structured fields cannot: the sort order, the empty-result semantics, and the routing rule against recommend_plan. An agent has everything needed to call it correctly.
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 description coverage is 100%, so the schema already documents all three parameters with units (Go, EUR HT per line/month). The description only restates the same criteria (data volume, budget, 5G) without adding syntax, defaults, or interaction rules, so the baseline 3 is correct.
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+resource (search plans/forfaits) plus the exact criteria domain: minimum data volume in France, max monthly budget per line, 5G. It explicitly differentiates itself from the sibling recommend_plan, so an agent can route between them without opening either schema.
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?
"À utiliser quand l'utilisateur donne un besoin chiffré ; sinon préférer recommend_plan" gives both the when-to-use condition and the named alternative, with the selecting condition (numeric need present or absent). Nothing is left to inference.
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
- Changed
calculate_cross_border_fleet2 fields changed- changed
Input schema / properties / lines / descriptionPrevious value: -"Nombre de lignes (1 à 20)"New value: +"Nombre de lignes (1 à 10)" - changed
Input schema / properties / lines / maximumPrevious value: -20New value: +10
2 tool updates
- Changed
get_border_zone1 field changed- changed
Input schema / properties / query / descriptionPrevious value: -"Bassin (genevois, bale-mulhouse, luxembourg-thionville…), ville (Genève, Annemasse, Bâle, Saint-Louis, Luxembourg, Thionville…) ou pays voisin (Suisse, Allemagne, Luxembourg, Belgique, Espagne, Italie, Monaco)"New value: +"Bassin (genevois, arc-jurassien, bale-mulhouse…), ville (Genève, Annemasse, La Chaux-de-Fonds, Pontarlier, Bâle, Saint-Louis…) ou pays voisin (Suisse, Allemagne, Luxembourg, Belgique, Espagne, Italie, Monaco)"
- Changed
get_faq1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "entreprise", - "offre", - "numero", - "sim", - "reseau", - "frontaliers", - "europe", - "facturation" -]New value: +[ + "frontaliers", + "entreprise", + "offre", + "numero", + "sim", + "reseau", + "europe", + "facturation" +]
2 tool updates
- Changed
get_faq1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "frontaliers", - "offre", - "entreprise", - "numero", - "sim", - "reseau", - "europe", - "facturation" -]New value: +[ + "entreprise", + "offre", + "numero", + "sim", + "reseau", + "frontaliers", + "europe", + "facturation" +]
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "forfait-francais-ou-sim-suisse-frontalier", - "forfait-mobile-independant-frontalier", - "reseau-etranger-capte-en-france-frontiere", - "double-sim-pro-perso-frontalier", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "numero-professionnel", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "double-sim-pro-perso-frontalier", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "volte-vowifi", + "reception-mobile-bureau", + "numero-professionnel", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
1 tool update
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "forfait-francais-ou-sim-suisse-frontalier", - "forfait-mobile-independant-frontalier", - "reseau-etranger-capte-en-france-frontiere", - "double-sim-pro-perso-frontalier", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "double-sim-pro-perso-frontalier", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "numero-professionnel", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
1 tool update
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "forfait-francais-ou-sim-suisse-frontalier", - "forfait-mobile-independant-frontalier", - "reseau-etranger-capte-en-france-frontiere", - "double-sim-pro-perso-frontalier", - "forfait-mobile-pro-pas-cher", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "double-sim-pro-perso-frontalier", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
1 tool update
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "forfait-francais-ou-sim-suisse-frontalier", - "forfait-mobile-independant-frontalier", - "reseau-etranger-capte-en-france-frontiere", - "double-sim-pro-perso-frontalier", - "comment-choisir-forfait-mobile-professionnel", - "forfait-mobile-pro-pas-cher", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "double-sim-pro-perso-frontalier", + "forfait-mobile-pro-pas-cher", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
1 tool update
- Changed
calculate_cross_border_fleet1 field changed- changed
Input schema / properties / usage_profile / descriptionPrevious value: -"Profil d’usage : appels-messagerie (appels, mails et messagerie, surtout au Wi-Fi) ; terrain (loin du Wi-Fi une bonne partie de la journée : GPS, documents, applications, quelques visios par semaine) ; visio-quotidienne (visioconférences tous les jours loin du Wi-Fi) ; partage-connexion (partage de connexion régulier vers un ordinateur)"New value: +"Profil d’usage : appels-messagerie (appels, emails et messagerie, surtout au Wi-Fi) ; terrain (loin du Wi-Fi une bonne partie de la journée : GPS, documents, applications, quelques visios par semaine) ; visio-quotidienne (visioconférences tous les jours loin du Wi-Fi) ; partage-connexion (partage de connexion régulier vers un ordinateur)"
1 tool update
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "forfait-francais-ou-sim-suisse-frontalier", - "forfait-mobile-independant-frontalier", - "reseau-etranger-capte-en-france-frontiere", - "comment-choisir-forfait-mobile-professionnel", - "forfait-mobile-pro-pas-cher", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "double-sim-pro-perso-frontalier", + "comment-choisir-forfait-mobile-professionnel", + "forfait-mobile-pro-pas-cher", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
4 tool updates
- Added
calculate_cross_border_fleet - Added
get_border_zone - Added
get_cross_border_rule - Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "comment-choisir-forfait-mobile-professionnel", - "forfait-mobile-pro-pas-cher", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "forfait-mobile-professions-sante", - "forfait-mobile-transport-routier", - "forfait-mobile-agent-immobilier", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "forfait-francais-ou-sim-suisse-frontalier", + "forfait-mobile-independant-frontalier", + "reseau-etranger-capte-en-france-frontiere", + "comment-choisir-forfait-mobile-professionnel", + "forfait-mobile-pro-pas-cher", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
1 tool update
- Changed
get_faq1 field changed- changed
Input schema / properties / category / enumPrevious value: -[ - "offre", - "entreprise", - "numero", - "sim", - "reseau", - "europe", - "facturation" -]New value: +[ + "frontaliers", + "offre", + "entreprise", + "numero", + "sim", + "reseau", + "europe", + "facturation" +]
1 tool update
- Changed
get_guide1 field changed- changed
Input schema / properties / slug / enumPrevious value: -[ - "comment-choisir-forfait-mobile-professionnel", - "forfait-mobile-pro-pas-cher", - "forfait-mobile-infirmier-liberal", - "forfait-mobile-vtc-taxi", - "combien-de-go-pour-un-commercial", - "combien-de-go-pour-un-dirigeant", - "quel-forfait-pour-chaque-salarie", - "combien-de-go-forfait-pro", - "forfait-mobile-equipes-terrain", - "code-rio-ligne-professionnelle", - "delai-portabilite-numero-mobile", - "esim-ou-sim-physique-entreprise", - "esim-iphone", - "esim-android", - "qu-est-ce-qu-un-mvno", - "mvno-pro-reseau-orange", - "4g-ou-5g-entreprise", - "volte-vowifi", - "reception-mobile-bureau", - "depart-arrivee-salarie-ligne-mobile", - "equiper-salaries-telephone-professionnel", - "tva-forfait-mobile-professionnel", - "reduire-facture-mobile-entreprise", - "facture-telephone-professionnelle", - "forfait-pro-suisse", - "forfait-pro-andorre", - "appeler-europe-depuis-france-forfait-pro", - "appeler-suisse-depuis-france-forfait-pro", - "data-europe-forfait-pro", - "data-epuisee-forfait-pro", - "ligne-pro-perso-meme-telephone", - "garder-numero-pro-perso", - "resilier-ancien-operateur-portabilite", - "forfait-pro-hors-europe" -]New value: +[ + "comment-choisir-forfait-mobile-professionnel", + "forfait-mobile-pro-pas-cher", + "forfait-mobile-infirmier-liberal", + "forfait-mobile-vtc-taxi", + "forfait-mobile-professions-sante", + "forfait-mobile-transport-routier", + "forfait-mobile-agent-immobilier", + "combien-de-go-pour-un-commercial", + "combien-de-go-pour-un-dirigeant", + "quel-forfait-pour-chaque-salarie", + "combien-de-go-forfait-pro", + "forfait-mobile-equipes-terrain", + "code-rio-ligne-professionnelle", + "delai-portabilite-numero-mobile", + "esim-ou-sim-physique-entreprise", + "esim-iphone", + "esim-android", + "qu-est-ce-qu-un-mvno", + "mvno-pro-reseau-orange", + "4g-ou-5g-entreprise", + "volte-vowifi", + "reception-mobile-bureau", + "depart-arrivee-salarie-ligne-mobile", + "equiper-salaries-telephone-professionnel", + "tva-forfait-mobile-professionnel", + "reduire-facture-mobile-entreprise", + "facture-telephone-professionnelle", + "forfait-pro-suisse", + "forfait-pro-andorre", + "appeler-europe-depuis-france-forfait-pro", + "appeler-suisse-depuis-france-forfait-pro", + "data-europe-forfait-pro", + "data-epuisee-forfait-pro", + "ligne-pro-perso-meme-telephone", + "garder-numero-pro-perso", + "resilier-ancien-operateur-portabilite", + "forfait-pro-hors-europe" +]
Related MCP Connectors
Forfaits mobiles Flytel pour les frontaliers France-Suisse : offres, appels, données, pays.
Facturation française : devis, factures Factur-X, avoirs, relances et comptabilité.
Créer son entreprise en France (statut, nom, aides) et son site vitrine : refonte, création, import.
Sociétés européennes, dirigeants, comptes, marchés publics, aides et marques (lecture seule).
Related MCP Servers
AlicenseNot gradedqualityCmaintenanceEnables users to search and retrieve French company identities, establishments, officers and BODACC notices, normalize and geocode addresses, and get legal-notice requirements, regulated rates, next steps, and prepare drafts through a keyless read-only MCP server.MIT
kanibal-tools-mcpofficial
AlicenseAqualityBmaintenanceLocal, read-only MCP tools for B2B outreach: French telemarketing consent validity (décret 2026-662), GDPR gap report for customer service outsourced outside the EU, cost per kept meeting by lead source, and least-cost capable model selection.443 PyPIMIT- AlicenseAqualityDmaintenanceFrench compliance and KYC MCP server offering VAT validation (VIES), BODACC legal announcements, and company risk scoring using open data.4MIT
- AlicenseNot gradedqualityDmaintenanceeu-verify lets AI agents verify any European business partner: company existence (official French SIREN registry), insolvency records (BODACC), EU VAT validation before invoicing (VIES), SIRET/IBAN/LEI checks, address and email verification, French business-day deadlines and EU public tenders. 10 paid MCP tools + a free catalog tool, plus 81 HTTP endpoints. Each call costs $0.001-$0.01 in USDC on1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.