{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_hy8mjkr2vrqx","handle":"a2a-retailmedia-the-agentic-retail-media-hub-for","url":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for","links":{"self":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/record.json","html":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for","markdown":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/record.md","api":"https://wellknown.network/api/v1/agents/a2a-retailmedia-the-agentic-retail-media-hub-for","status":"https://wellknown.network/api/v1/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/status","claim":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/claim.json","badge":"https://wellknown.network/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/history","tools":"https://wellknown.network/api/v1/agents/a2a-retailmedia-the-agentic-retail-media-hub-for/tools"},"ard":{"identifier":"urn:air:mcp.a2a-retailmedia.ai:server:a2a-retailmedia-the-agentic-retail-media-hub-for","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"A2A Retailmedia — the agentic retail-media hub for grocery","summary":"Connecting grocery retail to 350k makers for media buys.","description":"Connecting grocery retail to 350k makers for media buys.","publisher":{"name":"greencore-solutions","url":null},"homepage":"https://a2a-retailmedia.ai","repository":"https://github.com/greencore-solutions/a2a-retailmedia","version":"1.0.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.a2a-retailmedia.ai/mcp","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-10-05T05:20:14.734307Z","publishedAt":"2026-10-05T05:20:14.734307Z","registryName":"io.github.greencore-solutions/a2a-retailmedia"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"content.marketing","name":"Marketing","confidence":0.525,"provenance":"derived"},{"slug":"dev.package-management","name":"Packages & Dependencies","confidence":0.51,"provenance":"derived"}],"categories":["content","dev"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 3h ago.","lastOkAt":"2026-10-09T22:27:34.882Z","lastProbedAt":"2026-10-09T22:27:34.882Z","statusComputedAt":"2026-10-09T22:28:59.840Z","reliability30d":{"probes":10,"successRate":1,"p50Ms":72,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":10,"ok":10,"authBoundaryOk":0,"serviceOk":10,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T22:27:34.882Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":70,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T16:33:17.779Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":69,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T10:22:05.582Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":67,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T03:24:08.174Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":77,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T21:23:42.554Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":55,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T15:24:01.021Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":82,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T09:24:08.144Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":95,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T03:24:49.984Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":58,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T20:29:22.915Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":64,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T13:28:06.488Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":87,"error":null,"detail":{"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"toolCount":19,"toolsHash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","serverName":"a2a-retailmedia","capabilities":["logging","prompts","resources","tools"],"serverVersion":"4.0.3","protocolVersion":"2025-06-18"}}],"tools":[{"name":"resolve_jurisdiction","description":"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."},{"name":"resolve_actor","description":"Who is asking? maker, brand_owner, agency, distributor or retailer_media_team (trade); auditor (read only). The consumer is never the counterparty."},{"name":"gate_transaction","description":"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."},{"name":"find_makers","description":"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, pl"},{"name":"resolve_gtin","description":"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 "},{"name":"check_eligibility","description":"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 doo"},{"name":"list_banners","description":"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 wit"},{"name":"get_banner_card","description":"The signed card of one banner and its status (unclaimed, claimed or registered). banner = the banner's slug, id or name."},{"name":"list_banner_cards","description":"The cards of one market, optionally by status (unclaimed, claimed, registered): banner, media program, status and the card's address."},{"name":"list_packages","description":"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 "},{"name":"quote_package","description":"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."},{"name":"find_buyer","description":"Qualify the buyer: find a maker on the grocery record by name, with its own website where the record has one."},{"name":"submit_demand","description":"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 ea"},{"name":"receive_demand","description":"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 ch"},{"name":"a2a_handoff","description":"Hand to a person: the state of a handoff and its Navigator desk ticket, where the media program has no agent."},{"name":"pull_measurement","description":"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."},{"name":"renew_package","description":"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."},{"name":"log_audit","description":"Write one audit line for a step of the chain; returns its id."},{"name":"enrol_maker","description":"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. Enrolm"}],"package":null,"toolSurface":{"id":"ts_8bvxt6f87bu8","endpointId":"ep_2dhrqqtgre3d","hash":"0ee26afd7538dc7262e77f936b77a597d4f872f3efb249ac15fe8e7aa7ddde76","toolCount":19,"serverName":"a2a-retailmedia","serverVersion":"4.0.3","protocolVersion":"2025-06-18","firstSeenAt":"2026-10-07T13:28:06.506Z","lastSeenAt":"2026-10-09T22:27:34.899Z","observations":10,"toolNames":["resolve_jurisdiction","resolve_actor","gate_transaction","find_makers","resolve_gtin","check_eligibility","list_banners","get_banner_card","list_banner_cards","list_packages","quote_package","find_buyer","submit_demand","receive_demand","a2a_handoff","pull_measurement","renew_package","log_audit","enrol_maker"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_2dhrqqtgre3d","url":"https://mcp.a2a-retailmedia.ai/mcp","type":"mcp_streamable_http","factsCheckedAt":"2026-10-09T10:22:05.587Z","auth":{"observedAt":"2026-10-09T10:22:05.613Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-09T10:22:05.634Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"a2a-retailmedia.ai","issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validFrom":"2026-10-04T02:29:58.000Z","validTo":"2027-01-02T02:29:57.000Z","daysToExpiry":84,"sanCount":2,"fingerprint256":"2B:AD:16:4D:A8:EB:40:9D:75:BA:A1:06:88:B1:5F:08:6D:48:71:E2:66:56:E5:E1:1F:28:E1:AD:DD:6E:43:7E"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.greencore-solutions/a2a-retailmedia","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.greencore-solutions%2Fa2a-retailmedia","firstSeenAt":"2026-10-07T13:19:48.871Z","fetchedAt":"2026-10-07T13:19:48.871Z","normalizedAt":"2026-10-07T13:19:48.871Z"}]},"firstSeenAt":"2026-10-07T13:19:48.871Z","updatedAt":"2026-10-09T22:29:55.358Z"}