MCP Server
Revision as of 17:34, 5 July 2026 by Thomas.sonck (talk | contribs) (Created page with "= Sidefish MCP (Model Context Protocol) API - Wiki = Het Sidefish platform is uitgerust met een robuuste Model Context Protocol (MCP) server. Hiermee kunnen externe AI-agents (zoals Claude of custom AI tools) direct communiceren met de Sidefish database om klanten te beheren, portfolio's aan te maken en documentverzoeken (SessionRequests) te versturen. == 🔐 Beveiliging en Tenant-Isolatie == Veiligheid en datasegregatie (tenant-isolatie) staan centraal in deze MCP-imp...")
Sidefish MCP (Model Context Protocol) API - Wiki
Het Sidefish platform is uitgerust met een robuuste Model Context Protocol (MCP) server. Hiermee kunnen externe AI-agents (zoals Claude of custom AI tools) direct communiceren met de Sidefish database om klanten te beheren, portfolio's aan te maken en documentverzoeken (SessionRequests) te versturen.
🔐 Beveiliging en Tenant-Isolatie
Veiligheid en datasegregatie (tenant-isolatie) staan centraal in deze MCP-implementatie:
- Verplichte Authenticatie: Alle MCP verzoeken via
/mcp/sseen/mcp/messagesvereisen een geldig OAuth 2.0 JWT Access Token (via een browser sessie) óf een API-key ingesteld in de HTTP header (x-api-key). Zonder authenticatie wordt de connectie onmiddellijk afgebroken. - Dynamische User Sessies: Elke verbinding lanceert een eigen, virtuele
McpServerexclusief voor die sessie. De tools draaien op basis van de rechten van de actieve gebruiker (user._id) en diens organisatie (user.organisation). Dit garandeert dat state of data nooit weglekt tussen agents of gebruikers. - Waterdichte Tenant-Filtering: Elke actie voert standaard een check uit om er zeker van te zijn dat objecten (zoals klanten of portfolio's) strikt tot de eigen organisatie behoren. Een AI kan nooit data van een andere tenant (organisatie) lezen of overschrijven.
🛠️ Beschikbare AI Tools
Hieronder vind je een uitgebreid overzicht van alle beschikbare tools (endpoints) die een AI-agent kan gebruiken.
1. Klanten Beheer (Customers)
get_customers: Zoek klanten binnen de portfolio's van jouw organisatie. Biedt krachtige zoekopties waaronder vrij zoeken in dynamische velden (viadataFilters).create_customer: Maakt een nieuwe klant aan en koppelt deze automatisch aan de actieveCustomerTemplatevan de organisatie.- Verplicht:
portfolioId,data(een object met velden als Voornaam, Achternaam). - Optioneel:
origin(standaard 'manual'),thirdpartyId,notes.
- Verplicht:
update_customer: Wijzigt de gegevens van een bestaande klant. Werkt via een partiële update (merge) zodat andere data intact blijft. Je kan hiermee ook een klant verhuizen naar een ander portfolio.
2. Document & Handtekening Verzoeken (SessionRequests)
create_session_request: Maakt intelligente, geautomatiseerde verzoeken aan (bijv. documenten ondertekenen of vragenlijsten invullen).- Automatisch Genereerd: Sidefish genereert zelfstandig de 5-karakter
codeen de invullink (url). Deze krijg je terug in de response. - Slimme Notificaties: Door simpele booleans (zoals
sendEmailNotificationofsendSmsNotification) mee te sturen, stuurt Sidefish automatisch berichten. - Sjabloon Fallbacks: Sidefish kijkt zelf naar de ingestelde communicatietemplates van de QuestionList, het Portfolio, of de Organisatie. Wil je dat de AI een eigen tekst schrijft? Stuur dan simpelweg een override mee (bijv.
emailNotificationOverride).
- Automatisch Genereerd: Sidefish genereert zelfstandig de 5-karakter
get_sessionrequests: Haalt verzoeken op uit het verleden, optioneel te filteren opstatus,typeofcustomerId.get_session_request_status: Haalt razendsnel de exacte, real-time status op van een individueel verzoek aan de hand van zijncode.delete_session_request: Annuleert (soft-delete) een actief verzoek op basis van de 5-karaktercode.
3. Portfolio Beheer
get_portfolios: Haalt alle portfolio's van jouw organisatie op, eventueel gefilterd op (een deel van) de naam.create_portfolio: Maakt een nieuw portfolio. Indien geenownerIdis gespecificeerd, wordt de ingelogde AI-gebruiker automatisch de beheerder. Functies zoalsisBdayMailingEnabledkunnen hier direct in geconfigureerd worden.update_portfolio: Wijzigt de instellingen (zoals taal of naam) van een bestaand portfolio binnen de organisatie.
4. Systeem Configuratie (Hulpmiddelen voor AI)
get_customertemplates: Ideaal voor AI-agents om de datastructuur te leren begrijpen. Haalt het actieve klantsjabloon van de organisatie op (inclusief alle gekoppelde categorieën), zónder backend-specifieke properties zoalsshowOnListPage. Hiermee kan de AI leren welke archetypes (bijv. GSM of email) er door de organisatie gebruikt worden.get_questionlists: Vraag de beschikbare vragenlijsten (QuestionLists) van de organisatie op, zodat de AI de_idvan de juiste vragenlijst kan achterhalen voordat hij eencreate_session_requestaanroept.
🚀 Voorbeeld Workflow voor een AI-Agent
- De AI gebruikt
get_customertemplatesom te begrijpen welke klantvelden hij moet uitvragen aan een eindgebruiker. - De AI roept
get_portfoliosaan om te bepalen in welk 'mapje' een klant opgeslagen moet worden. - Via
create_customerwordt de nieuwe klant in het doelsysteem geplaatst. - De AI gebruikt
get_questionlistsom de "Onboarding" vragenlijst op te zoeken. - De AI triggert
create_session_requestvoor de net aangemaakte klant en stuurt hierbij een custom, door AI-geschreven SMS met de invul-link mee via desmsNotificationOverride. - De AI rapporteert succesvol de opgeslagen url (invullink) terug aan de eindgebruiker in de chat!