← Vytvářejte agenty na Cloudflare / agents / model-context-protocol / guides
Sestavte vzdálený server MCP
Tento návod ukazuje, jak nasadit vzdálený server MCP na Cloudflare pomocí Transport Streamable HTTP. Máte dvě možnosti:
- Bez ověřování : Kdokoli se může připojit a používat server (bez nutnosti přihlášení).
- S autentizace a autorizace : uživatelé se před přístupem k nástrojům přihlásí a vy můžete řídit, které nástroje smí agent volat, podle oprávnění daného uživatele.
Výběr přístupu
Agents SDK poskytuje více způsobů, jak vytvořit servery MCP. Vyberte přístup, který odpovídá vašemu případu použití:
| Přístup | Stavový? | Cesta protokolu | Vhodné pro |
|---|---|---|---|
createMcpHandler() |
Ne | bezstavové s kompatibilitou se staršími verzemi | Nové bezstavové nástroje |
createLegacyMcpHandler() |
Volitelné | starší | Dočasně existující WorkerTransport routy |
McpAgent |
Ano | starší | Zastaralé servery Durable Object a RPC |
| Surový transport SDK | Záleží na transportu | Záleží na balíčku SDK | Odpovědnost za vlastní transport |
Použijte createMcpHandler pro nový bezstavový server. Existující McpAgent bez starších stavových závislostí může migrovat přímo. Pokud využívá stav relace MCP, RPC, odesílané požadavky, streamy nebo přehrávání, naplánujte bezstavové ekvivalenty a během přechodu obsluhujte bezstavovou i starší dráhu. Více informací najdete v Migrovat na MCP SDK v2 pro postupné nasazení.
Nasaďte svůj první MCP server
Můžete začít nasazením veřejný server MCP ↗ bez ověřování a ověřování uživatelů i rozsahovou autorizaci přidejte až později. Pokud už víte, že váš server bude ověřování vyžadovat, můžete přeskočit rovnou na další část.
Pomocí dashboardu
Tlačítko níže vás provede vším, co je potřeba udělat k nasazení příklad serveru MCP ↗ do vašeho účtu Cloudflare:
Jakmile je server nasazený, bude dostupný na vaší workers.dev subdoménu (například remote-mcp-server-authless.your-account.workers.dev/mcp). Můžete se k němu okamžitě připojit pomocí AI Playground ↗ (vzdálený klient MCP), MCP inspector ↗ nebo další klienti MCP.
Pro váš server MCP se ve vašem účtu GitHub nebo GitLab nastaví nový git repozitář, který se nakonfiguruje tak, aby se automaticky nasazoval do Cloudflare při každém pushnutí změny nebo sloučení pull requestu do hlavní větve repozitáře. Tento repozitář si můžete naklonovat, vyvíjet lokálně, a začněte přizpůsobovat MCP server pomocí vlastních nástroje.
Prostřednictvím CLI
Můžete použít Wrangler CLI pro vytvoření nového MCP serveru na vašem lokálním počítači a jeho nasazení do Cloudflare.
-
Otevřete terminál a spusťte následující příkaz:
npm create cloudflare@latest -- remote-mcp-server-authless --template=cloudflare/ai/demos/remote-mcp-authlessBě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(server otestujeme před nasazením).Nyní máte nastavený MCP server s nainstalovanými závislostmi.
-
Přejděte do složky projektu:
cd remote-mcp-server-authless -
V adresáři nového projektu spusťte následující příkaz pro spuštění vývojového serveru:
npm start⎔ Starting local server... [wrangler:info] Ready on http://localhost:8788Zkontrolujte výstup příkazu a najděte v něm místní port. V tomto příkladu server MCP běží na portu
8788, a URL koncového bodu MCP jehttp://localhost:8788/mcp. -
Chcete-li server otestovat lokálně:
-
V novém terminálu spusťte MCP inspector ↗. MCP inspector je interaktivní klient MCP, který vám umožní připojit se k vašemu serveru MCP a volat nástroje přímo z webového prohlížeče.
npx @modelcontextprotocol/inspector@latest🚀 MCP Inspector is up and running at: http://localhost:5173/?MCP_PROXY_AUTH_TOKEN=46ab..cd3 🌐 Opening browser...MCP inspector se spustí ve vašem webovém prohlížeči. Můžete ho také spustit ručně tak, že otevřete prohlížeč a přejdete na
http://localhost:<PORT>. Ve výstupu příkazu zjistěte lokální port, na kterém běží MCP Inspector. V tomto příkladu je MCP Inspector dostupný na portu5173. -
Do MCP inspektoru zadejte URL adresu vašeho MCP serveru (
http://localhost:8788/mcp), a vyberte Připojit. Vyberte Vypsat nástroje k zobrazení nástrojů, které váš server MCP zpřístupňuje.
-
-
Nyní můžete nasadit svůj MCP server na Cloudflare. Z adresáře projektu spusťte:
npx wrangler@latest deployPokud jste již připojen git repozitář do Workeru s vaším MCP serverem: MCP server nasadíte odesláním změny nebo sloučením pull requestu do hlavní větve repozitáře.
Server MCP bude nasazen do vašeho
*.workers.devsubdoménu nahttps://remote-mcp-server-authless.your-account.workers.dev/mcp. -
Chcete-li otestovat vzdálený MCP server, vezměte URL adresu svého nasazeného MCP serveru (
https://remote-mcp-server-authless.your-account.workers.dev/mcp) a zadejte ho do MCP inspectoru běžícího nahttp://localhost:5173.
Nyní máte vzdálený server MCP, ke kterému se mohou připojit klienti MCP.
Připojení z klienta MCP přes lokální proxy
Nyní, když běží váš vzdálený MCP server, můžete použít mcp-remote lokální proxy ↗ pro připojení Claude Desktop nebo jiných MCP klientů, i když váš MCP klient nepodporuje vzdálený transport nebo autorizaci na straně klienta. Díky tomu si můžete vyzkoušet, jak bude interakce se vzdáleným MCP serverem vypadat se skutečným MCP klientem.
Například pro připojení z Claude Desktop:
-
Aktualizujte konfiguraci Claude Desktop tak, aby ukazovala na URL vašeho serveru MCP:
{ "mcpServers": { "math": { "command": "npx", "args": [ "mcp-remote", "https://remote-mcp-server-authless.your-account.workers.dev/mcp" ] } } } -
Restartujte Claude Desktop, aby se načetl Server MCP. Jakmile to uděláte, bude Claude moci volat váš vzdálený server MCP.
-
Pro otestování požádejte Claude, aby použil jeden z vašich nástrojů. Například:
Could you use the math tool to add 23 and 19?Claude by měl vyvolat nástroj a zobrazit výsledek vygenerovaný vzdáleným serverem MCP.
Chcete-li se dozvědět, jak používat vzdálené MCP servery s jinými MCP klienty, přejděte na Otestujte vzdálený server MCP.
Přidání autentizace
Příklad veřejného serveru MCP, který jste nasadili dříve, umožňuje jakémukoli klientovi připojit se a volat nástroje bez přihlášení. Chcete-li ke svému serveru MCP přidat ověřování uživatelů, můžete jako poskytovatele OAuth integrovat Cloudflare Access nebo službu třetí strany. Váš server MCP zajišťuje bezpečné přihlašovací postupy a vydává přístupové tokeny, které mohou klienti MCP použít k ověřeným voláním nástrojů. Uživatelé se přihlásí přes poskytovatele OAuth a udělí svému AI agentovi oprávnění pracovat s nástroji, které váš server MCP zpřístupňuje, a to pomocí rozsahových oprávnění.
Cloudflare Access OAuth
MCP server můžete nakonfigurovat tak, aby vyžadoval ověření uživatele přes Cloudflare Access. Cloudflare Access funguje jako agregátor identit a ověřuje e-maily uživatelů, signály z vašeho stávajícího poskytovatelé identity (například GitHub nebo Google) a dalších atributů, jako je IP adresa nebo certifikáty zařízení. Když se uživatelé připojí k serveru MCP, budou vyzváni k přihlášení u nakonfigurovaného poskytovatele identity a přístup jim bude udělen pouze v případě, že projdou vaší Zásady Access.
Podrobného průvodce nasazením najdete v Zabezpečení serverů MCP pomocí Access for SaaS.
OAuth třetích stran
Svůj MCP server můžete propojit s libovolným Poskytovatel OAuth která podporuje specifikaci OAuth 2.0, včetně GitHub, Google, Slack, Stytch, Auth0, WorkOS, a další.
Následující příklad ukazuje, jak použít GitHub jako poskytovatele OAuth.
Krok 1: Vytvoření nového serveru MCP
Spusťte následující příkaz pro vytvoření nového serveru MCP s GitHub OAuth:
npm create cloudflare@latest -- my-mcp-server-github-auth --template=cloudflare/ai/demos/remote-mcp-github-oauthNyní máte nastavený MCP server s nainstalovanými závislostmi. Přejděte do složky projektu:
cd my-mcp-server-github-authVšimnete si, že v ukázkovém serveru MCP, když otevřete src/index.ts, hlavní rozdíl spočívá v tom, že defaultHandler je nastaven na GitHubHandler:
import GitHubHandler from "./github-handler";
export default new OAuthProvider({
apiRoute: "/mcp",
apiHandler: MyMCP.serve("/mcp"),
defaultHandler: GitHubHandler,
authorizeEndpoint: "/authorize",
tokenEndpoint: "/token",
clientRegistrationEndpoint: "/register",
});Tím zajistíte, že jsou vaši uživatelé přesměrováni k ověření na GitHub. Aby to fungovalo, musíte v následujících krocích vytvořit klientské aplikace OAuth.
Krok 2: Vytvoření OAuth aplikace
Budete muset vytvořit dva GitHub OAuth Apps ↗ to use GitHub as an authentication provider for your MCP server, one for local development, and one for production.
Krok 2.1: Vytvoření nové OAuth aplikace pro lokální vývoj
-
Přejděte na github.com/settings/developers ↗ pro vytvoření nové OAuth aplikace s následujícím nastavením:
- Název aplikace:
My MCP Server (local) - URL domovské stránky:
http://localhost:8788 - Authorization callback URL:
http://localhost:8788/callback
- Název aplikace:
-
Pro OAuth app, kterou jste právě vytvořili, přidejte client ID této OAuth app jako
GITHUB_CLIENT_IDa vygenerovat client secret, který přidáte jakoGITHUB_CLIENT_SECRETna.envsoubor v kořenovém adresáři vašeho projektu, který se použije k nastavení secrets pro lokální vývoj.touch .env echo 'GITHUB_CLIENT_ID="your-client-id"' >> .env echo 'GITHUB_CLIENT_SECRET="your-client-secret"' >> .env cat .env -
Spusťte následující příkaz pro spuštění vývojového serveru:
npm startVáš server MCP nyní běží na
http://localhost:8788/mcp. -
V novém terminálu spusťte MCP inspector ↗. MCP inspector je interaktivní klient MCP, který vám umožní připojit se k vašemu serveru MCP a volat nástroje přímo z webového prohlížeče.
npx @modelcontextprotocol/inspector@latest -
Otevřete MCP inspector ve svém webovém prohlížeči:
open http://localhost:5173 -
V inspektoru zadejte URL adresu vašeho MCP serveru,
http://localhost:8788/mcp -
V hlavním panelu vpravo klikněte na OAuth Settings a poté klikněte na Rychlý OAuth flow.
Měli byste být přesměrováni na přihlašovací nebo autorizační stránku GitHubu. Po udělení přístupu klientovi MCP (inspektoru) k vašemu účtu GitHub budete přesměrováni zpět do inspektoru.
-
Klikněte na Připojit v postranním panelu a měli byste vidět tlačítko „List Tools“, které zobrazí seznam nástrojů, jež váš server MCP zpřístupňuje.
Krok 2.2: Vytvoření nové OAuth aplikace pro produkci
Budete muset zopakovat Krok 2.1 pro vytvoření nové OAuth aplikace pro produkci.
- Přejděte na github.com/settings/developers ↗ pro vytvoření nové OAuth aplikace s následujícím nastavením:
- Název aplikace:
My MCP Server (production) - URL domovské stránky: Zadejte URL adresu workers.dev vašeho nasazeného serveru MCP (např.
worker-name.account-name.workers.dev) - Authorization callback URL: Zadejte
/callbackcestu URL workers.dev vašeho nasazeného serveru MCP (např.worker-name.account-name.workers.dev/callback)
- Pro OAuth app, kterou jste právě vytvořili, přidejte client ID a client secret pomocí Wrangler CLI:
npx wrangler secret put GITHUB_CLIENT_IDnpx wrangler secret put GITHUB_CLIENT_SECRETnpx wrangler secret put COOKIE_ENCRYPTION_KEYPoužijte libovolný náhodný řetězec pro COOKIE_ENCRYPTION_KEY, například výstup openssl rand -hex 32.
-
Nastavte jmenný prostor KV
a. Vytvořte jmenný prostor KV:
npx wrangler kv namespace create "OAUTH_KV"b. Aktualizujte
wrangler.jsoncsoubor s výsledným ID KV:{ "kvNamespaces": [ { "binding": "OAUTH_KV", "id": "<YOUR_KV_NAMESPACE_ID>" } ] } -
Nasaďte MCP server do svého Cloudflare
workers.devdomény:npm run deploy -
Připojte se ke svému serveru běžícímu na
worker-name.account-name.workers.dev/mcppomocí AI Playground ↗, MCP Inspector nebo další klienti MCP, a ověřte se přes GitHub.