MCP-Server

A2A Peptides

io.github.A2A-Peptides/a2a-peptides
Commerce & Retail Gesundheitswesen Recht & Compliance Öffentlich und erreichbar MCP 2025-11-25

Was dieses MCP kann

Screens peptide substances and products by jurisdiction and pathway, checks licensing and compounding status, retrieves labels and safety data, and supports compliant supplier and order hand-offs.

a2a_handoff
A2A Handoff
Hand off over Agent-to-Agent (A2A). With an allow/require_rx decision: the order intent goes to the licensed counterparty's agent (envelope + card URL). With a deny for a patient, the public or an unauthorized actor: returns real licensed destinations from the provider directory (dispensers, prescribers) filtered by the decision's jurisdiction, state/province and practice scope — a referral, never a vial.
Eingabeschema
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 10}, 'intent_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'decision_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'practice_scope': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'counterparty_card_url': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
Ausgabeschema
{'type': 'object'}
compare_presentations
Compare Presentations
Compare two or more authorised presentations side by side (ids as for get_item).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_ids'], 'properties': {'decision_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'presentation_ids': {'type': 'array', 'items': {'type': 'string'}}}}
Ausgabeschema
{'type': 'object'}
create_order_intent
Create Order Intent
Create an order intent for a cleared item after the gate; the intent carries reason_code + rule_set_version and settles by x402 on peptides-x402.ai.
Eingabeschema
{'type': 'object', 'required': ['presentation_id', 'quantity', 'decision_id'], 'properties': {'tenant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'ship_to': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'quantity': {'type': 'integer'}, 'decision_id': {'type': 'string'}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
find_licensed_supplier
Find Licensed Supplier
Licensed parties for a presentation in a jurisdiction (tenant as a parameter). Takes the decision_id of an allow or require_rx decision from gate_transaction.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id', 'jurisdiction', 'decision_id'], 'properties': {'tenant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'decision_id': {'type': 'string'}, 'jurisdiction': {'type': 'string'}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
gate_transaction
Gate Transaction
The gate: allow, deny or require_rx for a substance (name, INN or unii:), a pathway (licensed_medicine · lawful_compounding · cosmetic · food_or_supplement · ruo_not_cleared), an actor class, a channel and a ship-to. Returns a frozen reason code, the rule-set version, the source page and a decision_id for the downstream tools.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['substance', 'pathway', 'actor_class', 'ship_to'], 'properties': {'channel': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'pathway': {'type': 'string'}, 'ship_to': {'type': 'string'}, 'substance': {'type': 'string'}, 'credential': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'actor_class': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_availability
Get Availability
Availability of a presentation once gate_transaction has answered allow or require_rx (decision_id): the availability block — banners[] on the shelf of record with licence footnote, pos_count (chain points of sale from the CPG Knowledge Graph retailer registry, or licensed dispensers on the provider directory for medicines), product_urls[] (retailer product page, register page, holder page) — plus tenant offers.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id', 'decision_id'], 'properties': {'tenant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'decision_id': {'type': 'string'}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_compounding_eligibility
Get Compounding Eligibility
Whether a substance may be lawfully compounded in a jurisdiction and under which list or standard (503A/503B, provincial, magistral, Specials), from the register.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['substance', 'jurisdiction'], 'properties': {'substance': {'type': 'string'}, 'jurisdiction': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_enforcement_watch
Get Enforcement Watch
Dated, URL'd enforcement events for a substance or jurisdiction: warning letters, import alerts, shortage-list changes, committee votes, proposed and final rules, seizures, state notices.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'properties': {'since': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'substance': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'jurisdiction': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}}}
Ausgabeschema
{'type': 'object'}
get_item
Get Item
One authorised presentation by id (US package NDC, CA DIN, EU EMA number, KR MFDS item seq, CH Swissmedic authorisation/pack code, JP approved-list entry, or the catalogue id): brand, strength, form, route, device, pack, holder, status, offers (tenant is a parameter).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id'], 'properties': {'tenant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'decision_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_label_and_indication
Get Label And Indication
Label and indication pointers for a licensed presentation only (US package NDC, CA DIN, EU EMA number).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id'], 'properties': {'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_lot_coa
Get Lot Coa
Certificate of analysis for a lawful lot of a presentation, where the pathway permits (decision_id required).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id', 'lot', 'decision_id'], 'properties': {'lot': {'type': 'string'}, 'decision_id': {'type': 'string'}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_pathway_status
Get Pathway Status
The status of a substance on one pathway in one jurisdiction (frozen vocabulary), with effective date, rule-set version and source page.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['substance', 'jurisdiction', 'pathway'], 'properties': {'pathway': {'type': 'string'}, 'substance': {'type': 'string'}, 'jurisdiction': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_price
Get Price
Price basis (list · contract · reimbursement) from a licensed party, once gate_transaction has answered allow or require_rx (decision_id).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['presentation_id', 'decision_id'], 'properties': {'tenant': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'decision_id': {'type': 'string'}, 'presentation_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_safety_label
Get Safety Label
Safety label pointers for licensed products (label page and the pharmacovigilance scheme of the jurisdiction).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['substance', 'jurisdiction'], 'properties': {'substance': {'type': 'string'}, 'jurisdiction': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
get_substance_record
Get Substance Record
One molecule: identifiers (INN, UNII, CAS, sequence hash), sourced aliases, class, one pathway row per jurisdiction × pathway, enforcement events, safety references. Every field carries its source page.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['substance'], 'properties': {'substance': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
log_audit
Log Audit
Write the audit line for a gate decision or an order intent (returns the line id).
Eingabeschema
{'type': 'object', 'required': ['kind', 'reference_id'], 'properties': {'kind': {'type': 'string'}, 'note': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'reference_id': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
resolve_actor
Resolve Actor
Resolve the actor class and channel. Classes: authorized_trading_partner and its members (manufacturer · repackager · wholesale_distributor · dispenser · third_party_logistics_provider; cosmetic_responsible_person · nhp_licence_holder on the non-drug pathways), prescriber, the referral classes patient and public, and agent (inherits the class of the credential it presents; none returns DENY_UNLICENSED_AGENT). Returns communication_class: trade_information or public.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['actor_class'], 'properties': {'credential': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'actor_class': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
resolve_jurisdiction
Resolve Jurisdiction
Resolve a ship-to (e.g. 'US-CA', 'CA-ON', 'MX', 'EU-DE', 'UK', 'KR', 'JP', 'SG', 'CH') to the gate's jurisdiction (US · CA · MX · EU · UK · KR · JP · SG · CH; UK is the jurisdiction name; the ISO 3166-1 code is accepted as input, machine fields carry the ISO code and jurisdiction_label carries UK), the EU member and any state, provincial or cantonal overlay.
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['ship_to'], 'properties': {'ship_to': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
search_cleared_items
Search Cleared Items
Presentations that passed the gate for a jurisdiction, pathway and actor class (a query by substance, brand or holder; optional banner filter on the shelf of record). Only cleared statuses are returned; every item carries its availability block (banners, pos_count, product_urls).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['query', 'jurisdiction'], 'properties': {'limit': {'type': 'integer', 'default': 25}, 'query': {'type': 'string'}, 'banner': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'pathway': {'type': 'string', 'default': 'licensed_medicine'}, 'actor_class': {'type': 'string', 'default': 'wholesale_distributor'}, 'decision_id': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'jurisdiction': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
verify_serialization
Verify Serialization
Verify a serialised pack (GTIN + serial + lot + expiry) against the serialisation regime of the jurisdiction (DSCSA · FMD · UK · KR; none-national elsewhere).
Nur Lesen Idempotent
Eingabeschema
{'type': 'object', 'required': ['jurisdiction', 'gtin', 'serial'], 'properties': {'lot': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'gtin': {'type': 'string'}, 'expiry': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'default': None}, 'serial': {'type': 'string'}, 'jurisdiction': {'type': 'string'}}}
Ausgabeschema
{'type': 'object'}
Geändert
log_audit
27. September 2026 02:42
Geändert
get_safety_label
27. September 2026 02:42
Geändert
a2a_handoff
27. September 2026 02:42
Geändert
create_order_intent
27. September 2026 02:42
Geändert
verify_serialization
27. September 2026 02:42
Geändert
get_lot_coa
27. September 2026 02:42
Geändert
get_price
27. September 2026 02:42
Geändert
get_availability
27. September 2026 02:42
Geändert
find_licensed_supplier
27. September 2026 02:42
Geändert
compare_presentations
27. September 2026 02:42
Geändert
get_item
27. September 2026 02:42
Geändert
search_cleared_items
27. September 2026 02:42
Geändert
get_enforcement_watch
27. September 2026 02:42
Geändert
get_label_and_indication
27. September 2026 02:42
Geändert
get_compounding_eligibility
27. September 2026 02:42
Geändert
get_pathway_status
27. September 2026 02:42
Geändert
get_substance_record
27. September 2026 02:42
Geändert
gate_transaction
27. September 2026 02:42
Geändert
resolve_actor
27. September 2026 02:42
Geändert
resolve_jurisdiction
27. September 2026 02:42
Geändert
log_audit
21. September 2026 02:49
Geändert
get_safety_label
21. September 2026 02:49
Geändert
a2a_handoff
21. September 2026 02:49
Geändert
create_order_intent
21. September 2026 02:49
Geändert
verify_serialization
21. September 2026 02:49
Geändert
get_lot_coa
21. September 2026 02:49
Geändert
get_price
21. September 2026 02:49
Geändert
get_availability
21. September 2026 02:49
Geändert
find_licensed_supplier
21. September 2026 02:49
Geändert
compare_presentations
21. September 2026 02:49