Skip to main content
Glama

Amf Search Filings

amf_search_filings
Read-onlyIdempotent

Search French AMF-regulated company disclosures (résultats, franchissements de seuils, information privilégiée, rachats d'actions, and similar) from Info-financière, the French Officially Appointed Mechanism. PREFER OVER esef_filing_search FOR FRENCH ISSUERS — this source is updated same-day, unlike the community ESEF index which runs months behind for French/EU filings. Identify the issuer with isin (most reliable), lei (frequently null — do not rely on it alone), or a free-text company name; narrow by date_from/date_to (ISO date, UTC) — date_to IS INCLUSIVE of that whole UTC day, so a single-day check sets date_from and date_to to the SAME date (e.g. both "2026-10-16" to get everything published that day); a date_from after date_to returns empty_reason:"empty_window" rather than a bare zero. ALL THREE ARE OPTIONAL — omit company/isin/lei entirely to get every issuer's filings in the date window in ONE call (paginate with limit/offset only if a single day's market-wide volume exceeds the 100-row limit); this is far cheaper than calling once per issuer for a multi-issuer daily check. company is matched against the AMF's own LEGAL-NAME field (e.g. "TELEVISION FRANCAISE 1", not "TF1") — a trade-name search that matches zero legal-name rows automatically retries against disclosure titles and the response says matched_via:"title" when that is what found it, so prefer isin when you have it. Bilingual issuers publish each release TWICE (fr + en, separate ids, same minute) — pass language to get one edition, or group results by the returned language_pair_key. subtype_of_information is normalised to a real null (some disseminators send the literal string "NULL"). Returns disclosure EVENTS — title, issuer, timestamp, and a PDF/document link — NOT extracted XBRL facts.

Input Schema

NameRequiredDescriptionDefault
leiNoIssuer LEI (Legal Entity Identifier), e.g. "9695002GVC14VHLFIH85". Populated on many but not all rows — a miss does not mean the issuer has no filings; retry with isin or company.
isinNoIssuer ISIN, e.g. "FR0013230950". The most reliable identifier in this dataset — prefer this over lei or company name when known.
limitNoNumber of filings to return (1-100, clamped if you pass more — the response reports limit_clamped_from when it does). Default 10.
offsetNoResult offset for pagination. Default 0.
companyNoFree-text issuer name search, e.g. "TotalEnergies", "LVMH". Matches on the AMF's own LEGAL-NAME company field first; a distinct legal entity (e.g. a listed subsidiary) with a similar name may also match. If the legal name differs from the trade name you typed (e.g. "TF1" vs. legal name "TELEVISION FRANCAISE 1") and the legal-name match is empty, this tool automatically retries against disclosure titles — check matched_via and company_resolved in the response.
date_toNoOnly filings published on or before this date (YYYY-MM-DD, UTC, INCLUSIVE — the last day you want included). For a single-day check pass the same date as date_from. The upstream API's own bound is exclusive of that day; this tool handles that internally by querying one calendar day past it, so you never need to add a day yourself.
languageNoFilter to one language edition when an issuer files bilingual pairs: "fr" or "en". Omit to get both (each language edition is a separate row with its own id).
date_fromNoOnly filings published on or after this date (YYYY-MM-DD, UTC). Filters on the actual AMF publication timestamp.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • changedInput schema / examples
      Previous value: -[
      -  {
      -    "isin": "FR0013230950",
      -    "limit": 3
      -  }
      -]New value: +[
      +  {
      +    "isin": "FR0013230950",
      +    "limit": 3
      +  },
      +  {
      +    "date_from": "2026-10-16",
      +    "date_to": "2026-10-16",
      +    "limit": 100
      +  }
      +]
    • changedInput schema / properties / company / description
      Previous value: -"Free-text issuer name search, e.g. \"TotalEnergies\", \"LVMH\". Matches on the AMF's own company-name field; a distinct legal entity (e.g. a listed subsidiary) with a similar name may also match."New value: +"Free-text issuer name search, e.g. \"TotalEnergies\", \"LVMH\". Matches on the AMF's own LEGAL-NAME company field first; a distinct legal entity (e.g. a listed subsidiary) with a similar name may also match. If the legal name differs from the trade name you typed (e.g. \"TF1\" vs. legal name \"TELEVISION FRANCAISE 1\") and the legal-name match is empty, this tool automatically retries against disclosure titles — check matched_via and company_resolved in the response."
    • changedInput schema / properties / date_to / description
      Previous value: -"Only filings published before this date (YYYY-MM-DD, UTC, exclusive)."New value: +"Only filings published on or before this date (YYYY-MM-DD, UTC, INCLUSIVE — the last day you want included). For a single-day check pass the same date as date_from. The upstream API's own bound is exclusive of that day; this tool handles that internally by querying one calendar day past it, so you never need to add a day yourself."
    • changedInput schema / properties / limit / description
      Previous value: -"Number of filings to return (1-100). Default 10."New value: +"Number of filings to return (1-100, clamped if you pass more — the response reports limit_clamped_from when it does). Default 10."
  2. First observed

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only declare read-only/idempotent; the description adds substantial non-obvious traits: same-day freshness, the automatic title-retry with matched_via reporting, bilingual duplicate rows, normalisation of literal 'NULL' subtype values, the 100-row cap, and empty_window semantics for inverted date ranges. None of this is recoverable from the annotations or schema.

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

Conciseness3/5

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

It is appropriately sized for the tool's complexity and front-loads purpose and source, but it is a single dense block with shouting caps and parenthetical caveats stacked mid-sentence, which hurts scanability. Most sentences carry real information, though the isin/lei reliability advice is repeated from the schema.

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

Completeness5/5

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

With no output schema, the description still tells the agent what comes back (disclosure events with title, issuer, timestamp, document link), what does not (no extracted XBRL facts), and names response fields an agent must inspect (matched_via, company_resolved, limit_clamped_from, empty_reason). Nothing needed to call it correctly is missing.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3, but the description genuinely adds behaviour beyond field definitions: date_to is inclusive of the whole UTC day (single-day checks repeat the date), company matches the AMF legal-name field not trade names, and all three identifier params can be omitted. It restates some schema content (isin reliability, lei gaps), which keeps it off a 5.

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

Purpose5/5

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

States a specific verb and resource ('Search French AMF-regulated company disclosures ... from Info-financière') and enumerates the disclosure categories covered. It also explicitly contrasts itself with a named alternative, so an agent can distinguish it without opening the schema.

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

Usage Guidelines5/5

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

Gives explicit routing ('PREFER OVER esef_filing_search FOR FRENCH ISSUERS') with a stated reason (same-day updates vs. months-behind index). It also tells the agent when to skip identifiers entirely for a market-wide sweep and to prefer isin over lei/company, which is concrete when-to-use guidance rather than implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.