A2A Peptides
Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
사용해야 할까요
품질 및 안전성
발견 사항 (5)
- LOWresolve_jurisdiction에서
- LOWget_substance_record에서
- LOWget_label_and_indication에서
- LOWget_lot_coa에서
- LOWget_safety_label에서
도구 정의와 프로토콜 준수에 대한 자동 분석을 기반으로 합니다.
컨텍스트 비용
이는 서버의 도구가 모델의 컨텍스트에 로드될 때마다 소비되는 대략적인 토큰 수입니다. 수치가 높을수록 다른 작업에 사용할 수 있는 주의가 줄어듭니다.
설치
원클릭 설치
`claude_desktop_config.json` 파일에 다음을 추가하세요:
{
"mcpServers": {
"a2a-peptides": {
"url": "https://mcp.a2a-peptides.ai/mcp"
}
}
}원격 엔드포인트
https://mcp.a2a-peptides.ai/mcpstreamable-http할 수 있는 일
도구 목록
도구 (20)
🟢resolve_jurisdiction(ship_to)
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.
입력 스키마
{
"type": "object",
"properties": {
"ship_to": {
"type": "string"
}
},
"required": [
"ship_to"
]
}출력 스키마
{
"type": "object"
}🟢resolve_actor(actor_class, credential)
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.
입력 스키마
{
"type": "object",
"properties": {
"actor_class": {
"type": "string"
},
"credential": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"actor_class"
]
}출력 스키마
{
"type": "object"
}🟢gate_transaction(substance, pathway, actor_class, ship_to, channel, ...)
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.
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"type": "string"
},
"pathway": {
"type": "string"
},
"actor_class": {
"type": "string"
},
"ship_to": {
"type": "string"
},
"channel": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"credential": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"substance",
"pathway",
"actor_class",
"ship_to"
]
}출력 스키마
{
"type": "object"
}🟢get_substance_record(substance)
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.
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"type": "string"
}
},
"required": [
"substance"
]
}출력 스키마
{
"type": "object"
}🟢get_pathway_status(substance, jurisdiction, pathway)
The status of a substance on one pathway in one jurisdiction (frozen vocabulary), with effective date, rule-set version and source page.
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"pathway": {
"type": "string"
}
},
"required": [
"substance",
"jurisdiction",
"pathway"
]
}출력 스키마
{
"type": "object"
}🟢get_compounding_eligibility(substance, jurisdiction)
Whether a substance may be lawfully compounded in a jurisdiction and under which list or standard (503A/503B, provincial, magistral, Specials), from the register.
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
},
"required": [
"substance",
"jurisdiction"
]
}출력 스키마
{
"type": "object"
}🟢get_label_and_indication(presentation_id)
Label and indication pointers for a licensed presentation only (US package NDC, CA DIN, EU EMA number).
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
}
},
"required": [
"presentation_id"
]
}출력 스키마
{
"type": "object"
}🟢get_enforcement_watch(substance, jurisdiction, since)
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.
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"jurisdiction": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
}
}출력 스키마
{
"type": "object"
}🟢search_cleared_items(query, jurisdiction, pathway, actor_class, limit, ...)
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).
입력 스키마
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"pathway": {
"default": "licensed_medicine",
"type": "string"
},
"actor_class": {
"default": "wholesale_distributor",
"type": "string"
},
"limit": {
"default": 25,
"type": "integer"
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"banner": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"query",
"jurisdiction"
]
}출력 스키마
{
"type": "object"
}🟢get_item(presentation_id, tenant, decision_id)
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).
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_id"
]
}출력 스키마
{
"type": "object"
}🟢compare_presentations(presentation_ids, decision_id)
Compare two or more authorised presentations side by side (ids as for get_item).
입력 스키마
{
"type": "object",
"properties": {
"presentation_ids": {
"items": {
"type": "string"
},
"type": "array"
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_ids"
]
}출력 스키마
{
"type": "object"
}🟢find_licensed_supplier(presentation_id, jurisdiction, decision_id, tenant)
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.
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"jurisdiction": {
"type": "string"
},
"decision_id": {
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_id",
"jurisdiction",
"decision_id"
]
}출력 스키마
{
"type": "object"
}🟢get_availability(presentation_id, decision_id, tenant)
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.
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"decision_id": {
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_id",
"decision_id"
]
}출력 스키마
{
"type": "object"
}🟢get_price(presentation_id, decision_id, tenant)
Price basis (list · contract · reimbursement) from a licensed party, once gate_transaction has answered allow or require_rx (decision_id).
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"decision_id": {
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_id",
"decision_id"
]
}출력 스키마
{
"type": "object"
}🟢get_lot_coa(presentation_id, lot, decision_id)
Certificate of analysis for a lawful lot of a presentation, where the pathway permits (decision_id required).
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"lot": {
"type": "string"
},
"decision_id": {
"type": "string"
}
},
"required": [
"presentation_id",
"lot",
"decision_id"
]
}출력 스키마
{
"type": "object"
}🟢verify_serialization(jurisdiction, gtin, serial, lot, expiry)
Verify a serialised pack (GTIN + serial + lot + expiry) against the serialisation regime of the jurisdiction (DSCSA · FMD · UK · KR; none-national elsewhere).
입력 스키마
{
"type": "object",
"properties": {
"jurisdiction": {
"type": "string"
},
"gtin": {
"type": "string"
},
"serial": {
"type": "string"
},
"lot": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"expiry": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"jurisdiction",
"gtin",
"serial"
]
}출력 스키마
{
"type": "object"
}🟡create_order_intent(presentation_id, quantity, decision_id, tenant, ship_to)
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.
입력 스키마
{
"type": "object",
"properties": {
"presentation_id": {
"type": "string"
},
"quantity": {
"type": "integer"
},
"decision_id": {
"type": "string"
},
"tenant": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"ship_to": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"presentation_id",
"quantity",
"decision_id"
]
}출력 스키마
{
"type": "object"
}⚪a2a_handoff(intent_id, decision_id, counterparty_card_url, practice_scope, limit)
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.
입력 스키마
{
"type": "object",
"properties": {
"intent_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"decision_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"counterparty_card_url": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"practice_scope": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
},
"limit": {
"default": 10,
"type": "integer"
}
}
}출력 스키마
{
"type": "object"
}🟢get_safety_label(substance, jurisdiction)
Safety label pointers for licensed products (label page and the pharmacovigilance scheme of the jurisdiction).
입력 스키마
{
"type": "object",
"properties": {
"substance": {
"type": "string"
},
"jurisdiction": {
"type": "string"
}
},
"required": [
"substance",
"jurisdiction"
]
}출력 스키마
{
"type": "object"
}🟡log_audit(kind, reference_id, note)
Write the audit line for a gate decision or an order intent (returns the line id).
입력 스키마
{
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"reference_id": {
"type": "string"
},
"note": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null
}
},
"required": [
"kind",
"reference_id"
]
}출력 스키마
{
"type": "object"
}커뮤니티
증거