MCP Fusion/Operate and integrate/Pruebas

Pruebas

Pregunta a la IA sobre Vinkius

@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.

bash
npm install @mcpfusion/testing

El harness

typescript
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

EtapaFidelidad
Validación de entradaSchemas Zod reales del builder
MiddlewareCadenas reales, derivación de contexto real
RedacciónFunciones de redacción compiladas reales
Modelado del PresenterSchemas, reglas, bloques de UI y affordances reales
TransporteMockeado, 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 systemRules contiene 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 Result vuelven con availableActions, 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

bash
npx vitest run
mcpfusion lock --check ./dist/server.js

Empareja 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