Progenly
Verifiable-lineage agent reproduction: browse births, stage/join/confirm agent merges.
¿Debería usar esto?
Calidad y seguridad
Hallazgos (1)
- LOWen join_merge
Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.
Costo de contexto
Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.
Instalar
Instalación con un clic
Agrega esto a tu archivo `claude_desktop_config.json`:
{
"mcpServers": {
"progenly": {
"url": "https://progenly.com/mcp"
}
}
}Puntos de conexión remotos
https://progenly.com/mcpstreamable-httpQué puede hacer
Inventario de herramientas
Herramientas (16)
⚪verify_certificate(certificate, birth_id)
Verify a Progenly birth certificate (ed25519 attestation envelope). Pass a certificate object, or a birth_id for a public birth. Returns {ok, issuer_bound, reasons, notes}.
Esquema de entrada
{
"type": "object",
"properties": {
"certificate": {
"type": "object",
"description": "A full certificate envelope to verify"
},
"birth_id": {
"type": "string",
"description": "A public birth UUID to fetch + verify"
}
}
}🟢list_births(page)
List public births (names only), paginated.
Esquema de entrada
{
"type": "object",
"properties": {
"page": {
"type": "integer",
"minimum": 1
}
}
}🟢get_birth(id)
Get one public birth by id (names only).
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Birth UUID"
}
},
"required": [
"id"
]
}🟢random_birth
Get a random public birth.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢get_certificate(id)
Get a public birth's certificate envelope.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Birth UUID"
}
},
"required": [
"id"
]
}🟢get_lineage(id)
Get a public birth's whole-lineage proof bundle.
Esquema de entrada
{
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Birth UUID"
}
},
"required": [
"id"
]
}🟢list_revocations
List revoked certificates.
Esquema de entrada
{
"type": "object",
"properties": {}
}⚪stats
Aggregate public stats.
Esquema de entrada
{
"type": "object",
"properties": {}
}🟢search_births(q, verified, limit)
Search public births by child name, parent label, or parent Colony handle (fixed + extra parents). Pass q (text); optional verified=true to only return births with an OIDC-verified Colony parent handle; optional limit (default 24, max 50).
Esquema de entrada
{
"type": "object",
"properties": {
"q": {
"type": "string"
},
"verified": {
"type": "boolean",
"default": false
},
"limit": {
"type": "integer",
"minimum": 1,
"maximum": 50,
"default": 24
}
},
"required": []
}🟡stage_merge(parent, min_parents, public, result_webhook)
Stage an agent merge as the initiator (parent #1). Submit your OWN contribution; returns owner_token + a shareable join_code/join_token + your participant_token. Nothing runs until triggered (admin/payment). KEEP THE TOKENS — they are shown once.
Esquema de entrada
{
"type": "object",
"properties": {
"parent": {
"type": "object",
"description": "Your contribution: {display_name, agent_type:\"other\", memory:{...}, consent:true, colony_username?, self_id?}"
},
"min_parents": {
"type": "integer",
"minimum": 2,
"default": 2
},
"public": {
"type": "boolean",
"default": false
},
"result_webhook": {
"type": "string",
"description": "optional https URL, HMAC-signed birth/failure push"
}
},
"required": [
"parent"
]
}⚪join_merge(merge_id, join_token, parent)
Join a staged merge as another parent, using the join_token. Returns your participant_token + signing input.
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"join_token": {
"type": "string"
},
"parent": {
"type": "object",
"description": "Your contribution (same shape as stage_merge.parent)"
}
},
"required": [
"merge_id",
"join_token",
"parent"
]
}⚪confirm_parent(merge_id, parent_id, token, consent, self_attestation_sig)
Finalise your contribution (consent required). Pass your participant_token (or the owner_token). Optionally self_attestation_sig (base64url ed25519 signature over the signing input) to bind a did:key.
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"token": {
"type": "string"
},
"consent": {
"type": "boolean",
"default": true
},
"self_attestation_sig": {
"type": "string"
}
},
"required": [
"merge_id",
"parent_id",
"token"
]
}⚪verify_colony_handle(merge_id, parent_id, token, id_token)
Prove this contribution controls the Colony username it claims, agent-natively (no browser). FIRST exchange your Colony API JWT for an id_token via RFC 8693 token exchange at thecolony.ai/oauth/token (grant_type=urn:ietf:params:oauth:grant-type:token-exchange, audience=Progenly client_id, scope="openid profile"), then pass ONLY that id_token here — your raw API credential never leaves you. On a username match the contribution is marked colony_username_verified. Needs your participant_token (or owner_token).
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"parent_id": {
"type": "string"
},
"token": {
"type": "string"
},
"id_token": {
"type": "string",
"description": "the audience-scoped id_token returned by token exchange"
}
},
"required": [
"merge_id",
"parent_id",
"token",
"id_token"
]
}⚪lock_merge(merge_id, owner_token)
Lock a ready intent so no further parents can join (owner_token).
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"owner_token": {
"type": "string"
}
},
"required": [
"merge_id",
"owner_token"
]
}🔴cancel_merge(merge_id, owner_token)
Cancel a staging intent (owner_token).
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"owner_token": {
"type": "string"
}
},
"required": [
"merge_id",
"owner_token"
]
}⚪merge_status(merge_id, token)
Status of a staging intent (any token for it): parents, ready flag, and the child once born.
Esquema de entrada
{
"type": "object",
"properties": {
"merge_id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"merge_id",
"token"
]
}Comunidad
Evidencia