MCP Fusion/Protocol and runtime/Introspección
Introspección
Haz que un conector se describa a sí mismo: la tarjeta del servidor en la ruta conocida, el manifiesto mcpfusion filtrado por RBAC, los metadatos por acción y los contratos detrás del lockfile.
Un conector que puede describirse a sí mismo es más fácil de operar, auditar e integrar. MCP Fusion expone tres superficies de introspección: una tarjeta de servidor estática, un manifiesto dinámico activo y una API de metadatos dentro del proceso.
La tarjeta del servidor
Se sirve en /.well-known/mcp/server-card.json sobre http y stateless, compilada una vez al iniciar:
{
"$schema": "https://modelcontextprotocol.io/schemas/server-card/v1",
"version": "1.0",
"protocolVersion": "2026-07-28",
"serverInfo": { "name": "billing", "version": "1.4.0", "title": "Billing connector" },
"transport": { "type": "streamable-http", "endpoint": "/mcp" },
"capabilities": { "tools": {}, "prompts": {}, "resources": {} },
"tools": [{ "name": "billing", "description": "...", "tags": ["finance"] }]
}Las capacidades se rellenan a partir de lo que el servidor registró realmente, así que la tarjeta no puede anunciar una superficie inexistente. Se sirve en modo de solo lectura, sin sesión y con una cabecera de caché pública de cinco minutos. Los clientes de descubrimiento y los sistemas de monitorización la leen sin abrir nunca una conexión MCP.
El manifiesto dinámico
Actívalo para que el conector publique un recurso que se describa a sí mismo:
attachToServer(server, {
introspection: {
enabled: true,
uri: 'mcpfusion://manifest.json',
filter: (manifest, ctx) => stripInternal(manifest, ctx.userRole),
},
});El manifiesto contiene la identidad del servidor, el marcador de arquitectura MVA y, para cada herramienta, acciones, indicadores destructivos y de solo lectura, campos obligatorios y, para cada Presenter, claves de esquema, tipos de bloque de UI compatibles y si las reglas son contextuales. A diferencia de la tarjeta estática, el manifiesto se lee a través de la conexión MCP, lo que significa que se filtra por sesión: el filtro recibe el manifiesto y el contexto de la solicitud y devuelve lo que esa sesión puede ver. El descubrimiento por roles es, por tanto, una función, no un endpoint separado.
Usa el manifiesto cuando los agentes deban orientarse solos: un agente puede leer primero mcpfusion://manifest.json y planificar contra la superficie exacta a la que tiene derecho.
Metadatos en el proceso
El registro responde preguntas sobre su propia superficie sin un viaje de ida y vuelta por wire:
for (const builder of registry.getBuilders()) {
console.log(builder.getName(), builder.getActionNames());
for (const action of builder.getActionMetadata()) {
console.log(action.actionName, action.destructive, action.requiredFields);
console.log(action.hasMiddleware, action.presenterName);
console.log(action.presenterSchemaKeys, action.presenterUiBlockTypes);
}
}Este es el mismo material que consume el compilador de contratos. Por eso la CLI puede imprimir tu superficie, el lockfile puede calcular su hash y un panel de administración puede renderizarla: una fuente, tres consumidores.
Contratos y digests
Cada herramienta se materializa en un ToolContract con secciones de superficie, comportamiento, economía de tokens y permisos, cada una con su hash. computeServerDigest() las compone en un digest del servidor; compareServerDigests() indica si dos despliegues son idénticos en comportamiento. El lockfile escribe exactamente este material en disco. Consulta Contracts para el esquema y la barrera de CI.
Por qué importa en producción
- Incorporación: un cliente nuevo lee la tarjeta y conoce el transporte y el endpoint antes de conectarse
- Mínimo privilegio: el filtro del manifiesto convierte la visibilidad de capacidades en una decisión de runtime por rol
- Auditoría: el digest del contrato es el artefacto que firma un revisor, no una captura de un panel
- Detección de regresiones: comparar digests entre versiones responde "¿cambió el comportamiento?" sin leer un diff de todo el repositorio
Próximos pasos
- Contracts: digests, diferencias y atestación
- MCP 2.0 compliance: la tarjeta y la revisión del protocolo
- Governance: el flujo de releases
