Sadyang piliin ang transport
Ang lokal na stdio server at remote na serbisyong HTTP ay may magkaibang pangangailangan sa deployment. Gumamit ng sinusuportahang remote transport, TLS at authenticated na ruta. Suriin ang mga bersyon ng client at server sa halip na ipagpalagay na sinusuportahan ng bawat implementasyon ang parehong mga kakayahan.
Ituring ang bawat tool bilang isang API
I-validate ang mga argumento, ipatupad ang awtorisasyon na partikular sa user at limitahan ang mga resource. Huwag ilantad ang arbitrary na shell execution bilang tool na pang-kaginhawahan. Limitahan ang mga outbound na destinasyon kung saan kumukuha ang isang tool ng mga URL at ilayo ang mga secret sa mga paglalarawan at tugon.
Panatilihing proporsyonal ang pagkolekta ng identity
Ang no-KYC host ay maaaring mabawasan ang provider signup data, ngunit maaaring kailanganin pa rin ng MCP service ang sarili nitong mga user, session security at abuse control. Ipaliwanag kung ano ang nila-log nito at iwasang panatilihin ang tool input nang walang tinukoy na layunin.
I-deploy para sa kalinawan ng operasyon
Patakbuhin sa ilalim ng dedicated user, gumamit ng health check, limitahan ang request time at panatilihing compatible sa protocol ang buffering at timeout ng reverse proxy. Subukan ang authentication, revocation, disconnect at retry bago magbigay ng write privilege.
Ihanay ang authentication sa sinusuportahang protocol
Para sa isang HTTP-based na MCP deployment, suriin ang kasalukuyang mga kinakailangan sa awtorisasyon ng protocol at ang sinusuportahang bersyon ng client. Ang pag-access sa resource na batay sa OAuth ay may kinalaman sa token audience, discovery at scope, hindi lamang password sa homepage. Gumamit ng HTTPS, i-validate ang mga token para sa nilalayong resource at ilayo ang bearer credentials sa query strings. Ang stdio server ay gumagamit ng ibang lokal na hangganan ng kredensyal.
- Subukan ang isang unauthenticated na request
- Subukan ang authenticated na request sa labas ng saklaw nito
- Bawiin ang isang kredensyal at tiyakin na tumigil ito sa paggana
Opisyal na dokumentasyon: espesipikasyon ng awtorisasyon ng MCP
Mag-publish ng limitadong unang toolset
Magsimula sa mga read-only na tool na nagbabalik ng limitadong dami ng data. Magdagdag ng file writes, server lifecycle operations o external messages kapag nauunawaan na ang mga pahintulot at duplicate na pag-uugali nito. Ituring ang mga ibinalik na web page at dokumento bilang hindi pinagkakatiwalaang input; hindi dapat nila tahimik na palawakin ang awtoridad ng tool server.
I-pin ang pag-uugali ng protocol bago magsulat ng mga proxy rule
Itala kapwa ang server SDK release at ang MCP revision na gagamitin ng client. Sa 2026-07-28 Streamable HTTP revision, gumagamit ang mga request ng POST endpoint; ang mas lumang mga halimbawang umaasa sa protocol sessions o standalone GET stream ay ibang revision. Huwag alisin ang tila kinakailangan sa compatibility hanggang malaman mo kung aling client ang sinusuportahan mo. Dapat panatilihin ng reverse proxy ang mga kinakailangang header, HTTP status at response streaming behaviour para sa bersyong iyon.
- Magsimula sa isang read-only tool sa isang loopback listener, pagkatapos ay ilagay ang nilalayong HTTPS/authentication boundary sa harap nito.
- Subukan ang normal na resulta, streaming na resulta, timeout at disconnected na client sa pamamagitan ng public proxy.
- I-validate ang mga pinapayagang halaga ng Origin ayon sa hinihingi ng transport; ang pagsusuri ng Origin ay hindi kapalit ng pag-authenticate sa tumatawag.
- Kung dumarating lamang ang mga event sa dulo, suriin ang proxy buffering at timeout na pag-uugali bago baguhin ang tool code.
Opisyal na dokumentasyon: MCP 2026-07-28: Streamable HTTP
Subukan ang mga kabiguan sa authorization nang kasing-sinsadya ng tagumpay
Para sa HTTP access na pinoprotektahan ng OAuth, ang MCP server ay isang protected resource. Subukan ang metadata discovery, ang inaasahang issuer at token audience, at ang mga scope na kailangan para sa isang partikular na operasyon. Panatilihing wala ang authorization token sa mga URL query string at huwag kailanman itong ipasa nang hindi binago sa isang walang kaugnayang downstream service. Ang isang client-facing authentication failure ay dapat mapanatili ang naaangkop na HTTP challenge upang makabawi ang client sa pamamagitan ng sinusuportahang flow nito.
- Walang token o expired na token: tinatanggihan ng protektadong endpoint ang access sa halip na ibalik ang pribadong tool data.
- Valid na token na may kulang na pahintulot: nananatiling hindi ma-access ang hiniling na resource.
- Token para sa ibang audience: tanggihan ito kahit wasto ang signature nito sa ibang aspeto.
- Hindi inaasahang panlabas na URL o file path: i-validate laban sa awtoridad ng tool bago kunin o isulat.
- Mga log at error trace: panatilihin ang operation identifier at resulta habang inaalis ang mga token at pribadong input ng tool.
Opisyal na dokumentasyon: MCP 2026-07-28: HTTP authorization · MCP: pinakamahusay na kasanayan sa seguridad