# Boncourant (fr.boncourant/boncourant): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/fr.boncourant%2Fboncourant/versions/latest)
- Connected to: https://boncourant.fr/mcp
- Homepage: https://boncourant.fr/agents
- Repository: https://github.com/Amrit-Gill/boncourant-mcp
- Scoring rules: v2
- Tools: 19
- Average: 45.2 / 100 (Cloudy)
- Near-identical pairs: 0

This page shows how Boncourant (fr.boncourant/boncourant)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

No server-wide issues.

## Tools

- `get_methodology`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: method_id, family, version.
  - Minor: String arguments with no constraint or example: method_id, family, version.
  - Minor: No `required` list, so every argument is optional.
- `run_method`: 39 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: method_id, version, valid_on, input, context, context.cta_fraction.
  - Minor: String arguments with no constraint or example: method_id, version.
  - Minor: Required identifiers whose description does not say where the value comes from: method_id. Name the tool or the place that returns it, or models look it up first.
- `assess_historical_optimality`: 41 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: contract, contract.contract_id, contract.supplier_id, contract.signed_at, contract.delivery_start, contract.delivery_end, contract.term_months, contract.comparable_cost_eur_year, contract.comparison_basis, alternatives, alternatives[].candidate_id, alternatives[].supplier_id, alternatives[].issued_at, alternatives[].valid_from, alternatives[].valid_until, alternatives[].delivery_start, alternatives[].delivery_end, alternatives[].term_months, alternatives[].comparable_cost_eur_year, alternatives[].comparison_basis, alternatives[].feasibility, alternatives[].feasibility_reasons, alternatives[].evidence_ref, materiality_eur_year.
  - Minor: String arguments with no constraint or example: contract.contract_id, alternatives[].candidate_id, alternatives[].supplier_id.
  - Minor: The description mentions none of its 3 or more arguments.
- `analyze_renewal_terms`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: end_date, auto_renewal, notice_period_days, pricing_type, evaluation_date.
  - Minor: The description mentions none of its 3 or more arguments.
- `annualize_invoice`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: period_start, period_end, period_kwh, period_total_ttc_eur, segment, option, puissance_kva.
- `check_subscribed_power`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: evaluation_date, subscribed_kva, max_demand_kw, monthly_max_kw, connection_segment, max_demand_kva, monthly_max_kva, measurement_period_days, measurement_basis, subscribed_powers_kva, subscribed_powers_kva.p1, subscribed_powers_kva.p2, subscribed_powers_kva.p3, subscribed_powers_kva.p4, available_contract_tiers_kva.
  - Minor: The description mentions none of its 3 or more arguments.
- `decompose_invoice`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: line_items, line_items[].component, line_items[].amount_ht, line_items[].amount_tva, line_items[].amount_ttc, line_items[].quantity, line_items[].unit, line_items[].temporal_class, line_items[].confidence, stated_total_ttc, stated_total_ht.
  - Minor: The description mentions none of its 3 or more arguments.
- `get_analysis_report`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: receipt.
- `get_analysis_study`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: receipt.
- `renewal_advisor`: 43 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: evaluation_date, end_date, auto_renewal, notice_period_days, pricing_type, annual_consumption_mwh, budget_eur_mwh, ceiling_eur_mwh, locked_fraction, segment, structure.
  - Minor: The description mentions none of its 3 or more arguments.
- `list_capabilities`: 44 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: audience.
  - Minor: No `required` list, so every argument is optional.
- `assess_ppa`: 46 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: customer, customer.requested, customer.useUploadedProductionForPpa, customer.productionAllocationPct, customer.role, customer.structure, customer.volumeBasis, customer.annualVolumeMwh, customer.annualConsumptionMwh, customer.annualProductionMwh, customer.strikeEurMwh, customer.termYears, customer.discountRatePct, customer.annualFeesEur, customer.upfrontCostEur, customer.collateralEur, customer.liquidityBudgetEur, customer.commitmentHorizonYears, customer.goRequired, customer.goTransferred, customer.supportScheme, customer.accountingStandard, customer.scenarios, customer.scenarios[].name, customer.scenarios[].marketPriceEurMwh, customer.scenarios[].settlementPriceEurMwh, customer.scenarios[].productionChangePct, customer.scenarios[].consumptionChangePct, customer.alternatives, customer.alternatives[].name, customer.alternatives[].annualNetEur, customer.alternatives[].role, customer.alternatives[].comparable, customer.alternatives[].basis, customer.fixedPriceConfirmed, customer.costPerimeterComplete, customer.operationalReadinessConfirmed, customer.legalTaxReviewConfirmed, contracts, contracts[].id, contracts[].reference, contracts[].ppa, contracts[].reading_coverage, contracts[].reading_coverage.status, contracts[].reading_coverage.total_characters, contracts[].reading_coverage.processed_characters, contracts[].reading_coverage.chunks, contracts[].reading_coverage.conflict_paths, contracts[].reading_coverage.rejected_evidence_count, contracts[].reading_coverage.source_sha256, contracts[].reading_coverage.pages_without_text, contracts[].reading_coverage.page_provenance_available, contracts[].reading_coverage.evidence, contracts[].reading_coverage.evidence[].topic, contracts[].reading_coverage.evidence[].title, contracts[].reading_coverage.evidence[].summary, contracts[].reading_coverage.evidence[].consequence, contracts[].reading_coverage.evidence[].beneficiary, contracts[].reading_coverage.evidence[].obligation, contracts[].reading_coverage.evidence[].deadline, contracts[].reading_coverage.evidence[].risk, contracts[].reading_coverage.evidence[].negotiation, contracts[].reading_coverage.evidence[].excerpt, contracts[].reading_coverage.evidence[].confidence, contracts[].reading_coverage.evidence[].start, contracts[].reading_coverage.evidence[].end, contracts[].reading_coverage.evidence[].verified_pages, contracts[].reading_coverage.limitation, matched_profile, matched_profile.consumption_kwh, matched_profile.ppa_generation_kwh, matched_profile.interval_minutes, matched_profile.start, matched_profile.end.
  - Minor: String arguments with no constraint or example: customer.supportScheme, contracts[].reading_coverage.evidence[].title, contracts[].reading_coverage.evidence[].summary, contracts[].reading_coverage.evidence[].consequence, contracts[].reading_coverage.evidence[].excerpt, contracts[].reading_coverage.limitation.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: The meaning of the boolean argument customer.requested is unclear.
  - Minor: The meaning of the boolean argument customer.useUploadedProductionForPpa is unclear.
  - Minor: The meaning of the boolean argument customer.goRequired is unclear.
  - Minor: The meaning of the boolean argument customer.goTransferred is unclear.
  - Minor: The meaning of the boolean argument customer.alternatives[].comparable is unclear.
  - Minor: The meaning of the boolean argument customer.fixedPriceConfirmed is unclear.
  - Minor: The meaning of the boolean argument customer.costPerimeterComplete is unclear.
  - Minor: The meaning of the boolean argument customer.operationalReadinessConfirmed is unclear.
  - Minor: The meaning of the boolean argument customer.legalTaxReviewConfirmed is unclear.
  - Minor: The meaning of the boolean argument contracts[].reading_coverage.page_provenance_available is unclear.
- `extract_energy_document`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: document_kind, segment, evaluation_date, document_file, document_file.download_url, document_file.file_id, document_file.mime_type, document_file.file_name.
  - Minor: String arguments with no constraint or example: document_file.download_url, document_file.file_id, document_file.mime_type, document_file.file_name.
  - Minor: The description mentions none of its 3 or more arguments.
- `hc_schedule_change_impact`: 47 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: old_schedule, old_schedule.winter_windows, old_schedule.winter_windows[].start_h, old_schedule.winter_windows[].end_h, old_schedule.summer_windows, old_schedule.summer_windows[].start_h, old_schedule.summer_windows[].end_h, old_schedule.evidence, new_schedule, new_schedule.winter_windows, new_schedule.winter_windows[].start_h, new_schedule.winter_windows[].end_h, new_schedule.summer_windows, new_schedule.summer_windows[].start_h, new_schedule.summer_windows[].end_h, new_schedule.evidence, current_option, current_option.option, current_option.hp_eur_per_kwh, current_option.hc_eur_per_kwh, current_option.subscription_eur_per_year, current_option.price_label, current_option.price_as_of, current_option.kwh_by_colour, current_option.kwh_by_colour.bleu, current_option.kwh_by_colour.blanc, current_option.kwh_by_colour.rouge, alternatives, alternatives[].option, alternatives[].hp_eur_per_kwh, alternatives[].hc_eur_per_kwh, alternatives[].subscription_eur_per_year, alternatives[].price_label, alternatives[].price_as_of, alternatives[].kwh_by_colour, alternatives[].kwh_by_colour.bleu, alternatives[].kwh_by_colour.blanc, alternatives[].kwh_by_colour.rouge, consumption.
  - Minor: The description mentions none of its 3 or more arguments.
- `create_analysis_study`: 48 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: target_tool, document_file.download_url, document_file.file_id, document_file.mime_type, document_file.file_name.
  - Minor: String arguments with no constraint or example: document_file.download_url, document_file.file_id, document_file.mime_type, document_file.file_name.
  - Minor: The description mentions none of its 3 or more arguments.
- `simulate`: 51 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: Arguments without a description: option.
  - Minor: String arguments with no constraint or example: postal_code.
- `eex_connector`: 52 / 100
  - Major: Says nothing about when to use it, or when not to.
- `analyze_bill`: 53 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Minor: String arguments with no constraint or example: postal_code, current_supplier.
- `pro_catalog`: 62 / 100
  - Major: Says nothing about when to use it, or when not to.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
