INTEGRITY Dokumentace

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:

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:

Nasaďte na Workers

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.

  1. 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-authless

    Bě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í?, vyberte No. - Pro Chcete nasadit svou aplikaci?, vyberte No (server otestujeme před nasazením).

    Nyní máte nastavený MCP server s nainstalovanými závislostmi.

  2. Přejděte do složky projektu:

    cd remote-mcp-server-authless
  3. 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:8788

    Zkontrolujte 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 je http://localhost:8788/mcp.

  4. Chcete-li server otestovat lokálně:

    1. 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 portu 5173.

    2. 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.

  5. Nyní můžete nasadit svůj MCP server na Cloudflare. Z adresáře projektu spusťte:

    npx wrangler@latest deploy

    Pokud 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.dev subdoménu na https://remote-mcp-server-authless.your-account.workers.dev/mcp.

  6. 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 na http://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:

  1. 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"
    			]
    		}
    	}
    }
  2. Restartujte Claude Desktop, aby se načetl Server MCP. Jakmile to uděláte, bude Claude moci volat váš vzdálený server MCP.

  3. 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-oauth

Nyní máte nastavený MCP server s nainstalovanými závislostmi. Přejděte do složky projektu:

cd my-mcp-server-github-auth

Vš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

  1. 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
  2. Pro OAuth app, kterou jste právě vytvořili, přidejte client ID této OAuth app jako GITHUB_CLIENT_ID a vygenerovat client secret, který přidáte jako GITHUB_CLIENT_SECRET na .env soubor 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
  3. Spusťte následující příkaz pro spuštění vývojového serveru:

    npm start

    Váš server MCP nyní běží na http://localhost:8788/mcp.

  4. 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
  5. Otevřete MCP inspector ve svém webovém prohlížeči:

    open http://localhost:5173
  6. V inspektoru zadejte URL adresu vašeho MCP serveru, http://localhost:8788/mcp

  7. 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.

  8. 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.

  1. Přejděte na github.com/settings/developers ↗ pro vytvoření nové OAuth aplikace s následujícím nastavením:
  1. 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_ID
npx wrangler secret put GITHUB_CLIENT_SECRET
npx wrangler secret put COOKIE_ENCRYPTION_KEY

Použijte libovolný náhodný řetězec pro COOKIE_ENCRYPTION_KEY, například výstup openssl rand -hex 32.

  1. Nastavte jmenný prostor KV

    a. Vytvořte jmenný prostor KV:

    npx wrangler kv namespace create "OAUTH_KV"

    b. Aktualizujte wrangler.jsonc soubor s výsledným ID KV:

    {
    	"kvNamespaces": [
    		{
    			"binding": "OAUTH_KV",
    			"id": "<YOUR_KV_NAMESPACE_ID>"
    		}
    	]
    }
  2. Nasaďte MCP server do svého Cloudflare workers.dev domény:

    npm run deploy
  3. Připojte se ke svému serveru běžícímu na worker-name.account-name.workers.dev/mcp pomocí AI Playground ↗, MCP Inspector nebo další klienti MCP, a ověřte se přes GitHub.

Další kroky

Nástroje MCP

Přidejte nástroje do svého serveru MCP.

Autorizace

Přizpůsobte si autentizaci a autorizaci.