MCP Fusion/Operate and integrate/Testing
Testing
@mcpfusion/testing führt Ihre Tools durch die echte Pipeline, im Speicher: keine Server, keine Tokens, volle Treue bei Validierung, Middleware, Redaction und Presentern.
Einen MCP-Server zu testen heißt meistens, das Protokoll zu mocken und Vertrauen zu verlieren. @mcpfusion/testing geht den umgekehrten Weg: Es führt Ihre echte Registry durch die echte Pipeline im Speicher, sodass ein bestandener Test denselben Codepfad validiert, den die Produktion ausführt.
npm install @mcpfusion/testingDer 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');
});Ein einziger Aufruf, und die Assertion prüft genau das, was der Agent erhalten würde: den strukturierten Inhalt nach der Redaction, die Systemregeln, die der Presenter injiziert, die Affordances, die er vorschlägt.
Was echt läuft
| Stufe | Treue |
|---|---|
| Eingabevalidierung | Echte Zod-Schemas aus dem Builder |
| Middleware | Echte Ketten, echte Kontextableitung |
| Redaction | Echte kompilierte Redaction-Funktionen |
| Presenter-Formung | Echte Schemas, Regeln, UI-Blöcke, Affordances |
| Transport | Gemockt, der einzige ersetzte Teil |
Da der Harness im Speicher ohne Server und ohne Tokens läuft, sind die Tests schnell genug für jeden Push, auch im CI.
Was Sie testen sollten
- Der Egress-Vertrag. Prüfen Sie, dass PII-Felder im
result.datafehlen. Das ist der Test, der den Tag abfängt, an dem jemand ein Feld hinzufügt und den Redaction-Pfad vergisst. - Die Regeln. Prüfen Sie, dass
systemRulesdie Einheits- und Währungszeilen enthält, die Ihr Presenter verspricht. - Affordances. Prüfen Sie, dass
.suggest()je nach Zustand die richtigen nächsten Aktionen anbietet. - Die Form des Fehlers. Prüfen Sie, dass
Result-Fehler mitavailableActionszurückkommen, damit Agenten sich selbst heilen. - Zustandstorsteuerung. Bei FSM-gebundenen Tools: Prüfen Sie, dass ein Tool in Zuständen, die es verbieten, nicht in der Toolliste auftaucht.
Wenn Ihr KI-Coding-Agent das Tool geschrieben hat, ist dies der Ort, um seine Arbeit zu prüfen. Der SKILL.md-Vertrag lässt den Agenten das Muster versprechen; diese Tests lassen das CI es durchsetzen. Siehe Skills.
CI
npx vitest run
mcpfusion lock --check ./dist/server.jsKombinieren Sie den Harness mit der Capability-Lockfile-Prüfung aus Governance: Tests verifizieren das Verhalten, die Lockfile verifiziert, dass die Oberfläche nicht abgewichen ist. Zusammen sind sie die beiden Tore, die jede Änderung vor dem Deploy passiert.
Nächste Schritte
- Tools: was der Harness übt
- Governance: die Lockfile und das CI-Tor
- Deploy: liefern Sie mit Vertrauen aus, kostenlos
