← Cloudflare One / cloudflare-one / access-controls / ai-controls
Zabezpečení serverů MCP
Můžete zabezpečit Servery Model Context Protocol (MCP) ↗ s Cloudflare Access. Vyberte přístup podle toho, kdo spravuje kód serveru MCP a hostname:
| Přístup | Vhodné pro | Auth zajišťuje |
|---|---|---|
| MCP server třetí strany spravovaný zákazníkem | Kód serveru MCP třetí strany běžící na hostname, který spravujete v Cloudflare | MCP server třetí strany |
| MCP server třetí strany spravovaný SaaS | Servery MCP třetích stran hostované poskytovatelem, které podporují nastavení identity OAuth nebo OIDC dodané zákazníkem | Server MCP třetí strany s Access jako poskytovatelem OIDC |
MCP server třetí strany spravovaný zákazníkem
Toto nastavení použijte, pokud server MCP běží na hostname, který spravujete v Cloudflare, ale kód serveru je spravován třetí stranou a již zpracovává vlastní tok OAuth. V tomto nastavení nezapínejte Access Managed OAuth. Zároveň není třeba přidávat hostname serveru MCP jako veřejný hostname do vygenerované aplikace Access.
- Ujistěte se, že hostname serveru MCP má Stav proxy zapnuté ve službě Cloudflare DNS.
- V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Ovládací prvky AI.
- Přejděte na MCP servery kartě.
- Vyberte Přidejte server MCP.
- Zadejte název serveru.
- V HTTP URL, zadejte URL adresu serveru MCP včetně cesty MCP. Například
https://mcp.example.com/mcp. - Nakonfigurujte Zásady Access definovat uživatele, kteří mohou používat server MCP.
-
Nakonfigurujte, jak se budou uživatelé ověřovat:
Vyberte poskytovatelé identity chcete povolit pro svou aplikaci.
(Doporučeno) Pokud plánujete povolit přístup pouze přes jednoho poskytovatele IdP, zapněte Použít okamžité ověřování. Koncovým uživatelům se nezobrazí Přihlašovací stránka Cloudflare Access. Cloudflare místo toho přesměruje uživatele přímo na vaše přihlášení přes SSO.
- (Volitelné) Zapněte Ověření pomocí Cloudflare One Client a umožněte uživatelům ověřit se v aplikaci pomocí jejich Identita relace Cloudflare One Client.
- Vyberte Uložit a připojit server.
- Pokud vás MCP server vyzve k ověření, dokončete proces OAuth třetí strany.
MCP server třetí strany spravovaný SaaS
Toto nastavení použijte, pokud je server MCP hostován třetí stranou a umožňuje vám nakonfigurovat vlastního poskytovatele identity OAuth nebo OIDC. V tomto nastavení server MCP implementuje tok autorizačního kódu OAuth vůči Cloudflare Access a přijímá access_token který může použít k volání navazujících služeb.
Tento návod používá vzdálený server MCP na Cloudflare Workers k zobrazení nastavení Access for SaaS. U serveru spravovaného přes SaaS postupujte podle pokynů poskytovatele k nastavení a použijte hodnoty Access for SaaS vytvořené v Krok 2. Když se uživatelé připojí k serveru MCP pomocí klienta MCP, budou vyzváni k přihlášení do vašeho poskytovatel identity a přístup jim je udělen pouze tehdy, pokud projdou vaším Zásady Access.
Předpoklady
- Vytvořte Organizace Zero Trust.
- Nakonfigurujte Jednorázový PIN nebo připojit poskytovatele třetí strany poskytovatel identity.
1. Nasaďte ukázkový server MCP
Chcete-li nasadit náš příklad serveru MCP ↗ do vašeho účtu Cloudflare:
-
Vyberte následující tlačítko a spusťte tak rychlý úvodní postup:
-
Vyberte účet, který obsahuje vaši organizaci Zero Trust.
-
Na Vytvořit aplikaci stránce nakonfigurujte následující pole:
- Účet Git: Vyberte existující účet nebo připojte nový účet GitHub či GitLab.
- Vytvořit soukromé úložiště Git: Vyberte, zda má být repozitář projektu veřejný, nebo soukromý.
- Název projektu:
mcp-server-cf-access - Vyberte KV namespace: Vytvořit nové
- Pojmenujte svůj KV namespace:
OAUTH_KV
Nakonfigurujeme
ACCESS_CLIENT_IDa další tajné hodnoty v dalším kroku. -
Vyberte Vytvořit a nasadit.
Server MCP bude nasazen do vašeho *.workers.dev subdoménu na mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev. Ve vašem účtu GitHub nebo GitLab se pro váš server MCP vytvoří nový git repozitář, který se nakonfiguruje tak, aby se automaticky nasazoval do Cloudflare při každém push změny nebo sloučení pull requestu do hlavní větve repozitáře.
Můžete použít Wrangler CLI vytvořit MCP server na svém místním počítači a nasadit ho do Cloudflare.
-
Otevřete terminál a naklonujte náš ukázkový projekt:
npm create cloudflare@latest -- mcp-server-cf-access --template=cloudflare/ai/demos/remote-mcp-cf-accessBěhem nastavení vyberte následující možnosti: - Pro Chcete přidat soubor AGENTS.md, který pomůže nástrojům pro AI programování pochopit rozhraní Cloudflare API?, vyberte
No. - Pro Chcete používat git pro správu verzí?, vyberteNo. - Pro Chcete nasadit svou aplikaci?, vyberteNo(před nasazením provedeme ještě několik změn). -
Přejděte do adresáře projektu:
cd mcp-server-cf-access -
Vytvořte Workers KV namespace k uložení klíče. Název vazby by měl být
OAUTH_KV, pokud chcete spustit příklad tak, jak je napsaný.npx wrangler kv namespace create "OAUTH_KV"Příkaz vypíše název vazby a ID KV namespace:
{ "kv_namespaces": [ { "binding": "OAUTH_KV", "id": "<YOUR_KV_NAMESPACE_ID>" } ] } -
Otevřete
wrangler.jsoncv editoru a vložte svůjOAUTH_KVID namespace:"kv_namespaces": [ { "binding": "OAUTH_KV", "id": "<YOUR_KV_NAMESPACE_ID>" } ], -
Nyní můžete Worker nasadit do globální sítě Cloudflare:
npx wrangler deploy
Worker bude nasazen do vašeho *.workers.dev subdoménu na mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev.
2. Vytvořte aplikaci Access for SaaS
-
V Cloudflare dashboard ↗, přejděte na Zero Trust > Řízení přístupu > Aplikace.
-
Vyberte Vytvořit novou aplikaci.
-
Vyberte Aplikace SaaS.
-
V Aplikace, zadejte vlastní název (například
MCP server) a vyberte textové pole, které se zobrazí níže. -
Vyberte OIDC jako autentizační protokol.
-
Vyberte Přidat aplikaci.
-
V Přesměrovací adresy URL, zadejte autorizační callback URL svého serveru MCP. Callback URL pro náš příklad serveru MCP je
https://mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev/callback. -
Zkopírujte následující hodnoty pro zadání do našeho ukázkového serveru MCP. Jiné servery MCP mohou vyžadovat odlišné sady vstupních hodnot.
- Client secret
- Client ID
- Token endpoint
- Autorizační endpoint
- Klíčový endpoint
-
(Volitelné) V části Pokročilá nastavení, zapněte Obnovovací tokeny, pokud chcete snížit počet přihlášení, které musí uživatel provést u poskytovatele identity.
-
Nakonfigurujte Zásady Access definovat uživatele, kteří mají přístup k serveru MCP.
-
Nakonfigurujte, jak se budou uživatelé ověřovat:
Vyberte poskytovatelé identity chcete povolit pro svou aplikaci.
(Doporučeno) Pokud plánujete povolit přístup pouze přes jednoho poskytovatele IdP, zapněte Použít okamžité ověřování. Koncovým uživatelům se nezobrazí Přihlašovací stránka Cloudflare Access. Cloudflare místo toho přesměruje uživatele přímo na vaše přihlášení přes SSO.
- (Volitelné) Zapněte Ověření pomocí Cloudflare One Client a umožněte uživatelům ověřit se v aplikaci pomocí jejich Identita relace Cloudflare One Client.
-
Vyberte Vytvořit.
-
Vytvořte
POSTpožadavek na Aplikace Access koncový bod:
Alespoň jeden z následujících oprávnění tokenu je povinné:Požadovaná oprávnění API tokenu
Access: Apps and Policies Write
Přidejte aplikaci Accesscurl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/access/apps" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "MCP server", "type": "saas", "saas_app": { "auth_type": "oidc", "redirect_uris": [ "https://mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev/callback" ], "grant_type": [ "authorization_code", "refresh_tokens" ], "refresh_token_options": { "lifetime": "90d" } }, "policies": [ "f174e90a-fafe-4643-bbbc-4a0ed4fc8415" ], "allowed_idps": [] }' -
Zkopírujte
client_idaclient_secretvrácená v odpovědi. -
Sestavit URL adresy endpointu OAuth pomocí svých název týmu a
client_idvrácená v odpovědi:Endpoint URL Token endpoint https://<TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<CLIENT_ID>/tokenAutorizační endpoint https://<TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<CLIENT_ID>/authorizationKlíčový endpoint https://<TEAM_NAME>.cloudflareaccess.com/cdn-cgi/access/sso/oidc/<CLIENT_ID>/jwks
3. Nakonfigurujte server MCP
Váš server MCP musí provést autorizační tok OAuth 2.0, aby získal access_token z aplikace SaaS vytvořené v Krok 2. Při nastavování klienta OAuth na svém serveru MCP budete muset vložit endpointy OAuth a přihlašovací údaje z aplikace Access for SaaS.
Chcete-li přidat OAuth endpointy a přihlašovací údaje do našeho příklad serveru MCP:
-
V Cloudflare dashboard ↗, přejděte do Workers & Pages stránce.
Přejděte na Workers & Pages ↗ -
Vyberte
mcp-server-cf-accessWorker. -
Přejděte na Nastavení.
-
V části Proměnné a tajné klíče, u každého tajného klíče aktualizujte hodnotu na odpovídající hodnotu získanou z Aplikace Access for SaaS.
Workers secret Pole aplikace SaaS ACCESS_CLIENT_IDClient ID ACCESS_CLIENT_SECRETClient secret ACCESS_TOKEN_URLToken endpoint ACCESS_AUTHORIZATION_URLAutorizační endpoint ACCESS_JWKS_URLKlíčový endpoint -
Pro
COOKIE_ENCRYPTION_KEY, pomocí následujícího příkazu můžete vygenerovat náhodný řetězec:openssl rand -hex 32Zadejte výstup tohoto příkazu do
COOKIE_ENCRYPTION_KEY.
-
Vytvořte následující Workers secrets:
npx wrangler secret put ACCESS_CLIENT_ID npx wrangler secret put ACCESS_CLIENT_SECRET npx wrangler secret put ACCESS_TOKEN_URL npx wrangler secret put ACCESS_AUTHORIZATION_URL npx wrangler secret put ACCESS_JWKS_URL -
Až budete vyzváni k zadání tajné hodnoty, vložte odpovídající hodnoty získané z Aplikace Access for SaaS.
Workers secret Pole aplikace SaaS ACCESS_CLIENT_IDClient ID ACCESS_CLIENT_SECRETClient secret ACCESS_TOKEN_URLToken endpoint ACCESS_AUTHORIZATION_URLAutorizační endpoint ACCESS_JWKS_URLKlíčový endpoint -
Vygenerujte náhodný řetězec pro šifrovací klíč cookie:
openssl rand -hex 32Výstup tohoto příkazu uložte jako Workers secret:
npx wrangler secret put COOKIE_ENCRYPTION_KEY
4. Otestujte připojení
Nyní se můžete připojit ke svému serveru MCP na https://mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev/mcp pomocí Workers AI Playground ↗, MCP inspector ↗, nebo další klienti MCP které podporují vzdálené servery MCP.
Chcete-li otestovat ve Workers AI Playground:
-
Přejděte na Workers AI Playground ↗.
-
V části MCP Servers, zadejte
https://mcp-server-cf-access.<YOUR_SUBDOMAIN>.workers.dev/mcppro adresu URL serveru MCP. -
Vyberte Připojit.
-
Zobrazí se vyskakovací okno s žádostí o přístup k serveru MCP. Vyberte Schválit.
-
Podle zobrazených pokynů se přihlaste u svého poskytovatele identity.
Workers AI Playground zobrazí Připojeno stavu. Server MCP by měl úspěšně získat access_token ze služby Cloudflare Access.
Další kroky
Chcete-li serveru MCP umožnit odesílat jménem uživatele autentizované požadavky na jiné self-hosted aplikace, vytvořte Linked App Token zásadu na navazující aplikaci. Server MCP předává Cf-Access-Jwt-Assertion hlavičku, kterou obdrží od Access, jako Cf-Access-Token hlavičku navazující aplikaci.