Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
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.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
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.
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| intent_id | any | |
| decision_id | any | |
| practice_scope | any | |
| counterparty_card_url | any |
{
"type": "object",
"properties": {
"limit": {
"type": "integer",
"default": 10
},
"intent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"practice_scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"counterparty_card_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}Compare two or more authorised presentations side by side (ids as for get_item).
| Argument | Type | Description |
|---|---|---|
| decision_id | any | |
| presentation_ids* | array |
{
"type": "object",
"required": [
"presentation_ids"
],
"properties": {
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"presentation_ids": {
"type": "array",
"items": {
"type": "string"
}
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tenant | any | |
| ship_to | any | |
| quantity* | integer | |
| decision_id* | string | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id",
"quantity",
"decision_id"
],
"properties": {
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"ship_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"quantity": {
"type": "integer"
},
"decision_id": {
"type": "string"
},
"presentation_id": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tenant | any | |
| decision_id* | string | |
| jurisdiction* | string | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id",
"jurisdiction",
"decision_id"
],
"properties": {
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"presentation_id": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| channel | any | |
| pathway* | string | |
| ship_to* | string | |
| substance* | string | |
| credential | any | |
| actor_class* | string |
{
"type": "object",
"required": [
"substance",
"pathway",
"actor_class",
"ship_to"
],
"properties": {
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pathway": {
"type": "string"
},
"ship_to": {
"type": "string"
},
"substance": {
"type": "string"
},
"credential": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"actor_class": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| tenant | any | |
| decision_id* | string | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id",
"decision_id"
],
"properties": {
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"type": "string"
},
"presentation_id": {
"type": "string"
}
}
}Whether a substance may be lawfully compounded in a jurisdiction and under which list or standard (503A/503B, provincial, magistral, Specials), from the register.
| Argument | Type | Description |
|---|---|---|
| substance* | string | |
| jurisdiction* | string |
{
"type": "object",
"required": [
"substance",
"jurisdiction"
],
"properties": {
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| since | any | |
| substance | any | |
| jurisdiction | any |
{
"type": "object",
"properties": {
"since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"substance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"jurisdiction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}Product record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. 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).
| Argument | Type | Description |
|---|---|---|
| tenant | any | |
| decision_id | any | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id"
],
"properties": {
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"presentation_id": {
"type": "string"
}
}
}Label and indication pointers for a licensed presentation only (US package NDC, CA DIN, EU EMA number).
| Argument | Type | Description |
|---|---|---|
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id"
],
"properties": {
"presentation_id": {
"type": "string"
}
}
}Certificate of analysis for a lawful lot of a presentation, where the pathway permits (decision_id required).
| Argument | Type | Description |
|---|---|---|
| lot* | string | |
| decision_id* | string | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id",
"lot",
"decision_id"
],
"properties": {
"lot": {
"type": "string"
},
"decision_id": {
"type": "string"
},
"presentation_id": {
"type": "string"
}
}
}The status of a substance on one pathway in one jurisdiction (frozen vocabulary), with effective date, rule-set version and source page.
| Argument | Type | Description |
|---|---|---|
| pathway* | string | |
| substance* | string | |
| jurisdiction* | string |
{
"type": "object",
"required": [
"substance",
"jurisdiction",
"pathway"
],
"properties": {
"pathway": {
"type": "string"
},
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}Price basis (list · contract · reimbursement) from a licensed party, once gate_transaction has answered allow or require_rx (decision_id).
| Argument | Type | Description |
|---|---|---|
| tenant | any | |
| decision_id* | string | |
| presentation_id* | string |
{
"type": "object",
"required": [
"presentation_id",
"decision_id"
],
"properties": {
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"type": "string"
},
"presentation_id": {
"type": "string"
}
}
}Safety label pointers for licensed products (label page and the pharmacovigilance scheme of the jurisdiction).
| Argument | Type | Description |
|---|---|---|
| substance* | string | |
| jurisdiction* | string |
{
"type": "object",
"required": [
"substance",
"jurisdiction"
],
"properties": {
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| substance* | string |
{
"type": "object",
"required": [
"substance"
],
"properties": {
"substance": {
"type": "string"
}
}
}Write the audit line for a gate decision or an order intent (returns the line id).
| Argument | Type | Description |
|---|---|---|
| kind* | string | |
| note | any | |
| reference_id* | string |
{
"type": "object",
"required": [
"kind",
"reference_id"
],
"properties": {
"kind": {
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"reference_id": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| credential | any | |
| actor_class* | string |
{
"type": "object",
"required": [
"actor_class"
],
"properties": {
"credential": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"actor_class": {
"type": "string"
}
}
}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.
| Argument | Type | Description |
|---|---|---|
| ship_to* | string |
{
"type": "object",
"required": [
"ship_to"
],
"properties": {
"ship_to": {
"type": "string"
}
}
}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).
| Argument | Type | Description |
|---|---|---|
| limit | integer | |
| query* | string | |
| banner | any | |
| pathway | string | |
| actor_class | string | |
| decision_id | any | |
| jurisdiction* | string |
{
"type": "object",
"required": [
"query",
"jurisdiction"
],
"properties": {
"limit": {
"type": "integer",
"default": 25
},
"query": {
"type": "string"
},
"banner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"pathway": {
"type": "string",
"default": "licensed_medicine"
},
"actor_class": {
"type": "string",
"default": "wholesale_distributor"
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"jurisdiction": {
"type": "string"
}
}
}Verify a serialised pack (GTIN + serial + lot + expiry) against the serialisation regime of the jurisdiction (DSCSA · FMD · UK · KR; none-national elsewhere).
| Argument | Type | Description |
|---|---|---|
| lot | any | |
| gtin* | string | |
| expiry | any | |
| serial* | string | |
| jurisdiction* | string |
{
"type": "object",
"required": [
"jurisdiction",
"gtin",
"serial"
],
"properties": {
"lot": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"gtin": {
"type": "string"
},
"expiry": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"serial": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
}
}