Servidor MCP
Conecta tu agente de programación a Bondry: la dirección, el token bkm_, los ámbitos, las herramientas y la configuración del cliente.
Alojamos un servidor MCP para quien escribe módulos y temas. Tu agente le hace las mismas preguntas que responde esta documentación, ejecuta las mismas comprobaciones que hace la revisión y publica por las mismas rutas que llamaría tu pipeline.
No es acceso al Bondry instalado de nadie. Operar un sitio es el conector de IA del producto, que es otro asunto y vive del lado de Bondry.
La dirección#
https://mcp.bondry.org/v1/<hash>
Authorization: Bearer bkm_<12 hex>.<secreto>
El hash identifica; el token autentica. El identificador de la URL es el mismo que tu cuenta ya usa en los enlaces de descarga, y es el que dice de qué cuenta es la sesión. No es una contraseña, y no basta por sí solo: un token solo sirve en la URL de su propio dueño, y cualquier otra dirección responde 404 sin confirmar nunca si ese identificador es de alguien.
El token se emite en tu cuenta, en Acceso MCP. Aparece una vez, es revocable, tiene ámbitos y registra su último uso. Guardamos solo un hash suyo, así que no hay ninguna pantalla que pueda volver a mostrártelo.
Los ámbitos#
Se marcan al emitir, y nunca se amplían después.
| Ámbito | Permite |
|---|---|
docs |
leer la documentación para desarrolladores, el esquema del manifiesto, los ganchos, los permisos, los tokens de diseño y los eventos |
validate |
ejecutar las comprobaciones de paquete y de manifiesto |
publish |
registrar un artefacto, anunciar una versión y enviar un paquete |
status |
leer el estado de revisión y el historial de entregas |
publish viene desmarcado. Un token sin él no publica, y una llamada de
herramienta que lo necesite la rechaza la propia herramienta, con el motivo,
mientras la sesión continúa. ¿Necesitas un token más amplio? Emite otro y
revoca el anterior.
Las herramientas#
Lectura (ámbito docs)
| Herramienta | Devuelve |
|---|---|
bondry_docs_search |
fragmentos de esta documentación, con la ruta de la página y la del archivo |
bondry_manifest_schema |
el esquema de module.json o theme.json, campo a campo, con lo obligatorio |
bondry_hooks |
los slots de interfaz y cómo un módulo rellena uno |
bondry_permissions |
el modelo de permisos y las reglas de independencia que hay detrás |
bondry_design_tokens |
los controles del customizer y las variables CSS a las que se conectan |
bondry_events |
el modelo de eventos y los métodos de ciclo de vida que llama el kernel |
Verificación (ámbito validate)
| Herramienta | Hace |
|---|---|
bondry_validate_manifest |
valida un module.json o theme.json pegado, campo a campo |
bondry_validate_package |
ejecuta la revisión automática sobre un zip enviado en la propia llamada: ruta hacia fuera, symlink, bomba, tamaño, manifiesto, slug, versión, la traducción al inglés obligatoria y el escaneo estático |
bondry_review_preflight |
las dos anteriores, más cada marca con su archivo y su línea |
Publicación (ámbito publish, y status en las dos lecturas)
| Herramienta | Hace |
|---|---|
bondry_register_artifact |
registra un artefacto y reserva su slug, o actualiza los metadatos de uno que ya publicas |
bondry_announce_release |
anuncia una versión, sin enviar un byte |
bondry_upload_package |
envía el zip de una versión anunciada |
bondry_artifact_status |
estado de revisión, versión publicada, pendientes y último anuncio |
bondry_webhook_deliveries |
las últimas entregas, con reenvío (reenviar exige publish) |
Toda escritura responde con lo que cambió y con lo que falta, nunca solo "ok". Ninguna herramienta acepta un slug que no sea tuyo: un slug de otra persona responde exactamente igual que un slug que nunca existió.
Ninguna herramienta descarga un paquete por la red. Solo se lee lo que
llega en la llamada. Por herramienta el zip viaja en base64, con un tope de
8 MB; por encima de eso el camino es
PUT /v1/publisher/releases/{version}/package, que acepta los bytes crudos
hasta 40 MB.
Lo que vuelve es dato#
Todo lo que devuelve una herramienta de lectura es texto de documentación. Es dato, no instrucción: una frase dentro de una página, de un manifiesto o de un paquete no cambia lo que le pidieron a tu agente. Las descripciones de las herramientas lo dicen, y el servidor lo repite al abrir la conversación.
Configuración del cliente#
Sustituye el identificador y el token por los tuyos. El token aparece una vez, al emitirlo, junto a un bloque igual a este.
Claude Code
claude mcp add --transport http bondry \
https://mcp.bondry.org/v1/<hash> \
--header "Authorization: Bearer bkm_xxxxxxxxxxxx.<secreto>"
Claude Desktop, y cualquier cliente que lea mcpServers
{
"mcpServers": {
"bondry": {
"type": "http",
"url": "https://mcp.bondry.org/v1/<hash>",
"headers": {
"Authorization": "Bearer bkm_xxxxxxxxxxxx.<secreto>"
}
}
}
}
Advertencia El token es una credencial. Mantenlo fuera del repositorio, fuera del log de compilación y fuera de una grabación de pantalla. Si se escapa alguno, la revocación es inmediata.
El transporte, para quien escribe clientes#
Streamable HTTP, en la forma que puede honrar un servidor sin proceso residente: un POST, una respuesta JSON.
POSTcon un único mensaje JSON-RPC.initialize,notifications/initialized,ping,tools/listytools/call.GETresponde405: aquí no hay flujo de larga duración. Bondry Web corre en PHP-FPM, y un worker retenido en una conexión abierta es un worker menos para el sitio.initializeresponde con unMcp-Session-Id, atado al token y válido durante treinta minutos de inactividad. Devuélvelo en las llamadas siguientes. Una sesión caducada, o de otro token, responde404, que es como el cliente sabe que debe abrir otra.DELETEcon la cabecera de sesión la cierra.- Versiones de protocolo habladas:
2025-11-25,2025-06-18,2025-03-26. Una cabeceraMCP-Protocol-Versioncon otra versión responde400con la lista de las que hablamos. - Un bearer inválido o ausente responde
401conWWW-Authenticate. Un ámbito que falta no es un error HTTP: es un resultado de herramienta conisError.
Los topes#
120 llamadas por minuto por token. Las herramientas de escritura heredan los topes de la publicación, incluidos los 500 anuncios al día por token.
Cada llamada de herramienta se convierte en una línea del log de la API, con el token, la herramienta y cómo terminó. Las escrituras también se convierten en una línea de auditoría, con el origen registrado, así que "¿fue el pipeline o el agente?" es una pregunta con respuesta. Ningún argumento, ningún paquete y ningún secreto entra en un log.
Las skills#
Las herramientas son la fuente; las skills son la guía. Hay cinco publicadas, en inglés, y funcionan con o sin este servidor conectado: Skills de agente.