MCP Fusion/Operate and integrate/Pruebas
Pruebas
@mcpfusion/testing ejecuta tus herramientas por el pipeline real en memoria: sin servidores, sin tokens, fidelidad total en validación, middleware, redacción y Presenters.
Probar un servidor MCP suele significar mockear el protocolo y perder confianza. @mcpfusion/testing va en la dirección contraria: ejecuta tu registro real por el pipeline real en memoria, así que una prueba aprobada valida el mismo camino de código que ejecuta la producción.
npm install @mcpfusion/testingEl harness
import { createMCPFusionTester } from '@mcpfusion/testing';
import registry from './src/server';
const t = createMCPFusionTester(registry, { contextFactory: () => ({ db: testDb }) });
test('get_invoice hides PII and teaches units', async () => {
const result = await t.callAction('billing', 'get_invoice', {
id: 'inv_2026_0417',
});
expect(result.data.email).toBeUndefined();
expect(result.systemRules).toContain(
'amount_cents is in CENTS. Divide by 100.',
);
expect(result.rawResponse).toContain('billing.remind');
});Una llamada, y la aserción inspecciona exactamente lo que recibiría el agente: el contenido estructurado tras la redacción, las reglas de sistema que inyecta el Presenter, las affordances que sugiere.
Qué se ejecuta de verdad
| Etapa | Fidelidad |
|---|---|
| Validación de entrada | Schemas Zod reales del builder |
| Middleware | Cadenas reales, derivación de contexto real |
| Redacción | Funciones de redacción compiladas reales |
| Modelado del Presenter | Schemas, reglas, bloques de UI y affordances reales |
| Transporte | Mockeado, la única parte reemplazada |
Como el harness se ejecuta en memoria sin servidor y sin tokens, las pruebas son lo bastante rápidas para correr en cada push, incluido el CI.
Qué probar
- El contrato de salida. Comprueba que los campos de PII están ausentes del
result.data. Es la prueba que atrapa el día en que alguien añade un campo y olvida el camino de la redacción. - Las reglas. Comprueba que
systemRulescontiene las líneas de unidad y moneda que tu Presenter promete. - Affordances. Comprueba que
.suggest()ofrece las siguientes acciones correctas por estado. - La forma del fallo. Comprueba que los fallos de
Resultvuelven conavailableActions, para que los agentes se autoreparen. - Control por estado. Con herramientas ligadas a FSM, comprueba que una herramienta está ausente de la lista de herramientas en los estados que la prohíben.
Si tu agente de codificación con IA escribió la herramienta, aquí es donde verificas su trabajo. El contrato SKILL.md hace que el agente prometa el patrón; estas pruebas hacen que el CI lo imponga. Ver Skills.
CI
npx vitest run
mcpfusion lock --check ./dist/server.jsEmpareja el harness con la comprobación del lockfile de capacidades de Governance: las pruebas verifican el comportamiento, el lockfile verifica que la superficie no se desvió. Juntas son las dos puertas que cada cambio cruza antes del deploy.
Próximos pasos
- Tools: lo que el harness ejercita
- Governance: el lockfile y la puerta del CI
- Deploy: entrega con confianza, gratis
