Help
App openenPlan een gesprek

Beveiligingsoverzicht van de MCP-server

Hoe de Cortena MCP-server gebruikers authenticeert, tools afbakent en schrijfacties logt.

Aanvulling op de Cortena-vertrouwensdocumentatie voor IT- en informatiebeveiligingsbeoordelaars van klanten die beoordelen of ze de Cortena MCP-connector in een AI-assistent willen inschakelen, zoals Claude, ChatGPT, Dust, Cursor, Perplexity en vergelijkbare toepassingen.

Installatie-instructies: MCP-server. De MCP-server is in bèta.

1. Wat het is

Eindpunthttps://app.cortena.ai/api/mcp
ProtocolModel Context Protocol via HTTPS (Streamable HTTP, JSON-RPC)
AuthenticatieOAuth 2.0 (authorization code + PKCE voor connectors met meerdere gebruikers, client credentials voor clients met één gebruiker), of een legacy bearer-token uit de instellingen
HostingDezelfde Cortena-applicatie-infrastructuur als app.cortena.ai (gehost in de EU, zie Hosting in de EU)
GegevensbereikDe eigen Cortena-tenants en machtigingen van de verbonden gebruiker. Gegevens van andere klanten zijn niet toegankelijk

Het is geen afzonderlijk product of gegevensopslag. Het is een beperktere interface naar dezelfde Cortena-API's en gegevens die de gebruiker al in de webapplicatie ziet, met een aanvullende connectorbeperking voor tenants, toegangsmodus en een optionele lijst met toegestane tools.

Token-eindpunt: https://app.cortena.ai/api/mcp/oauth/token. Clients worden beheerd via Instellingen → MCP-toegang (bèta) (https://app.cortena.ai/?settings=mcp-access).

Dynamic Client Registration (DCR)

Cortena ondersteunt OAuth 2.0 Dynamic Client Registration. Assistenten die DCR ondersteunen, bijvoorbeeld Claude en Dust Automatic OAuth, hebben alleen de MCP-URL nodig:

https://app.cortena.ai/api/mcp

De assistent registreert zichzelf, verkrijgt automatisch een Client ID en Secret en voltooit het inloggen bij Cortena en de configuratie van de connector in de browser. Je hoeft OAuth-sleutels niet handmatig te plakken. Automatisch geregistreerde clients worden nog steeds weergegeven onder Instellingen → MCP-toegang (bèta) en kunnen daar op elk moment worden ingetrokken.

Voor Claude raden we de vermelde connector aan: Cortena FinOps in de Claude-directory (Verbinden → inloggen bij Cortena).

Handmatige OAuth-clients, met Client ID + Secret uit de instellingen, blijven beschikbaar voor assistenten die geen DCR gebruiken.

2. Wie verbinding kan maken

Alleen personen die al een Cortena-gebruikersaccount hebben. Op deze interface is geen openbare zelfregistratie beschikbaar.

Toegang vereist:

  1. Een Cortena-gebruikersidentiteit, dezelfde login als voor de webapp.
  2. De tenantmachtiging MCP-toegang voor elke tenant die de connector mag gebruiken. Deze machtiging wordt door een tenantbeheerder verleend via Instellingen → Gebruikersmachtigingen.
  3. Een actieve MCP-client, aangemaakt in de instellingen of automatisch geregistreerd via DCR, waarvan de toegestane tenants die tenant bevatten.

De effectieve runtime-toegang is altijd:

connectorlimiet ∩ lidmaatschap van gebruikerstenant ∩ machtiging voor MCP-toegang ∩ Cortena-machtigingen per tool

Een verbinding kan slagen zonder overlap tussen tenants. In dat geval ziet de assistent geen tenantgebonden gegevens. cortena_user_list_tenants legt uit of je de machtigingen, de lijst met toegestane connectors of de verbinding opnieuw moet instellen.

Voor organisatieconnectors, bijvoorbeeld Claude, stelt een beheerder eenmalig de organisatiegrens in, bestaande uit toegangsmodus en toegestane tenants. Elke aanvullende gebruiker logt nog steeds in met het eigen Cortena-account en moet, als die gebruiker niet de eigenaar van de connector is, MCP-connectortoegang toestaan goedkeuren. De toegang wordt bepaald door de persoon, niet door de applicatie.

3. Omgaan met tokens

BeveiligingsmaatregelImplementatie
Access tokenBearer cortena_mcp_at_…, standaardlevensduur 14 dagen
Refresh tokenUitgegeven voor verbindingen met een authorization code, standaardlevensduur 30 dagen, wordt bij gebruik geroteerd
MCP HTTP-sessieIn-memory sessie-id, standaard 24 uur; automatisch hersteld zolang het access token geldig blijft
TransportAlleen HTTPS
IntrekkingInstellingen → MCP-toegang → Intrekken markeert de client als inactief. Het volgende verzoek mislukt bij de authenticatie

Machtigingen liggen niet voor altijd vast bij het inloggen. Bij elke aanroep controleert Cortena opnieuw de referentie, de verbonden gebruiker, de toegestane tenants, de toegangsmodus en de lijst met toegestane tools. Het verwijderen van MCP-toegang, het verwijderen van lidmaatschap van een tenant of het intrekken van de client wordt bij het volgende verzoek van kracht.

4. Toegangsmodi: alleen lezen versus lezen + schrijven

Elke MCP-client heeft een toegangsmodus die bij het aanmaken of instellen van een organisatieconnector wordt bepaald:

ToegangsmodusWat de assistent kan doen
Alleen lezenAlleen tools voor weergeven en lezen. Schrijftools worden niet geregistreerd en kunnen niet worden aangeroepen.
Lezen + schrijvenLeestools plus acties voor workflows voor voorbereiden en toepassen, uploaden van inkoopfacturen en schrijven van supporttickets, nog steeds afhankelijk van Cortena-machtigingen.

Met Geavanceerd: tools en resources kun je verder beperken welke tools en documentatieresources een client beschikbaar maakt. Als je geen aangepaste lijst opgeeft, zijn "alle tools die voor die toegangsmodus zijn toegestaan" beschikbaar.

Leestools, voor beide modi tenzij aangepast beperkt

GebiedVoorbeelden
Identiteit en tenantsEffectieve tenants weergeven, machtigingen ophalen, tenantmetadata
FacturenLijsten en zoekopdrachten, één factuur ophalen, overzicht exporteren, filters weergeven, deep links
WorkflowsCatalogus, nodetypen, workflowstatus per factuur
PulseDashboardstatistieken, met dezelfde functie- en machtigingscontroles als in de webapp
DATEV-proefbalansStatus en gepagineerde rijen met saldi en totalen die al met Cortena zijn gesynchroniseerd
BoekingenDimensies, status, lijst, totalen, transactiedetails voor gesynchroniseerde ERP-historie, vereist Boekingen bekijken
SupportSupporttickets van tenants weergeven en ophalen, vereist Supporttickets bekijken

Schrijftools, alleen voor lezen + schrijven

Mutaties van facturen en workflows worden nooit in één stille stap uitgevoerd:

  1. Voorbereiden (cortena_invoice_approve, cortena_invoice_review, cortena_invoice_update_service_accrual of cortena_change_prepare) retourneert een samenvatting in gewone taal, humanSummary, en een confirmationToken.
  2. Je bevestigt dit expliciet in de chat.
  3. Toepassen (cortena_change_commit met userConfirmed: true) voert de wijziging uit via dezelfde Cortena-API's als de webinterface.

Voorbereide wijzigingen verlopen na 15 minuten. De momenteel ondersteunde voorbereidingsbewerkingen zijn goedkeuren, controle voltooien, afwijzen met reden en de From/To-datums van de serviceperiode van een regel bijwerken, wanneer de functie voor boekingsvoorstellen voor overlopende kosten is ingeschakeld en de gebruiker Factuurregeldetails bewerken heeft.

Uitzonderingen voor schrijven, zonder stap voor voorbereiden en toepassen omdat de gebruikersactie al expliciet is:

  • Inkoopfacturen uploaden (cortena_invoices_upload): dezelfde verwerkingspipeline als bij handmatig uploaden in de interface. Vereist Facturen toevoegen.
  • Supportticketbewerkingen voor aanmaken, beantwoorden, sluiten, heropenen en koppelen: vereisen de bijbehorende supportmachtigingen.

Een token met toegang voor lezen + schrijven werkt nog steeds niet zonder de onderliggende Cortena-machtiging. Een upload zonder Facturen toevoegen mislukt bijvoorbeeld.

5. Verbonden boekhoudsystemen, wat MCP wel en niet kan wijzigen

MCP communiceert met Cortena. Het opent geen live schrijfkanaal naar je boekhoudsysteem.

VerbindingRichting in CortenaVia MCP
DATEV Datenservice Export RechnungswesenAlleen-lezen inkomende synchronisatie naar Cortena, met boekjaren, rekeningschema, boekingshistorie, saldi en totalen / proefbalansAssistenten kunnen de al gesynchroniseerde proefbalans en boekingshistorie in Cortena lezen. MCP kan geen DATEV-synchronisatie starten en kan via Datenservice Export geen gegevens naar DATEV uploaden of pushen.
DATEV Buchungsdatenservice (EXTF / documenten)Uitgaande export van boekingsklare batches vanuit Cortena naar DATEVNiet beschikbaar als MCP-tool. "Verzenden naar DATEV" blijft uitsluitend beschikbaar in de Cortena-webapplicatie en het bijbehorende auditlog.
Twinfield / Exact Online boekingshistorieGesynchroniseerd met Cortena voor rapportageMCP kan gesynchroniseerde boekingen lezen als de gebruiker Boekingen bekijken heeft. MCP boekt niet naar deze systemen en exporteert er ook niet naartoe.
Upload van inkoopfacturenBestanden komen in Cortena terecht, S3 → extractie → factuurwerkruimteAlleen toegestaan met lezen + schrijven + Facturen toevoegen. Dit stuurt geen facturen naar DATEV of een ander grootboek.

Kort samengevat voor DATEV Datenservice Export Rechnungswesen: dit is een alleen-lezen API-verbinding van DATEV naar Cortena. Door een assistent te verbinden krijgt die assistent, of Cortena via MCP, geen mogelijkheid om via deze interface boekingen naar DATEV te schrijven, uploaden of pushen.

6. Toegangsmodel

De toegang weerspiegelt de bestaande Cortena-machtigingen van de gebruiker. Door een assistent te verbinden ontstaan geen nieuwe rechten voor facturen, workflows of boekhouding.

LaagControles
MCP-clientlimietToegestane tenants, read_only / read_write, optionele lijst met toegestane tools
MCP-toegangOf de gebruiker MCP überhaupt op een tenant mag gebruiken
App-machtigingenDezelfde controles als in de webapp, zoals Facturen toevoegen, Boekingen bekijken, workflowgeschiktheid, supportmachtigingen en dergelijke
WorkflowgeschiktheidGoedkeuren en controleren alleen wanneer de gebruiker de huidige stap in de interface kan voltooien

Toegang tussen klanten is niet mogelijk. Elke tenantgebonden aanroep wordt aan de serverzijde beperkt tot de bovenstaande doorsnede.

De effectieve controlepunten voor beheerders zijn: wie een Cortena-account heeft, wie MCP-toegang heeft, welke tenants en toegangsmodus elke connector toestaat en wanneer een client moet worden ingetrokken.

7. Waar de gegevens naartoe gaan nadat een assistent is verbonden

Dit betreft de relatie van de klant met de eigen AI-leverancier, niet die van Cortena. We raden aan dit expliciet te beoordelen:

Gegevens die uit Cortena worden opgehaald, worden overgedragen aan de verbonden assistent. De provider ontvangt deze gegevens op basis van de eigen overeenkomst en voorwaarden voor gegevensverwerking van de klant met die provider. Cortena is voor dat deel geen verwerkingsverantwoordelijke of verwerker en kan geen voorwaarden opleggen voor bewaartermijnen, opslag of training.

De beheerder van de klant bepaalt de activering in de organisatie-instellingen van de assistent en beslist welke gebruikers verbinding mogen maken. De eigen subverwerkers van Cortena zijn gedocumenteerd onder Subverwerkers.

8. Logging en offboarding

Levenscyclus van referenties

Cortena registreert belangrijke MCP-toegangsgebeurtenissen die aan een individuele gebruiker zijn toe te schrijven, niet aan een gedeeld serviceaccount, waaronder:

  • Referentie / client aangemaakt
  • Gebruiker verbonden, via inloggen met authorization code
  • Client ingetrokken, verbinding verbroken

Payloads bevatten de gebruikersidentiteit, referentie-id, OAuth-client-id, label, toegangsmodus en toegestane tenants.

Elke schrijfactie

Schrijfacties verlopen via dezelfde bedrijfs-API's als de webapplicatie en verschijnen in het Activiteit-overzicht van de factuur (Auditlog):

ActieAuditgedrag
Goedkeuren / controleren / afwijzen / serviceperiode, na toepassenActiviteitsvermelding bij de factuur voor de echte gebruiker, met initiatorkanaal mcp en een verwijzing naar de MCP-referentie
Upload van inkoopfacturenDezelfde import- en verwerkingshistorie als bij handmatig uploaden. De oorsprong van de upload is standaard mcp
Bewerkingen van supportticketsDezelfde supporttickethistorie als in de webinterface

Voorbereide maar niet toegepaste wijzigingen worden alleen opgeslagen als records waarvoor nog bevestiging nodig is, met een vervaltijd van 15 minuten. Ze wijzigen geen facturen voordat ze zijn toegepast.

Gebruikstellers per client, zoals laatste gebruik en het aantal aanroepen per tool, worden op de MCP-client opgeslagen voor operationele zichtbaarheid. Ze vervangen niet het Activiteitsoverzicht van de factuur.

Offboarding

ActieEffect
De MCP-client intrekken via InstellingenDe client wordt inactief, tokens mislukken bij het volgende verzoek en vernieuwen voor die client mislukt
MCP-toegang verwijderenDe tenant valt buiten de in aanmerking komende set. Tenantgebonden tools retourneren forbidden
De gebruiker uit de tenant verwijderenDe lidmaatschapscontrole mislukt bij de volgende aanroep
Client ID / Secret roteren na een lekBehandel dit als intrekken en opnieuw aanmaken

9. Expliciete beperkingen, bèta

Het volgende is momenteel niet beschikbaar via de MCP-server voor gebruikers:

  • Bankkoppelingen en tools voor banktransacties
  • Treasury- en betalingsbatchuitvoering
  • Triggers voor boekhouduitvoer, zoals DATEV Buchungsdatenservice, Exact, Twinfield en vergelijkbare acties voor "verzenden naar grootboek"
  • De meeste bewerkingen van factuurvelden buiten workflowstappen en serviceperiode-datums
  • Bulk toepassen van meerdere facturen
  • Gebruikers- of tenantbeheer en het verbinden of verbreken van integraties
  • Het starten van DATEV Datenservice Export-synchronisaties
  • Elke push of upload naar DATEV via Datenservice Export Rechnungswesen

10. Contact

Voor stappen voor het instellen van de connector, zie MCP-server.