Je MCP-server heeft geen 40 tools nodig

MCP-demo's laten vaak alles tegelijk zien. Ze tonen elk endpoint en elke databasetabel. Ze beweren dat de agent alles kan aanroepen.

Dit voelt tien minuten lang krachtig. Daarna faalt het model. Het roept de verkeerde tool aan. Het geeft argumenten door in de verkeerde vorm. Het vraagt om een grafiek via een zoek-endpoint. Het probeert een destructieve actie opnieuw uit te voeren.

Het probleem is niet MCP. Het probleem is dat MCP wordt behandeld als een magische adapter voor je backend.

Een MCP-server is niet alleen je API die toegankelijk wordt gemaakt voor agents. Het is een productoppervlak voor een zeer letterlijke en zeer afleidbare gebruiker. Die gebruiker is een taalmodel.

Als je een model 40 vergelijkbare tools geeft, geef je het geen kracht. Je geeft het 40 manieren om er bijna naast te zitten.

Stop met het spiegelen van je API-routes. Mensen kunnen documentatie lezen en context begrijpen. Modellen doen aan pattern-matching op namen en beschrijvingen.

Bouw je MCP-laag rondom de intentie van de gebruiker.

In plaats van elke route te spiegelen, groepeer je ze in duidelijke grenzen:

  • Eén tool voor marktsamenvattingen
  • Eén tool voor releasekalenders
  • Eén tool voor specifieke data-snapshots
  • Eén tool voor historische indicatoren

Een API-route zegt: Als je dit verzoek stuurt, zal de server reageren. Een MCP-tool zou moeten zeggen: Gebruik mij voor precies deze taak, met deze exacte inputs, en verwacht dit specifieke resultaat.

Goede tool-beschrijvingen zijn routing-logica, geen marketingtekst.

Slecht: name: get_data description: Haalt data op uit de API.

Beter: name: lookup_release_calendar description: Retourneer geplande economische gebeurtenissen voor één valuta en een datumbereik. Gebruik dit voordat je vragen beantwoordt over komende macro-gebeurtenissen.

Volg deze regels voor betere agents:

  1. Gebruik saaie namen. Ontwikkelaars houden van compacte namen zoals fetch of query. Modellen hebben specifieke namen nodig zoals search_docs of check_deployment_status. Ambigue namen zijn kostbaar.

  2. Beheer de vorm van de respons. Retourneer geen gigantische geneste objecten. Retourneer de kleinste vorm die de taak ondersteunt. Als het model te veel data ziet, gebruikt het het verkeerde veld of hallucineert het details.

  3. Ontwerp voor falen. Productiekwaliteit komt voort uit hoe je fouten afhandelt. Retourneer niet zomaar een 500-fout of een lege array. Vertel het model waarom het is mislukt. Als er geen records overeenkomen, vertel het model dan om de gebruiker een breder datumbereik voor te stellen.

De beste agent-tool is niet de krachtigste. Het is de tool die het model niet verkeerd kan begrijpen.

Bron: https://dev.to/roberttidball/your-mcp-server-doesnt-need-40-tools-2ig1

Optionele leercommunity: https://t.me/GyaanSetuAi