accueil / serveurs / Dev & Code / io.github.greencore-solutions/a2a-retailmedia
io.github.greencore-solutions/a2a-retailmedia
serveur MCP (Model Context Protocol) · a2a-retailmedia 1.0.11
Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur.
Est-ce que io.github.greencore-solutions/a2a-retailmedia est sûr ?
Au dernier audit MCP Hub, le serveur MCP « io.github.greencore-solutions/a2a-retailmedia » est classé « Non encore testé ». Référencé dans l'annuaire. Seul le pentest comportemental fait foi, et il n'a pas encore été exécuté sur ce serveur. Le verdict est réévalué en continu ; consultez la fiche pour l'état à jour.
Méthode : MCP Hub analyse la description de chaque outil (couche 1) et, pour le verdict fort, exécute le serveur dans une micro-VM isolée avec leurres et réseau bloqué (couche 2). On publie des noms et des compteurs, jamais le contenu brut renvoyé par un outil.
Les 19 outils
- a2a_handoff≈ 109 tokens
Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent.
Paramètres, retour & exemple (1)
Paramètreshandoff_id· string · requis
Exemple d'appel{"name": "a2a_handoff", "arguments": {"handoff_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - check_eligibility≈ 145 tokens
Confirm it is on the shelf: does the grocery record list this GTIN at this banner in this market? No listing, no media pitch. Read live from the A2A Grocery door.
Paramètres, retour & exemple (3)
Paramètresgtin· string · requisbanner· string · requiscountry_iso· string · requis
Exemple d'appel{"name": "check_eligibility", "arguments": {"gtin": "texte", "banner": "texte", "country_iso": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - enrol_maker≈ 178 tokens
Makers: be seen. Enrol a maker for media exposure in grocery: its name, its markets (one or more of the 20), the tick, and a contact a person can answer. Enrolment only — a handoff waits for a budget a person has approved.
Paramètres, retour & exemple (4)
Paramètresmaker· string · requiscontact· string · requismarkets· array · requismedia_exposure· boolean · requis
Exemple d'appel{"name": "enrol_maker", "arguments": {"maker": "texte", "contact": "texte", "markets": [], "media_exposure": true}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_buyer≈ 146 tokens
Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one.
Paramètres, retour & exemple (3)
Paramètresmaker· string · requismarket· ? · optionneldecision_id· ? · optionnel
Exemple d'appel{"name": "find_buyer", "arguments": {"maker": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - find_makers≈ 203 tokens
Find the brand: makers on the grocery record of one market (node = one of the 20 markets). segment is taken as a lane where it names one (organic, free-from, plant-based, artisan, origin, premium). Read live from the A2A Grocery door.
Paramètres, retour & exemple (4)
Paramètresnode· ? · optionnellimit· ? · optionnelregion· ? · optionnelsegment· ? · optionnel
Exemple d'appel{"name": "find_makers", "arguments": {"node": "texte", "limit": "texte", "region": "texte", "segment": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - gate_transaction≈ 133 tokens
The gate before a handshake: allow or deny for one market and one actor class. Returns a decision_id the handshake tools ask for. A deny is not charged.
Paramètres, retour & exemple (2)
Paramètresmarket· string · requisactor_class· string · requis
Exemple d'appel{"name": "gate_transaction", "arguments": {"market": "texte", "actor_class": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - get_banner_card≈ 121 tokens
The signed card of one banner and its status (listed · claimed · verified). banner = the banner's slug, id or name.
Paramètres, retour & exemple (2)
Paramètresbanner· string · requismarket· string · requis
Exemple d'appel{"name": "get_banner_card", "arguments": {"banner": "texte", "market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_banner_cards≈ 158 tokens
The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address.
Paramètres, retour & exemple (4)
Paramètreslimit· integer · optionnelmarket· string · requisoffset· integer · optionnelstatus· ? · optionnel
Exemple d'appel{"name": "list_banner_cards", "arguments": {"market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_banners≈ 182 tokens
Pick the banners: the grocery banners of one market with each one's media program (or "none listed") and card status. with_program=true returns only banners with a program listed.
Paramètres, retour & exemple (5)
Paramètreslimit· integer · optionnelmarket· string · requisoffset· integer · optionnelsearch· ? · optionnelwith_program· boolean · optionnel
Exemple d'appel{"name": "list_banners", "arguments": {"market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - list_packages≈ 172 tokens
Match a package: what one banner's media program says it sells, in the program's own words, each tagged onsite, offsite or in-store. Offsite is tagged so it is never taken for a shelf slot. Empty where no program is listed — the agent stops.
Paramètres, retour & exemple (3)
Paramètresbanner· string · requismarket· string · requisdecision_id· ? · optionnel
Exemple d'appel{"name": "list_packages", "arguments": {"banner": "texte", "market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - log_audit≈ 114 tokens
Write one audit line for a step of the chain; returns its id.
Paramètres, retour & exemple (2)
Paramètresevent· string · requisdetail· ? · optionnel
Exemple d'appel{"name": "log_audit", "arguments": {"event": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - pull_measurement≈ 120 tokens
Read the till: results of a campaign, returned by the retailer's program. Available only after the program returns a campaign id for a handoff.
Paramètres, retour & exemple (1)
Paramètreshandoff_id· string · requis
Exemple d'appel{"name": "pull_measurement", "arguments": {"handoff_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - quote_package≈ 151 tokens
Price it: returns where the banner's own media program publishes its rates or takes an enquiry. GSC never prices; a quote comes from the retailer's program.
Paramètres, retour & exemple (3)
Paramètresbanner· string · requismarket· string · requisdecision_id· ? · optionnel
Exemple d'appel{"name": "quote_package", "arguments": {"banner": "texte", "market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - receive_demand≈ 166 tokens
Retailer side: a registered program agent takes a qualified packet. Only a card in the registered state can receive; any other card is refused and nothing is charged.
Paramètres, retour & exemple (4)
Paramètresbanner· string · requismarket· string · requishandoff_id· string · requisdecision_id· ? · optionnel
Exemple d'appel{"name": "receive_demand", "arguments": {"banner": "texte", "market": "texte", "handoff_id": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - renew_package≈ 167 tokens
Renew: a prior quote id from the retailer's program and a new approved budget. Without a quote id from the program there is nothing to renew.
Paramètres, retour & exemple (4)
Paramètresbudget· number · requisdecision_id· ? · optionnelprior_quote_id· string · requisbudget_approved_by· string · requis
Exemple d'appel{"name": "renew_package", "arguments": {"budget": 1, "prior_quote_id": "texte", "budget_approved_by": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve_actor≈ 120 tokens
Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty.
Paramètres, retour & exemple (1)
Paramètresactor_class· string · requis
Exemple d'appel{"name": "resolve_actor", "arguments": {"actor_class": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve_gtin≈ 148 tokens
Product record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. Confirm the product is real: is this Global Trade Item Number (GTIN) well-formed, and is it on the grocery record, with its brand and maker. Read live from the A2A Grocery door.
Paramètres, retour & exemple (1)
Paramètresgtin· string · requis
Exemple d'appel{"name": "resolve_gtin", "arguments": {"gtin": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - resolve_jurisdiction≈ 120 tokens
Where is the media bought? Resolve a market (e.g. FR, UK, US, Japan) to one of the 20 markets on the record. UK is the label; GB is accepted.
Paramètres, retour & exemple (1)
Paramètresmarket· string · requis
Exemple d'appel{"name": "resolve_jurisdiction", "arguments": {"market": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]} - submit_demand≈ 278 tokens
Hand off: the packet — the maker, a budget a person has approved, one or more GTINs, a market and a list of banners — or a gap naming what is missing. Routes each banner by its card status: unclaimed is a referral, claimed goes to the retailer's media team, registered goes agent to agent. Settles at the door.
Paramètres, retour & exemple (9)
Paramètresnote· ? · optionnelgtins· array · requismaker· string · requisbudget· number · requismarket· string · requisbanners· array · requiscontact· string · requisdecision_id· ? · optionnelbudget_approved_by· string · requis
Exemple d'appel{"name": "submit_demand", "arguments": {"gtins": [], "maker": "texte", "budget": 1, "market": "texte", "banners": [], "contact": "texte"}}Exemple de retour{"content": [{"type": "text", "text": "…"}]}
C'est votre serveur ?
Revendiquez-le sur l'espace créateur (preuve GitHub, domaine ou npm) pour afficher le badge « propriétaire vérifié » et lancer un pentest comportemental à la demande afin d'obtenir le badge « Vérifié ».