Search / io.github.A2A-Peptides/a2a-peptides
A2A Peptides
R0· no sign-inAgent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
v1.6.7 · active · repository · website · descriptor JSON · versions
Search / io.github.A2A-Peptides/a2a-peptides
R0· no sign-inAgent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides.
v1.6.7 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"a2a-peptides": {
"type": "http",
"url": "https://mcp.a2a-peptides.ai/mcp"
}
}
}claude mcp add --transport http a2a-peptides https://mcp.a2a-peptides.ai/mcp[mcp_servers.a2a-peptides]
url = "https://mcp.a2a-peptides.ai/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"a2a-peptides": {
"type": "remote",
"url": "https://mcp.a2a-peptides.ai/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"a2a-peptides": {
"type": "http",
"url": "https://mcp.a2a-peptides.ai/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=a2a-peptides&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vbWNwLmEyYS1wZXB0aWRlcy5haS9tY3AifQ%3D%3D"
}{
"servers": {
"a2a-peptides": {
"type": "http",
"url": "https://mcp.a2a-peptides.ai/mcp"
}
}
}{
"mcpServers": {
"a2a-peptides": {
"httpUrl": "https://mcp.a2a-peptides.ai/mcp"
}
}
}extensions:
"a2a-peptides":
enabled: true
name: "a2a-peptides"
type: streamable_http
uri: "https://mcp.a2a-peptides.ai/mcp"
timeout: 300
protocol.modernsupports 2026-07-28 (server/discover)protocol.statelessanswers without a sessionprotocol.transportstreamable HTTPprotocol.list_ttltools/list declares ttlMs 0, so clients re-fetch it on every useauth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations20 of 20 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,880 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes21 tool changes in 30 daysstability.rug_pullno tool changed its meaning under the same namedeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageget_itemchangeddescriptionOne 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).
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).
log_auditchangedannotationsget_safety_labelchangedannotationsa2a_handoffchangedannotationscreate_order_intentchangedannotationsverify_serializationchangedannotationsget_lot_coachangedannotationsget_pricechangedannotationsget_availabilitychangedannotationsfind_licensed_supplierchangedannotationsShowing the latest 10. Full history: list_changes · trend: quality JSON.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-100% ~updated-31d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://mcp.a2a-peptides.ai/mcp streamable-http | none | yes | 100% | 418 ms | 2026-07-28 | 2026-10-20 |
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. |
compare_presentationsread-only | Compare two or more authorised presentations side by side (ids as for get_item). |
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. |
find_licensed_supplierread-only | 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. |
gate_transactionread-only | 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. |
get_availabilityread-only | 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. |
get_compounding_eligibilityread-only | Whether a substance may be lawfully compounded in a jurisdiction and under which list or standard (503A/503B, provincial, magistral, Specials), from the register. |
get_enforcement_watchread-only | 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. |
get_itemread-only | 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). |
get_label_and_indicationread-only | Label and indication pointers for a licensed presentation only (US package NDC, CA DIN, EU EMA number). |
get_lot_coaread-only | Certificate of analysis for a lawful lot of a presentation, where the pathway permits (decision_id required). |
get_pathway_statusread-only | The status of a substance on one pathway in one jurisdiction (frozen vocabulary), with effective date, rule-set version and source page. |
get_priceread-only | Price basis (list · contract · reimbursement) from a licensed party, once gate_transaction has answered allow or require_rx (decision_id). |
get_safety_labelread-only | Safety label pointers for licensed products (label page and the pharmacovigilance scheme of the jurisdiction). |
get_substance_recordread-only | 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. |
log_audit | Write the audit line for a gate decision or an order intent (returns the line id). |
resolve_actorread-only | 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. |
resolve_jurisdictionread-only | 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. |
search_cleared_itemsread-only | 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). |
verify_serializationread-only | Verify a serialised pack (GTIN + serial + lot + expiry) against the serialisation regime of the jurisdiction (DSCSA · FMD · UK · KR; none-national elsewhere). |
Schemas: list_tools.
{
"name": "io.github.A2A-Peptides/a2a-peptides",
"icons": [
{
"src": "https://a2a-peptides.ai/icon.svg",
"sizes": [
"any"
],
"theme": "light",
"mimeType": "image/svg+xml"
},
{
"src": "https://a2a-peptides.ai/icon-512.png",
"sizes": [
"512x512"
],
"theme": "light",
"mimeType": "image/png"
},
{
"src": "https://a2a-peptides.ai/icon-512-dark.png",
"sizes": [
"512x512"
],
"theme": "dark",
"mimeType": "image/png"
}
],
"title": "A2A Peptides",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://mcp.a2a-peptides.ai/mcp",
"type": "streamable-http"
}
],
"version": "1.6.7",
"repository": {
"url": "https://github.com/A2A-Peptides/A2A-Peptides",
"source": "github"
},
"websiteUrl": "https://a2a-peptides.ai",
"description": "Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for peptides."
}