Välj transporten medvetet
En lokal stdio-server och en fjärransluten HTTP-tjänst har olika distributionsbehov. Använd en transport som stöds för fjärranslutning, TLS och en autentiserad rutt. Kontrollera klient- och serverversionerna i stället för att anta att varje implementering stöder samma funktioner.
Behandla varje verktyg som en API
Validera argument, tillämpa användarspecifik auktorisering och begränsa resurser. Exponera inte godtycklig shell-körning som ett bekvämlighetsverktyg. Begränsa utgående destinationer där ett verktyg hämtar URL och håll hemligheter borta från beskrivningar och svar.
Håll identitetsinsamlingen proportionerlig
En värd utan KYC kan minimera leverantörens registreringsdata, men MCP-tjänsten kan ändå behöva egna användare, sessionssäkerhet och missbruksskydd. Förklara vad den loggar och undvik att behålla verktygsindata utan ett definierat syfte.
Driftsätt för operativ tydlighet
Kör under en dedikerad användare, använd hälsokontroller, begränsa svarstider och håll omvänd proxy-buffring och timeouts kompatibla med protokollet. Testa autentisering, återkallande, frånkopplingar och återförsök innan du beviljar skrivbehörighet.
Anpassa autentiseringen till den protokoll som stöds
För en HTTP-baserad MCP-distribution, granska protokollets aktuella auktoriseringskrav och klientens version som stöds. OAuth-baserad resursåtkomst innefattar tokenmålgrupp, upptäckt och omfattning, inte bara ett lösenord på startsidan. Använd HTTPS, validera tokens för den avsedda resursen och håll bearer-uppgifter borta från frågesträngar. En stdio-server använder en annan lokal autentiseringsgräns.
- Testa en oautentiserad begäran
- Testa en autentiserad begäran utanför dess omfång
- Återkalla en inloggningsuppgift och verifiera att den slutar fungera
Officiell dokumentation: MCP auktorisationsspecifikation
Publicera en begränsad första verktygsuppsättning
Börja med skrivskyddade verktyg som returnerar en begränsad mängd data. Lägg till filskrivningar, åtgärder för serverlivscykel eller externa meddelanden först när deras behörigheter och dubblettbeteende är förstådda. Behandla returnerade webbsidor och dokument som obetroget indata; de får inte tyst utöka verktygsserverns befogenheter.
Lås protokollbeteendet innan du skriver proxyregler
Registrera både serverns SDK-version och den MCP-revision som klienten kommer att använda. I 2026-07-28 Streamable HTTP-revisionen använder förfrågningar en POST-slutpunkt; äldre exempel som förlitar sig på protokollsessioner eller en fristående GET-ström är en annan revision. Ta inte bort ett uppenbart kompatibilitetskrav förrän du vet vilken klient du stöder. En omvänd proxy måste bevara de nödvändiga rubrikerna, HTTP-status och strömmande svarsbeteende för den versionen.
- Börja med ett skrivskyddat verktyg på en loopback-lyssnare och placera sedan den avsedda HTTPS/autentiseringsgränsen framför den.
- Testa ett normalt resultat, ett strömmande resultat, en timeout och en frånkopplad klient genom den offentliga proxyn.
- Validera tillåtna Origin-värden enligt vad transporten kräver; en Origin-kontroll ersätter inte autentisering av anroparen.
- Om händelser endast anländer i slutet, granska proxybuffring och tidsgränsbeteende innan du ändrar verktygskoden.
Officiell dokumentation: MCP 2026-07-28: Streamable HTTP
Testa auktoriseringsfel lika medvetet som framgång
För OAuth-skyddad HTTP-åtkomst är MCP-servern en skyddad resurs. Testa metadatasökning, förväntad utgivare och tokenmålgrupp samt de scopes som behövs för en viss åtgärd. Håll auktoriseringstoken borta från URL-frågesträngar och vidarebefordra den aldrig oförändrad till en orelaterad nedströmsjänst. Ett klientriktat autentiseringsfel måste bevara lämplig HTTP-utmaning så att klienten kan återhämta sig via sitt stödda flöde.
- Ingen token eller en utgången token: den skyddade slutpunkten nekar åtkomst istället för att returnera privata verktygsdata.
- Giltig token med otillräcklig behörighet: den begärda resursen förblir otillgänglig.
- Token för en annan målgrupp: avvisa den även om signaturen i övrigt är giltig.
- Oväntad extern URL eller filsökväg: validera mot verktygets behörighet innan hämtning eller skrivning.
- Loggar och felspårningar: behåll en åtgärdsidentifierare och ett utfall medan du tar bort tokens och privata verktygsindata.
Officiell dokumentation: MCP 2026-07-28: HTTP-auktorisering · MCP: bästa praxis för säkerhet