PRIVATE INFRASTRUCTUUR / GEEN ID NODIGLees de privacydoctrine
De KoalaVPS-veldnotities

Een externe MCP-server met een duidelijke vertrouwensgrens.

Model Context Protocol verbindt clients met tools en resources. Het veilig hosten ervan betekent beheren wie die tools kan aanroepen en wat elke aanroep kan doen.

Kies het transport bewust

Een lokale stdio-server en een externe HTTP-dienst hebben verschillende implementatiebehoeften. Gebruik een ondersteund extern transport, TLS en een geauthenticeerde route. Controleer de client- en serverversies in plaats van aan te nemen dat elke implementatie dezelfde mogelijkheden ondersteunt.

Behandel elk hulpmiddel als een API

Valideer argumenten, handhaaf gebruikersspecifieke autorisatie en beperk resources. Stel willekeurige shell-uitvoering niet beschikbaar als gemakstool. Beperk uitgaande bestemmingen waar een tool URLs ophaalt en houd geheimen buiten beschrijvingen en reacties.

Houd identiteitsverzameling proportioneel

Een host zonder KYC kan de aanmeldgegevens bij de provider minimaliseren, maar de MCP-dienst kan nog steeds eigen gebruikers, sessiebeveiliging en misbruikbeheersing nodig hebben. Leg uit wat er wordt gelogd en vermijd het bewaren van toolinvoer zonder een gedefinieerd doel.

Implementeer voor operationele duidelijkheid

Draai onder een toegewezen gebruiker, gebruik health checks, begrens aanvraagtijden en houd buffering en time-outs van de reverse proxy compatibel met het protocol. Test authenticatie, intrekking, verbindingen en herhaalpogingen voordat je schrijfrechten verleent.

Stem authenticatie af op het ondersteunde protocol

Voor een op HTTP gebaseerde MCP-implementatie, bekijk de huidige autorisatievereisten van het protocol en de ondersteunde versie van de client. OAuth-gebaseerde resourcetoegang omvat tokenpubliek, discovery en scope, niet simpelweg een wachtwoord op de homepage. Gebruik HTTPS, valideer tokens voor de beoogde resource en houd bearer-referenties buiten querystrings. Een stdio-server gebruikt een andere lokale referentiegrens.

  • Test een niet-geauthenticeerd verzoek
  • Test een geauthenticeerd verzoek buiten zijn bereik
  • Trek een credential in en controleer dat deze niet meer werkt

Publiceer een beperkte eerste toolset

Begin met alleen-lezen tools die een begrensde hoeveelheid gegevens retourneren. Voeg bestandsschrijfacties, serverlevenscyclusbewerkingen of externe berichten pas toe nadat hun machtigingen en dubbel gedrag zijn begrepen. Behandel geretourneerde webpagina's en documenten als niet-vertrouwde invoer; ze mogen de autoriteit van de toolserver niet stilzwijgend uitbreiden.

Leg het protocolgedrag vast voordat je proxyregels schrijft

Leg zowel de server-SDK-release als de MCP-revisie vast die de client gaat gebruiken. In de 2026-07-28 Streamable HTTP-revisie gebruiken verzoeken een POST-eindpunt; oudere voorbeelden die vertrouwen op protocolsessies of een losse GET-stream zijn een andere revisie. Verwijder een schijnbare compatibiliteitseis niet voordat je weet welke client je ondersteunt. Een reverse proxy moet de vereiste headers, HTTP-status en het streaminggedrag van responses voor die versie behouden.

  • Begin met een alleen-lezen tool op een loopback-listener en plaats vervolgens de beoogde HTTPS/authenticatiegrens ervoor.
  • Test een normaal resultaat, een streamingresultaat, een time-out en een losgekoppelde client via de publieke proxy.
  • Valideer toegestane Origin-waarden zoals vereist door het transport; een Origin-controle is geen vervanging voor het authenticeren van de aanroeper.
  • Als gebeurtenissen pas aan het einde aankomen, inspecteer proxybuffering en time-outgedrag voordat u toolcode wijzigt.

Test autorisatiefouten even bewust als succes

Voor OAuth-beveiligde HTTP-toegang is de MCP-server een beschermde resource. Test metadata-discovery, de verwachte issuer en token-audience, en de scopes die nodig zijn voor een bepaalde bewerking. Houd het autorisatietoken buiten URL-queryreeksen en stuur het nooit ongewijzigd door naar een niet-gerelateerde downstream-service. Een authenticatiefout aan de clientzijde moet de juiste HTTP-challenge behouden, zodat de client kan herstellen via de ondersteunde flow.

  • Geen token of een verlopen token: het beveiligde eindpunt weigert toegang in plaats van privégegevens van de tool te retourneren.
  • Geldig token met onvoldoende rechten: de gevraagde resource blijft ontoegankelijk.
  • Token voor een ander publiek: weiger het, zelfs als de handtekening verder geldig is.
  • Onverwacht extern URL of bestandspad: valideer tegen de autoriteit van het hulpmiddel voordat je ophaalt of schrijft.
  • Logs en fouttraces: bewaar een bewerkingsidentificatie en uitkomst en verwijder tokens en privé-invoer van tools.
CONFIGUREER JE INFRASTRUCTUUR

Neem de controle.
Deploy op jouw voorwaarden.

Geen identiteitspapieren. Volledige beheerderstoegang. Crypto-native facturering.