01 / CONTROL
Autoriza la llamada
Filtra el descubrimiento, valida los argumentos y exige aprobación cuando lo indique la política.
Permitir o enviar una llamada no demuestra su ejecución externa.
OPEN SOURCE · AUTOALOJADO · MCP
Controla lo que pueden ejecutar. Comprueba qué evidencia deja cada acción.
Políticas, validaciones y aprobaciones delante de tus servidores MCP. Recibos firmados y comprobaciones externas para entender lo que ocurrió, con límites de confianza explícitos.
python -m pip install mcp-zero-trust-layer==0.6.0Python 3.11–3.14 · Apache-2.0 · Sin servicio SaaS obligatorio
01 / EXPLORA LA EVIDENCIA
Una llamada pierde su respuesta. El gateway conserva el resultado desconocido y consulta el recibo sin repetir la acción. Después, un observador contrasta la declaración con una fuente configurada.
SIMULACIÓN LOCAL · SIN PAGOS NI LLAMADAS A STRIPE
Se intentó enviar la llamada, pero no se observó una respuesta. El efecto permanece desconocido.
Una consulta de solo lectura recupera la declaración firmada del destino: committed. No demuestra que el efecto externo ocurriera.
El recibo declara committed; el observador informa de un estado failed en la fuente simulada. La firma del recibo puede seguir siendo válida.
El observador informa de un estado succeeded con los campos esperados. La conclusión sigue dependiendo de la fuente y del observador.
Una observación posterior informa de un fallo. La observación anterior se conserva en el historial.
El importe observado no coincide con la petición autorizada. La operación no queda corroborada.
La fuente simulada informa de un estado pendiente. No se convierte en éxito ni en fracaso.
La consulta no encuentra el registro. Eso no demuestra que la acción nunca ocurriera.
Traza de métodos del destino
tools/call1 llamada de negocio. 1 consulta del recibo.
SIGNED EVIDENCE / v1 + v2
Explora los documentos del caso seleccionado. Los identificadores y compromisos enlazan la petición autorizada con el intento, el recibo y la observación posterior.
Autoriza esta petición concreta; por sí sola no demuestra que se haya enviado.
Liga el intento a la autorización firmada mediante authorization_digest.
Liga la declaración del destino al permiso completo, petición e identificadores originales.
Liga el informe a la evidencia v1 completa y al informe anterior, si existe.
En este punto no hay un documento de este tipo. Conserva esa ausencia: no equivale a fracaso ni a confirmación del efecto.
Mapa de vínculos declarados en los fixtures. La verificación criptográfica se realiza con la CLI y tus claves públicas de confianza, no en esta página.
Contrato y recuperación paso a paso ↗La vista interactiva necesita JavaScript. Puedes abrir los fixtures públicos y reproducir la demo con la CLI.
Datos sintéticos de los fixtures de 0.6.0. Administración compartida; independencia no demostrada. El navegador muestra registros, no verifica sus firmas. La verificación offline autentica al observador, no una firma de Stripe ni el estado externo actual.
mcpzt evidence check-demo --directory ./mcpzt-check-demoUsa una ruta nueva en cada ejecución. La demo genera claves locales: no publiques el directorio completo.
02 / GARANTÍAS CON ALCANCE
01 / CONTROL
Filtra el descubrimiento, valida los argumentos y exige aprobación cuando lo indique la política.
Permitir o enviar una llamada no demuestra su ejecución externa.
02 / RECIBO
Vincula el recibo firmado a la misma autorización, petición e intento. Requiere un destino adaptado.
Un destino puede firmar una declaración incorrecta.
03 / OBSERVACIÓN
Un observador consulta una fuente configurada y añade su informe al historial de evidencia.
El informe depende del observador y de la fuente; no prueba independencia ni ejecución única.
Resultados de la configuración GitHub del repositorio, ejecutada contra un servidor simulado. Una denegación o una aprobación pendiente no envían la llamada al destino.
github.search_issues
Llamadas al destino simulado: 1
{
"jsonrpc": "2.0",
"id": 1,
"result": {
"content": [
{
"type": "text",
"text": "Synthetic issue search result"
}
]
}
}github.delete_repository
Llamadas al destino simulado: 0
{
"jsonrpc": "2.0",
"id": 2,
"error": {
"code": -32001,
"message": "Request denied by policy",
"data": {
"decision": "deny",
"policy_id": null,
"reason": "default decision: deny",
"validation_errors": []
}
}
}github.merge_pull_request
Llamadas al destino simulado: 0
{
"jsonrpc": "2.0",
"id": 3,
"error": {
"code": -32010,
"message": "Approval required",
"data": {
"decision": "require_approval",
"policy_id": "critical-actions-need-approval",
"reason": "matched policy critical-actions-need-approval",
"approval_id": "appr_5d1d28d871464cbe99ce7901fe74a99d",
"expires_at": "2026-09-17T19:22:12.134061+00:00"
}
}
}03 / EMPIEZA CON UN CASO REALISTA
Configuraciones de partida para adaptar a tu entorno. Los seis ejemplos básicos tienen la evidencia desactivada; los recibos y las comprobaciones se prueban en demos separadas.
01 / MCP
Lectura acotada y escritura con aprobación.
Node.js · raíz de archivos local
Ver configuración02 / MCP
Consultas permitidas y cambios sujetos a política.
Servidor MCP · credenciales de GitHub
Ver configuración03 / MCP
Valida consultas SQL antes de enviarlas.
Servidor MCP · base de datos de prueba
Ver configuración04 / MCP
Permisos por grupo y redacción de campos de salida.
Proveedor OIDC · servidor CRM
Ver configuración05 / MCP
Separa la identidad del cliente y la credencial del upstream.
Upstream HTTP · credencial del servidor
Ver configuración06 / MCP
Políticas por capacidad para varios servidores.
Servicios de ejemplo · configuración local
Ver configuraciónEl conector inicial cubre stripe.refund.status.v1. La demo simula el proveedor; ejecutar una prueba real requiere credenciales y un reembolso de sandbox preparado.
04 / ENTRE EL AGENTE Y EL SERVIDOR
Esquema conceptual. El recibo requiere configuración de confianza; la reconciliación y la comprobación externa son pasos posteriores de solo lectura.
Control por capacidad, validadores de argumentos y redacción de salida. La protección depende de las políticas y del alcance de cada validador; revisa los ejemplos antes de aplicarlos a datos reales.
Aprobaciones vinculadas a la petición y registros de intención y resultado. El perfil de evidencia required exige enforce, auditoría estricta y claves de confianza configuradas.
HTTP JSON POST, sin passthrough SSE. Stdio POSIX acotado y serial; no admite mensajes iniciados por el servidor. Las sesiones HTTP viven en el proceso y requieren afinidad. Generar una configuración de cliente no equivale a certificar un proveedor.
Las firmas no demuestran verdad física, causalidad, liquidación bancaria, completitud global ni ejecución exactamente una vez. Las observaciones tienen alcance y tiempo; un informe histórico no acredita el estado actual.
05 / PRUÉBALO LOCALMENTE
Instala la versión de esta página y elige una demo. No necesitas credenciales de proveedores para las simulaciones locales.
python -m pip install mcp-zero-trust-layer==0.6.0Python 3.11–3.14
mcpzt demo --output ./mcpzt-http-demo
cd mcpzt-http-demo
bash run-demo.shGenera los archivos y ejecuta el script desde su directorio. La demo comprueba sus resultados.
mcpzt evidence demo --directory ./mcpzt-receipt-demoUsa una ruta nueva en cada ejecución. La demo genera claves locales: no publiques el directorio completo.
mcpzt evidence check-demo --directory ./mcpzt-check-demoUsa una ruta nueva en cada ejecución. La demo genera claves locales: no publiques el directorio completo.
docker run --rm ghcr.io/686f6c61/mcp-zero-trust-layer:0.6.0 --help