Navngiv den konkrete effekt
Et værktøj til at finde dokumentation, et værktøj til at kontrollere journalinput og et værktøj til at bogføre har forskellige konsekvenser. Navn, beskrivelse og output skal afspejle denne forskel. Undgå et generisk execute-værktøj med fri URL, SQL eller intern routesti.
Dokumentations-MCP'en har kun søgning, læsning, kildebeskrivelse og lokal inputkontrol. Den har ingen finansielle skriveværktøjer. Partner-REST-gatewayen har derimod navngivne regnskabsoperationer med separate scopes.
Skema før execution
Valider argumenterne mod et afgrænset inputskema. Ukendte felter skal afvises, så klienten ikke kan indsætte organisation, aktør, bankreference eller status ved siden af de dokumenterede felter. JSON alene er et transportformat, ikke en sikkerhedskontrol.
Modeloutput kan være syntaktisk korrekt og stadig være fagligt forkert. Dato, beløb, reference og formål skal kontrolleres af de relevante autoritative lag. Brug ikke modellens egen begrundelse som bevis på kundens rettighed.
Prepare og commit
En forberedelsesoperation skal tydeligt returnere, at der ikke er bogført. Et efterfølgende commit-kald skal have det nødvendige scope og mandat og genkontrollere den aktuelle tilstand. Konti og perioder kan ændre sig mellem de to kald.
En klientbekræftelse kan forbedre brugeroplevelsen, men den er ikke en erstatning for den servergemte grant. En ubetroet model kan ikke selv skrive approved: true i et domæneinput og dermed give sig rettigheder.
Idempotens og ukendt udfald
Når et værktøj eller en agent kan blive kaldt igen, skal den økonomiske operation fortsat have en stabil idempotensnøgle. Et genstartet agentforløb må ikke bruge en ny nøgle, blot fordi det ikke husker det første svar.
Gem operationens identitet uden for modellens friteksthukommelse. En samtaleopsummering er ikke en pålidelig transaktionslog. Ved timeout skal appen kunne slå sin egen kvittering op eller gentage samme operation efter den dokumenterede kontrakt.
Output er også en dataflade
Værktøjet skal returnere den minimale projektion, ikke en fuld intern række. Fejl, forklaringer og "debug"-felter må ikke blive en alternativ udlevering af bankdata eller fremmede organisationers oplysninger.
MCP-serveren kan ikke hente kundedata. En udvidelse skal bruge samme grant- og provenancekontrol som REST og ikke give bredere adgang, fordi modtageren er en AI-klient.
Test som en ubetroet klient
Prøv ukendt værktøjsnavn, ekstra felter, fremmed reference, udløbet adgang, dubletrequest og en tekstinstruktion inde i dokumentinput. Kontrollér, at serverens beslutning ikke ændrer sig med modellens ordvalg. Sikkerheden skal ligge i den udførte kode, ikke i en høflig systemprompt.