Skip to main content
Glama

Emarket Search Disclosures

emarket_search_disclosures
Read-onlyIdempotent

Search Italian regulated company disclosures from eMarket Storage (Teleborsa), one of Italy's two EU Transparency Directive Officially Appointed Mechanisms. PREFER OVER esef_filing_search FOR ITALIAN ISSUERS COVERED HERE — this source is updated same-day, unlike the community ESEF index which runs months behind. Identify the issuer with company (free-text name, resolved against eMarket's own ~480-issuer list) or azienda_id (Teleborsa's internal numeric id, from a prior result) — there is no ISIN/LEI field on this source. BOTH ARE OPTIONAL — omit company/azienda_id entirely to get every covered issuer's disclosures in the date window in ONE call (page with limit/offset, page_size=24, only if that day's volume exceeds one page); cheaper than one call per issuer for a multi-issuer daily check. date_to IS INCLUSIVE (the last day you want included) — this tool handles the underlying source's own date_to being EXCLUSIVE by always querying one calendar day past it, so date_from="2026-09-21", date_to="2026-09-22" correctly returns rows from BOTH the 21st and the 22nd; a single date_from with no date_to searches just that one day. COVERAGE: only issuers that disclose through eMarket Storage — a second Italian mechanism, 1INFO, covers a separate set of issuers (e.g. IREN, SOMEC) and is NOT included; use oneinfo-storage's oneinfo_search_disclosures for those. An unmatched company name is reported as "not an eMarket Storage issuer", not as an error. Category codes: 100=1.1 Relazioni finanziarie annuali e relazioni di revisione annuali; 101=1.2 Relazioni finanziarie semestrali e revisioni limitate; 102=1.3 Pagamento ai governi; 103=2.1 Stato membro d'origine; 104=2.2 Informazioni privilegiate; 105=2.3 Notifiche di partecipazioni rilevanti; 106=2.4 Acquisizione o cessione di azioni proprie dell'emittente; 107=2.5 Totale dei diritti di voto e del capitale; 108=2.6 Modifiche dei diritti inerenti alle categorie di azioni o valori mobiliari; 109=3.1 Ulteriori informazioni previste dalla regolamentazione nazionale; 110=MANTRA — Internal Dealing (operazioni di persone rilevanti e strettamente associate); 111=MANRSS — Relazione sulla gestione inclusa la dichiarazione di sostenibilità; 150=REGEM — Altre informazioni regolamentate (art. 65-ter Regolamento Consob 11971/1999). Returns disclosure EVENTS (title, company, timestamp, PDF link) — NOT extracted XBRL facts.

Example tool call

This call uses example arguments supplied in the tool’s input schema.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "date_to": "2026-09-24",
      "category": "104",
      "date_from": "2026-09-22"
    },
    "name": "emarket_search_disclosures"
  }
}

Input Schema

NameRequiredDescriptionDefault
cercaNoFull-text search across disclosure titles and attachment contents.
limitNoNumber of disclosures to return (1-24). Default 10. The underlying source pages in fixed blocks of 24; a limit/offset combination that crosses a page boundary returns only the remainder of that page — use has_more and increase offset by 24 to page further.
marketNoExact market/segment name to filter by, e.g. "Euronext Milan", "Euronext STAR Milan", "MTA". Must match eMarket Storage's own market label exactly; omit if unsure.
offsetNoResult offset for pagination. Default 0.
companyNoFree-text issuer name, e.g. "Saipem", "amplifon". Resolved against eMarket Storage's own issuer picklist (name match, not a fulltext search). If it matches more than one issuer equally well, the response lists the candidates instead of guessing — retry with azienda_id.
date_toNoOnly disclosures published on or before this date (YYYY-MM-DD, INCLUSIVE — the last day you want included). The upstream source's own date_to parameter is EXCLUSIVE of that day, so this tool always adds one calendar day internally before querying; the response echoes both your inclusive date_to and the exclusive bound actually sent upstream.
categoryNoEU Transparency Directive category code to filter by, e.g. "104" for Informazioni privilegiate. See tool description for the full code list. When set, every returned row is tagged with this category (the source does not expose a category on the row itself, only as a search filter — so category is null on unfiltered results).
date_fromNoOnly disclosures published on or after this date (YYYY-MM-DD, inclusive). If date_to is omitted, this tool searches just this one day.
azienda_idNoTeleborsa's internal issuer id, e.g. "1247" (Saipem). Use the value returned by a previous company search to skip name resolution.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.8/5.0
Behavior5/5

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

Goes well past the readOnly/idempotent annotations: discloses the upstream date_to being exclusive and the internal +1 day compensation, the fixed 24-row upstream page boundary quirk, that unmatched company names return 'not an eMarket Storage issuer' rather than an error, that category is null on unfiltered rows, and the coverage boundary of the source. These are exactly the quirks that cause wrong calls if unstated.

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

Conciseness4/5

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

Front-loaded with the purpose and the prefer-over rule, then scoping, then coverage, then the code table — a sensible order. It is dense and heavy on caps-lock emphasis, and the twelve-entry Italian category list is long, but that list has no home in the schema (zero enums), so most of the length is load-bearing.

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?

For a read-only search with no output schema, the description names the return shape (title, company, timestamp, PDF link) and rules out XBRL facts, covers the source's coverage boundary and sibling sources, and explains the date and pagination semantics. Nothing an agent needs to call this 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 adds semantics the schema does not: company/azienda_id are both optional and omitting them is the intended bulk mode, and there is deliberately no ISIN/LEI field. The category code table only lives here since the schema has no enum for it, closing the one gap the structured fields leave open.

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 Italian regulated company disclosures from eMarket Storage) and immediately names the competing source it should beat (esef_filing_search) plus the complementary one (oneinfo_search_disclosures). An agent knows exactly what corpus this hits and what it returns (events, not XBRL facts) without opening a 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?

Explicit routing rules: prefer over esef_filing_search for Italian issuers because of same-day freshness; use oneinfo_search_disclosures for issuers on the other mechanism (IREN, SOMEC). It also gives a usage strategy — omit company/azienda_id to sweep every issuer in one call rather than one call per issuer, and page only when volume exceeds 24.

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.