L’interface est localisée ; les présentations et documents des Skills sont traduits automatiquement par IA dans votre langue. Le code, les commandes, chemins et termes techniques restent en version originale, et le document de l’auteur fait foi.
Explorer les Skills
Déploiement et opérations · SKILL.md

frontmcp-deployment

frontmcp-deployment

Use when deploying, building for production, packaging, or shipping a FrontMCP server. Covers build targets (node, cli SEA binary, browser, embeddable SDK, mcpb archive for Claude Desktop, serverless) and deploying to Vercel (with Vercel KV), AWS Lambda (API Gateway, SAM, CDK), Cloudflare Workers (KV, D1, Durable Objects, v1.3 skills-only), and Node (multi-…

Independent GitHub snapshot · Automated classification · Original documentation governs

Aagentfront / frontmcpApache-2.0

Documentation de la Skill

GitHub

name: frontmcp-deployment description: 'Use when deploying, building for production, packaging, or shipping a FrontMCP server. Covers build targets (node, cli SEA binary, browser, embeddable SDK, mcpb archive for Claude Desktop, serverless) and deploying to Vercel (with Vercel KV), AWS Lambda (API Gateway, SAM, CDK), Cloudflare Workers (KV, D1, Durable Objects, v1.3 skills-only), and Node (multi-stage Docker, docker-compose, PM2, nginx). Also the frontmcp.deploy.yaml manifest plus GitHub Action push-resync, MCP client integration / .mcp.json for Claude Desktop, Claude Code, Cursor, and VS Code over stdio or HTTP, MCP protocol revisions (serving 2026-07-28 alongside 2024-11-05 through 2025-11-25), and listing a server in the MCP Registry (domain proof, SEP-2127 server card, AI Catalog). Triggers: deploy, build for production, dockerize, containerize, serverless, edge runtime, go live, ship it.' tags: [router, deployment, node, vercel, lambda, cloudflare, cli, browser, sdk, guide, protocol, mcp-20260728, mcp-registry] category: deployment targets: [all] bundle: [recommended, minimal, full] priority: 10 visibility: both license: Apache-2.0 metadata: docs: https://frontmcp.dev/learn/running-frontmcp-anywhere

FrontMCP Deployment Router

Entry point for deploying and building FrontMCP servers. This skill helps you choose the right deployment target or build format based on your infrastructure requirements.

When to Use This Skill

Must Use

  • Choosing between deployment targets (Node vs Vercel vs Lambda vs Cloudflare) for a new project
  • Deciding on a build format (server vs CLI vs browser vs SDK) for distribution
  • Planning infrastructure and need to understand trade-offs between deployment options

Recommended

  • Comparing serverless platforms for cost, cold-start, and feature support
  • Understanding which transport protocol and storage provider each target requires
  • Migrating from one deployment target to another

Skip When

  • You already know your deployment target (go directly to deploy-to-node, deploy-to-vercel, etc.)
  • You need to configure server settings, not deploy (see frontmcp-config)
  • You need to build components, not ship them (see frontmcp-development)

Decision: Use this skill when you need to figure out WHERE to deploy. Open the matching reference under references/ directly when you already know.

Prerequisites

  • A working FrontMCP server with at least one @App and one @Tool (see frontmcp-development)
  • Server configuration completed (see frontmcp-config)
  • Tests passing locally (see frontmcp-testing)

Steps

  1. Review the Scenario Routing Table and Target Comparison below to choose a deployment target
  2. Run frontmcp build --target <target> to produce the build output
  3. Follow the specific deployment reference (e.g., references/deploy-to-node.md, references/deploy-to-vercel.md) for platform instructions
  4. Verify with the Post-Deployment checklist at the end of this skill

Scenario Routing Table

ScenarioReferenceDescription
Long-running server on VPS, Docker, or bare metaldeploy-to-nodeNode.js with stdio or HTTP transport, PM2/Docker for process management
Serverless with zero config and Vercel KVdeploy-to-vercelVercel Functions with Streamable HTTP, Vercel KV for storage
AWS serverless with API Gatewaydeploy-to-lambdaLambda + API Gateway with Streamable HTTP, DynamoDB or ElastiCache
Edge computing with global distributiondeploy-to-cloudflareCloudflare Workers with KV or Durable Objects for storage
Hosted FrontMCP (v1.3 skills-only model)deploy-to-cloudflare-skills-onlyCloudflare Worker as the MCP control plane; OpenAPI is capability inventory; agent uses 4 meta-tools + AgentScript; hot-reload via GitHub Action
Author frontmcp.deploy.yamldeploy-manifest-yamlv1 schema reference: runtime, server, specs, skills, tags, classification, bindings, signing, auth, secrets, environments
Standalone executable binary for distributionbuild-for-cliSingle-binary CLI with stdio transport, embedded storage
Run MCP in a web browserbuild-for-browserBrowser-compatible bundle with in-memory transport
Embed MCP into an existing Node.js applicationbuild-for-sdkLibrary build for programmatic usage without standalone server
Write a Dockerfile for Node.js deploymentdeploy-to-node-dockerfileDockerfile configuration for Node.js deployment
Configure Vercel-specific settings (vercel.json)deploy-to-vercel-configVercel-specific configuration (vercel.json)
Connect MCP clients (Claude, Cursor, VS Code)mcp-client-integrationConfigure .mcp.json for stdio, HTTP, or Unix socket transport
Serve or consume MCP protocol 2026-07-28protocol-versionsStateless requests, server/discover, mirrored headers, MRTR, tasks extension, and the McpStatelessClient
List the server in the MCP Registrylist-in-mcp-registry@FrontMcp({ registry }): domain proof, SEP-2127 server card and AI Catalog; frontmcp registry keygen / publish / status

CLI Commands for Deployment and Operations

Beyond frontmcp build, the CLI provides commands for the full deployment lifecycle:

CommandDescription
frontmcp build -t <target>Build for target: node, vercel, lambda, cloudflare, cli, browser, sdk
frontmcp build -t cli --jsBuild CLI as JS bundle (instead of native binary via SEA)
frontmcp build --no-cleanKeep existing output instead of clearing the target's output directory first
frontmcp start <name>Start a named MCP server with supervisor (process management)
frontmcp stop <name>Stop managed server (-f for force kill)
frontmcp restart <name>Restart managed server
frontmcp status [name]Show process status (detail if name given, table if omitted)
frontmcp listList all managed processes
frontmcp logs <name>Tail log output (-F follow, -n lines)
frontmcp socket <entry>Start Unix socket daemon for local MCP server
frontmcp service <action>Install/uninstall systemd (Linux) or launchd (macOS) service
frontmcp install <source>Install MCP app from npm, local path (., ./app, /abs/app), git, or a project's dist/ / dist/node (dist/node wins over other targets; installs the external runtime packages (vectoriadb comes with the SDK) and the optional @frontmcp/sdk and @frontmcp/utils peers the project declares, those in optionalDependencies as optional; frontmcp start <name> then runs it from its install dir)
frontmcp uninstall <name>Remove installed MCP app
frontmcp configure <name>Re-run setup questionnaire for installed app
frontmcp doctorCheck Node.js/npm versions and tsconfig requirements
frontmcp inspectorLaunch MCP Inspector for debugging
frontmcp initCreate or fix tsconfig.json for FrontMCP (edits in place, keeps comments; never overwrites a file it cannot parse or that declares a required option twice)
frontmcp registry keygenCreate the Ed25519 key for the MCP Registry's domain proof; prints MCP_REGISTRY_PUBLIC_KEY and the DNS TXT value
frontmcp registry publishBuild and validate server.json, then log in and publish it to the MCP Registry (--dry-run previews)
frontmcp registry statusMark one version (--server-version) or every version (--all-versions) active, deprecated or deleted

Target Comparison

TargetTransportStorageCold StartStatefulBest For
Nodestdio, SSE, Streamable HTTPRedis, SQLite, memoryNoneYesFull-featured production servers
VercelStreamable HTTP (stateless)Vercel KV~250msNoRapid deployment, hobby/startup
LambdaStreamable HTTP (stateless)DynamoDB, ElastiCache~500msNoAWS ecosystem, event-driven
CloudflareStreamable HTTP (stateless)KV, Durable Objects~5msLimitedEdge-first, global latency
CLIstdioSQLite, memoryNoneYesDesktop tools, local agents
BrowserIn-process direct clientmemoryNoneYesClient-side AI, demos
SDKProgrammaticConfigurableNoneYesEmbedding in existing apps

Note on storage: Only redis and vercel-kv are SDK-native providers. DynamoDB, Cloudflare KV, D1, and Durable Objects are platform-side — wire them in your tools using the platform SDK / Workers bindings. The Cloudflare build adapter actively rejects redis: { ... } and sqlite: { ... } configs at build time because Workers has no Node TCP / fs.

Note on browser: "In-process direct client" means an in-memory DirectClient created via connect()/create() from @frontmcp/sdk. There is no separate "in-memory transport" — the client and server share the same JS heap.

Cross-Cutting Patterns

PatternRule
Transport selectionStateful servers (Node, CLI) can use stdio or SSE; serverless must use Streamable HTTP (stateless)
Storage mappingSDK-native: redis (Node, Lambda+ElastiCache, CLI), vercel-kv (Vercel, can also work on Cloudflare via Upstash HTTP). Platform-side (you wire it in tools): DynamoDB, Cloudflare KV/D1/DO. Cloudflare build rejects redis/sqlite configs.
Environment variablesNever hardcode secrets; use .env locally, platform secrets in production
Build commandAll targets: frontmcp build --target <target> produces optimized output
Entry pointAll targets require export default of the @FrontMcp class from main.ts

Common Patterns

PatternCorrectIncorrectWhy
Target selectionChoose based on infrastructure constraintsChoose based on familiarityEach target has different transport, storage, and cold-start characteristics
Serverless storageUse platform-native storage (Vercel KV, DynamoDB)Use Redis on serverlessPlatform-native storage avoids VPC/connection overhead on cold starts
Environment configPlatform secrets (Vercel env, AWS SSM).env files in productionPlatform secrets are encrypted, rotatable, and not committed to git
Build verificationRun frontmcp build --target <target> before deployingDeploy source code directlyBuild step validates config, bundles dependencies, and optimizes output

Verification Checklist

Pre-Deployment

  • frontmcp build --target <target> completes without errors
  • Environment variables configured for the target platform
  • Storage provider configured and accessible (Redis, KV, DynamoDB, etc.)
  • Transport protocol matches target requirements (stateless for serverless)

Post-Deployment

  • Health check endpoint responds
  • tools/list returns expected tools
  • Tool execution works end-to-end
  • Storage persistence verified (create, read, restart, read again)

Troubleshooting

ProblemCauseSolution
Cold start timeout on serverlessBundle too large or heavy initializationLazy-load providers; reduce bundle with tree shaking; increase function timeout
Session lost between requestsUsing memory storage on stateless serverlessSwitch to platform-native storage (Vercel KV, DynamoDB, etc.)
CORS errors on browser/web clientsHTTP CORS not configuredAdd CORS config via configure-http skill
Build fails with missing moduleNode-only module in browser/edge buildUse conditional imports or @frontmcp/utils cross-platform utilities
TS2688: Cannot find type definition file for 'node' under YarnAn older CLI shelled out to npx tsc, which starts a process that never loads .pnp.cjsUpgrade the CLI — the build now runs the project's own typescript with the current Node binary, or delegates to yarn/pnpm/bun when there is no local install
@frontmcp/sdk tried to access <pkg> (a peer dependency)Yarn Plug'n'Play enforces peer dependencies that a hoisted node_modules tree toleratesAdd nodeLinker: node-modules to .yarnrc.yml and reinstall (frontmcp create now scaffolds this for Yarn projects)
Deleted source file still present in dist/An older CLI never cleared the output directory, or --no-clean was passedRebuild without --no-clean; the build now clears the target's output directory first

Examples

Each reference has matching examples under examples/<reference>/:

build-for-browser

ExampleLevelDescription
browser-build-with-custom-entryIntermediateBuild a browser bundle using a dedicated client entry file that avoids Node.js-only imports.
browser-crypto-and-storageAdvancedUse @frontmcp/utils crypto functions (WebCrypto API) and in-memory storage in browser environments.
react-provider-setupBasicConnect a React application to a remote FrontMCP server using @frontmcp/react.

build-for-cli

ExampleLevelDescription
cli-binary-buildBasicBuild a FrontMCP server as a standalone binary using Node.js Single Executable Applications (SEA).
unix-socket-daemonIntermediateRun a FrontMCP server as a local daemon accessible via Unix socket for IDE extensions and local MCP clients.

build-for-mcpb

ExampleLevelDescription
mcpb-bundle-buildBasicProduce a .mcpb archive for Claude Desktop with metadata, tools, and install-time user_config.

build-for-sdk

ExampleLevelDescription
connect-openaiIntermediateUse connectOpenAI() to get tools formatted for OpenAI's function-calling API.
create-flat-configBasicSpin up an in-memory FrontMCP server from a flat config object using create().
multi-platform-connectAdvancedConnect the same FrontMCP server to multiple LLM platforms using platform-specific connect*() functions.

deploy-to-cloudflare

ExampleLevelDescription
basic-worker-deployBasicDeploy a FrontMCP server to Cloudflare Workers with a minimal configuration.
worker-custom-domainAdvancedScaffold a FrontMCP project targeting Cloudflare, configure a custom domain, and verify the deployment.
worker-with-kv-storageIntermediateDeploy a FrontMCP server to Cloudflare Workers with KV namespace for session and state storage.

deploy-to-lambda

ExampleLevelDescription
cdk-deploymentAdvancedDeploy a FrontMCP server to AWS Lambda using CDK with provisioned concurrency and secrets management.
lambda-handler-with-corsIntermediateCreate a custom Lambda handler with an explicit API Gateway definition for CORS support.
sam-template-basicBasicDeploy a FrontMCP server to AWS Lambda with API Gateway using a SAM template.

deploy-to-node-dockerfile

ExampleLevelDescription
basic-multistage-dockerfileBasicA minimal multi-stage Dockerfile for building and running a FrontMCP server in production.
secure-nonroot-dockerfileAdvancedA production Dockerfile with a non-root user, proper ownership, and security hardening.

deploy-to-node

ExampleLevelDescription
docker-compose-with-redisBasicDeploy a FrontMCP server with Redis using Docker Compose for production.
pm2-with-nginxIntermediateDeploy a FrontMCP server on bare metal using PM2 for process management and NGINX for TLS termination.
resource-limitsAdvancedConfigure resource limits, health checks, and environment variables for a production FrontMCP deployment.

deploy-to-vercel-config

ExampleLevelDescription
minimal-vercel-configBasicThe minimum vercel.json needed to deploy a FrontMCP server to Vercel.
vercel-config-with-security-headersIntermediateA complete vercel.json with per-route security headers for health, MCP, and all other endpoints.

deploy-to-vercel

ExampleLevelDescription
vercel-mcp-endpoint-testAdvancedVerify a Vercel-deployed FrontMCP server by testing health, tool listing, and tool invocation.
vercel-with-kvBasicDeploy a FrontMCP server to Vercel serverless functions with Vercel KV for session persistence.
vercel-with-skills-cacheIntermediateDeploy a FrontMCP server to Vercel with skills enabled and KV-backed skill caching.

mcp-client-integration

ExampleLevelDescription
stdio-npxBasicPublish a FrontMCP server to npm and configure MCP clients to use it with npx --stdio.
http-remoteBasicConnect an MCP client to a FrontMCP server running as an HTTP server, locally or remotely.
stdio-binary-with-envIntermediateConfigure a local FrontMCP CLI binary with environment variables and custom arguments in MCP client configs.

Accessing This Skill

Skills are distributed as plain SKILL.md files plus a sibling references/ and examples/ tree, so consumers can pick whichever access mode fits:

ModeHow it works
FilesystemRead libs/skills/catalog/frontmcp-deployment/ directly from a clone of the catalog repo, or from a published @frontmcp/skills install. SKILL.md is the entry point.
frontmcp CLIfrontmcp skills list, frontmcp skills read frontmcp-deployment, frontmcp skills read frontmcp-deployment:references/<file>.md, frontmcp skills install frontmcp-deployment — no server required.
MCP skill://When a developer mounts this skill into their own FrontMCP server (@FrontMcp({ skills: [...] })), the SDK exposes it via SEP-2640 resources: skill://frontmcp-deployment/SKILL.md, skill://frontmcp-deployment/references/{file}.md, etc. The server’s skill://index.json returns the SEP-2640 discovery document for everything mounted on it.

The catalog itself is not an MCP server. The skill:// URIs only resolve when a server has been configured to host this skill.

Reference

  • Runtime Modes
  • Related skills: deploy-to-node, deploy-to-vercel, deploy-to-lambda, deploy-to-cloudflare, build-for-cli, build-for-browser, build-for-sdk, configure-transport
Skills enregistrées