@frontmcp/skills 1.0.0-beta.9 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/catalog/TEMPLATE.md +69 -0
- package/catalog/frontmcp-config/SKILL.md +38 -22
- package/catalog/frontmcp-config/examples/configure-auth/multi-app-auth.md +87 -0
- package/catalog/frontmcp-config/examples/configure-auth/public-mode-setup.md +63 -0
- package/catalog/frontmcp-config/examples/configure-auth/remote-oauth-with-vault.md +76 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/local-self-signed-tokens.md +77 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md +73 -0
- package/catalog/frontmcp-config/examples/configure-auth-modes/transparent-jwt-validation.md +64 -0
- package/catalog/frontmcp-config/examples/configure-elicitation/basic-confirmation-gate.md +83 -0
- package/catalog/frontmcp-config/examples/configure-elicitation/distributed-elicitation-redis.md +87 -0
- package/catalog/frontmcp-config/examples/configure-http/cors-restricted-origins.md +52 -0
- package/catalog/frontmcp-config/examples/configure-http/entry-path-reverse-proxy.md +72 -0
- package/catalog/frontmcp-config/examples/configure-http/unix-socket-local.md +64 -0
- package/catalog/frontmcp-config/examples/configure-session/multi-server-key-prefix.md +68 -0
- package/catalog/frontmcp-config/examples/configure-session/redis-session-store.md +52 -0
- package/catalog/frontmcp-config/examples/configure-session/vercel-kv-session.md +52 -0
- package/catalog/frontmcp-config/examples/configure-throttle/distributed-redis-throttle.md +94 -0
- package/catalog/frontmcp-config/examples/configure-throttle/per-tool-rate-limit.md +92 -0
- package/catalog/frontmcp-config/examples/configure-throttle/server-level-rate-limit.md +83 -0
- package/catalog/frontmcp-config/examples/configure-throttle-guard-config/full-guard-config.md +99 -0
- package/catalog/frontmcp-config/examples/configure-throttle-guard-config/minimal-guard-config.md +55 -0
- package/catalog/frontmcp-config/examples/configure-transport/custom-protocol-flags.md +74 -0
- package/catalog/frontmcp-config/examples/configure-transport/distributed-sessions-redis.md +86 -0
- package/catalog/frontmcp-config/examples/configure-transport/stateless-serverless.md +69 -0
- package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/legacy-preset-nodejs.md +65 -0
- package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/stateless-api-serverless.md +69 -0
- package/catalog/frontmcp-config/references/configure-auth-modes.md +15 -0
- package/catalog/frontmcp-config/references/configure-auth.md +15 -0
- package/catalog/frontmcp-config/references/configure-elicitation.md +14 -0
- package/catalog/frontmcp-config/references/configure-http.md +15 -0
- package/catalog/frontmcp-config/references/configure-session.md +15 -0
- package/catalog/frontmcp-config/references/configure-throttle-guard-config.md +14 -0
- package/catalog/frontmcp-config/references/configure-throttle.md +15 -0
- package/catalog/frontmcp-config/references/configure-transport-protocol-presets.md +14 -0
- package/catalog/frontmcp-config/references/configure-transport.md +15 -0
- package/catalog/frontmcp-config/references/setup-redis.md +10 -0
- package/catalog/frontmcp-config/references/setup-sqlite.md +10 -0
- package/catalog/frontmcp-deployment/SKILL.md +40 -12
- package/catalog/frontmcp-deployment/examples/build-for-browser/browser-build-with-custom-entry.md +43 -0
- package/catalog/frontmcp-deployment/examples/build-for-browser/browser-crypto-and-storage.md +85 -0
- package/catalog/frontmcp-deployment/examples/build-for-browser/react-provider-setup.md +61 -0
- package/catalog/frontmcp-deployment/examples/build-for-cli/cli-binary-build.md +66 -0
- package/catalog/frontmcp-deployment/examples/build-for-cli/unix-socket-daemon.md +76 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/connect-openai.md +78 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md +85 -0
- package/catalog/frontmcp-deployment/examples/build-for-sdk/multi-platform-connect.md +104 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md +82 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-custom-domain.md +97 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-with-kv-storage.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/cdk-deployment.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/lambda-handler-with-cors.md +113 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-lambda/sam-template-basic.md +100 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/docker-compose-with-redis.md +101 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/pm2-with-nginx.md +79 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node/resource-limits.md +92 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/basic-multistage-dockerfile.md +63 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-node-dockerfile/secure-nonroot-dockerfile.md +89 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-mcp-endpoint-test.md +69 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-kv.md +82 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-skills-cache.md +90 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/minimal-vercel-config.md +49 -0
- package/catalog/frontmcp-deployment/examples/deploy-to-vercel-config/vercel-config-with-security-headers.md +92 -0
- package/catalog/frontmcp-deployment/references/build-for-browser.md +15 -0
- package/catalog/frontmcp-deployment/references/build-for-cli.md +65 -3
- package/catalog/frontmcp-deployment/references/build-for-sdk.md +15 -0
- package/catalog/frontmcp-deployment/references/deploy-to-cloudflare.md +15 -0
- package/catalog/frontmcp-deployment/references/deploy-to-lambda.md +18 -3
- package/catalog/frontmcp-deployment/references/deploy-to-node-dockerfile.md +16 -2
- package/catalog/frontmcp-deployment/references/deploy-to-node.md +19 -4
- package/catalog/frontmcp-deployment/references/deploy-to-vercel-config.md +14 -0
- package/catalog/frontmcp-deployment/references/deploy-to-vercel.md +15 -0
- package/catalog/frontmcp-development/SKILL.md +25 -17
- package/catalog/frontmcp-development/examples/create-adapter/basic-api-adapter.md +92 -0
- package/catalog/frontmcp-development/examples/create-adapter/namespaced-adapter.md +124 -0
- package/catalog/frontmcp-development/examples/create-agent/basic-agent-with-tools.md +121 -0
- package/catalog/frontmcp-development/examples/create-agent/custom-multi-pass-agent.md +95 -0
- package/catalog/frontmcp-development/examples/create-agent/nested-agents-with-swarm.md +111 -0
- package/catalog/frontmcp-development/examples/create-agent-llm-config/anthropic-config.md +81 -0
- package/catalog/frontmcp-development/examples/create-agent-llm-config/openai-config.md +80 -0
- package/catalog/frontmcp-development/examples/create-job/basic-report-job.md +87 -0
- package/catalog/frontmcp-development/examples/create-job/job-with-permissions.md +117 -0
- package/catalog/frontmcp-development/examples/create-job/job-with-retry.md +88 -0
- package/catalog/frontmcp-development/examples/create-plugin/basic-plugin-with-provider.md +69 -0
- package/catalog/frontmcp-development/examples/create-plugin/configurable-dynamic-plugin.md +178 -0
- package/catalog/frontmcp-development/examples/create-plugin/plugin-with-context-extension.md +107 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/basic-logging-plugin.md +69 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/caching-with-around.md +80 -0
- package/catalog/frontmcp-development/examples/create-plugin-hooks/tool-level-hooks-and-stage-replacement.md +100 -0
- package/catalog/frontmcp-development/examples/create-prompt/basic-prompt.md +72 -0
- package/catalog/frontmcp-development/examples/create-prompt/dynamic-rag-prompt.md +92 -0
- package/catalog/frontmcp-development/examples/create-prompt/multi-turn-debug-session.md +86 -0
- package/catalog/frontmcp-development/examples/create-provider/basic-database-provider.md +113 -0
- package/catalog/frontmcp-development/examples/create-provider/config-and-api-providers.md +107 -0
- package/catalog/frontmcp-development/examples/create-resource/basic-static-resource.md +72 -0
- package/catalog/frontmcp-development/examples/create-resource/binary-and-multi-content.md +111 -0
- package/catalog/frontmcp-development/examples/create-resource/parameterized-template.md +84 -0
- package/catalog/frontmcp-development/examples/create-skill/basic-inline-skill.md +96 -0
- package/catalog/frontmcp-development/examples/create-skill/directory-based-skill.md +115 -0
- package/catalog/frontmcp-development/examples/create-skill/parameterized-skill.md +96 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/basic-tool-orchestration.md +76 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/directory-skill-with-tools.md +149 -0
- package/catalog/frontmcp-development/examples/create-skill-with-tools/incident-response-skill.md +92 -0
- package/catalog/frontmcp-development/examples/create-tool/basic-class-tool.md +62 -0
- package/catalog/frontmcp-development/examples/create-tool/tool-with-di-and-errors.md +84 -0
- package/catalog/frontmcp-development/examples/create-tool/tool-with-rate-limiting-and-progress.md +93 -0
- package/catalog/frontmcp-development/examples/create-tool-annotations/destructive-delete-tool.md +94 -0
- package/catalog/frontmcp-development/examples/create-tool-annotations/readonly-query-tool.md +60 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/primitive-and-media-outputs.md +104 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-raw-shape-output.md +63 -0
- package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-schema-advanced-output.md +103 -0
- package/catalog/frontmcp-development/examples/create-workflow/basic-deploy-pipeline.md +91 -0
- package/catalog/frontmcp-development/examples/create-workflow/parallel-validation-pipeline.md +90 -0
- package/catalog/frontmcp-development/examples/create-workflow/webhook-triggered-workflow.md +136 -0
- package/catalog/frontmcp-development/examples/decorators-guide/agent-skill-job-workflow.md +145 -0
- package/catalog/frontmcp-development/examples/decorators-guide/basic-server-with-app-and-tools.md +124 -0
- package/catalog/frontmcp-development/examples/decorators-guide/multi-app-with-plugins-and-providers.md +149 -0
- package/catalog/frontmcp-development/examples/official-adapters/authenticated-adapter-with-polling.md +84 -0
- package/catalog/frontmcp-development/examples/official-adapters/basic-openapi-adapter.md +54 -0
- package/catalog/frontmcp-development/examples/official-adapters/multi-api-hub-with-inline-spec.md +130 -0
- package/catalog/frontmcp-development/examples/official-plugins/cache-and-feature-flags.md +117 -0
- package/catalog/frontmcp-development/examples/official-plugins/production-multi-plugin-setup.md +147 -0
- package/catalog/frontmcp-development/examples/official-plugins/remember-plugin-session-memory.md +104 -0
- package/catalog/frontmcp-development/references/create-adapter.md +14 -0
- package/catalog/frontmcp-development/references/create-agent-llm-config.md +14 -0
- package/catalog/frontmcp-development/references/create-agent.md +15 -0
- package/catalog/frontmcp-development/references/create-job.md +15 -0
- package/catalog/frontmcp-development/references/create-plugin-hooks.md +51 -0
- package/catalog/frontmcp-development/references/create-plugin.md +186 -11
- package/catalog/frontmcp-development/references/create-prompt.md +17 -0
- package/catalog/frontmcp-development/references/create-provider.md +14 -0
- package/catalog/frontmcp-development/references/create-resource.md +127 -0
- package/catalog/frontmcp-development/references/create-skill-with-tools.md +126 -7
- package/catalog/frontmcp-development/references/create-skill.md +57 -12
- package/catalog/frontmcp-development/references/create-tool-annotations.md +14 -0
- package/catalog/frontmcp-development/references/create-tool-output-schema-types.md +15 -0
- package/catalog/frontmcp-development/references/create-tool.md +205 -1
- package/catalog/frontmcp-development/references/create-workflow.md +15 -0
- package/catalog/frontmcp-development/references/decorators-guide.md +155 -78
- package/catalog/frontmcp-development/references/official-adapters.md +31 -16
- package/catalog/frontmcp-development/references/official-plugins.md +62 -28
- package/catalog/frontmcp-extensibility/SKILL.md +103 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/product-catalog-search.md +175 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/semantic-search-with-persistence.md +138 -0
- package/catalog/frontmcp-extensibility/examples/vectoriadb/tfidf-keyword-search.md +103 -0
- package/catalog/frontmcp-extensibility/references/vectoriadb.md +299 -0
- package/catalog/frontmcp-guides/SKILL.md +7 -4
- package/catalog/frontmcp-guides/examples/example-knowledge-base/agent-and-plugin.md +160 -0
- package/catalog/frontmcp-guides/examples/example-knowledge-base/multi-app-composition.md +92 -0
- package/catalog/frontmcp-guides/examples/example-knowledge-base/vector-search-and-resources.md +135 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/auth-and-crud-tools.md +135 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/authenticated-e2e-tests.md +148 -0
- package/catalog/frontmcp-guides/examples/example-task-manager/redis-provider-with-di.md +129 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/server-and-app-setup.md +75 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/unit-and-e2e-tests.md +142 -0
- package/catalog/frontmcp-guides/examples/example-weather-api/weather-tool-with-schemas.md +74 -0
- package/catalog/frontmcp-guides/references/example-knowledge-base.md +15 -0
- package/catalog/frontmcp-guides/references/example-task-manager.md +30 -21
- package/catalog/frontmcp-guides/references/example-weather-api.md +18 -6
- package/catalog/frontmcp-observability/SKILL.md +144 -0
- package/catalog/frontmcp-observability/examples/structured-logging/stdout-logging.md +71 -0
- package/catalog/frontmcp-observability/examples/structured-logging/winston-integration.md +70 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/agent-nested-tracing.md +86 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/plugin-telemetry.md +93 -0
- package/catalog/frontmcp-observability/examples/telemetry-api/tool-custom-spans.md +72 -0
- package/catalog/frontmcp-observability/examples/testing-observability/test-custom-spans.md +90 -0
- package/catalog/frontmcp-observability/examples/testing-observability/test-log-correlation.md +104 -0
- package/catalog/frontmcp-observability/examples/tracing-setup/basic-tracing.md +82 -0
- package/catalog/frontmcp-observability/examples/tracing-setup/production-tracing.md +73 -0
- package/catalog/frontmcp-observability/examples/vendor-integrations/coralogix-setup.md +74 -0
- package/catalog/frontmcp-observability/references/structured-logging.md +114 -0
- package/catalog/frontmcp-observability/references/telemetry-api.md +155 -0
- package/catalog/frontmcp-observability/references/testing-observability.md +169 -0
- package/catalog/frontmcp-observability/references/tracing-setup.md +146 -0
- package/catalog/frontmcp-observability/references/vendor-integrations.md +164 -0
- package/catalog/frontmcp-production-readiness/SKILL.md +99 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/caching-and-performance.md +102 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/observability-setup.md +104 -0
- package/catalog/frontmcp-production-readiness/examples/common-checklist/security-hardening.md +95 -0
- package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/basic-health-setup.md +81 -0
- package/catalog/frontmcp-production-readiness/examples/health-readiness-endpoints/custom-probes.md +136 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/browser-bundle-config.md +93 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/cross-platform-crypto.md +116 -0
- package/catalog/frontmcp-production-readiness/examples/production-browser/security-and-performance.md +128 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-binary/binary-build-config.md +109 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md +132 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/daemon-socket-config.md +82 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/graceful-shutdown-cleanup.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-cli-daemon/security-and-permissions.md +119 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/durable-objects-state.md +124 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/workers-runtime-constraints.md +103 -0
- package/catalog/frontmcp-production-readiness/examples/production-cloudflare/wrangler-config.md +89 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/cold-start-connection-reuse.md +122 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/sam-template.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-lambda/scaling-and-monitoring.md +138 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/basic-sdk-lifecycle.md +85 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/multi-instance-cleanup.md +110 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-sdk/package-json-config.md +107 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/docker-multi-stage.md +103 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/graceful-shutdown.md +87 -0
- package/catalog/frontmcp-production-readiness/examples/production-node-server/redis-session-scaling.md +97 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/cold-start-optimization.md +104 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/stateless-serverless-design.md +91 -0
- package/catalog/frontmcp-production-readiness/examples/production-vercel/vercel-edge-config.md +78 -0
- package/catalog/frontmcp-production-readiness/references/common-checklist.md +175 -0
- package/catalog/frontmcp-production-readiness/references/health-readiness-endpoints.md +198 -0
- package/catalog/frontmcp-production-readiness/references/production-browser.md +56 -0
- package/catalog/frontmcp-production-readiness/references/production-cli-binary.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-cli-daemon.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-cloudflare.md +62 -0
- package/catalog/frontmcp-production-readiness/references/production-lambda.md +63 -0
- package/catalog/frontmcp-production-readiness/references/production-node-sdk.md +76 -0
- package/catalog/frontmcp-production-readiness/references/production-node-server.md +71 -0
- package/catalog/frontmcp-production-readiness/references/production-vercel.md +62 -0
- package/catalog/frontmcp-setup/SKILL.md +19 -14
- package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/bundle-presets-scaffolding.md +61 -0
- package/catalog/frontmcp-setup/examples/frontmcp-skills-usage/install-and-search-skills.md +83 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/local-apps-with-shared-tools.md +87 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/per-app-auth-and-isolation.md +88 -0
- package/catalog/frontmcp-setup/examples/multi-app-composition/remote-and-esm-apps.md +81 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/build-test-affected.md +77 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/multi-server-deployment.md +93 -0
- package/catalog/frontmcp-setup/examples/nx-workflow/scaffold-and-generate.md +62 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/nx-generator-scaffolding.md +73 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/nx-workspace-with-apps.md +85 -0
- package/catalog/frontmcp-setup/examples/project-structure-nx/shared-library-usage.md +89 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/dev-workflow-commands.md +64 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/feature-folder-organization.md +111 -0
- package/catalog/frontmcp-setup/examples/project-structure-standalone/minimal-standalone-layout.md +73 -0
- package/catalog/frontmcp-setup/examples/readme-guide/node-server-readme.md +89 -0
- package/catalog/frontmcp-setup/examples/readme-guide/vercel-deployment-readme.md +90 -0
- package/catalog/frontmcp-setup/examples/setup-project/basic-node-server.md +99 -0
- package/catalog/frontmcp-setup/examples/setup-project/cli-scaffold-with-flags.md +77 -0
- package/catalog/frontmcp-setup/examples/setup-project/vercel-serverless-server.md +89 -0
- package/catalog/frontmcp-setup/examples/setup-redis/docker-redis-local-dev.md +88 -0
- package/catalog/frontmcp-setup/examples/setup-redis/hybrid-vercel-kv-with-pubsub.md +78 -0
- package/catalog/frontmcp-setup/examples/setup-redis/vercel-kv-serverless.md +78 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/basic-sqlite-setup.md +75 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/encrypted-sqlite-storage.md +55 -0
- package/catalog/frontmcp-setup/examples/setup-sqlite/unix-socket-daemon.md +70 -0
- package/catalog/frontmcp-setup/references/frontmcp-skills-usage.md +33 -9
- package/catalog/frontmcp-setup/references/multi-app-composition.md +15 -0
- package/catalog/frontmcp-setup/references/nx-workflow.md +15 -0
- package/catalog/frontmcp-setup/references/project-structure-nx.md +15 -0
- package/catalog/frontmcp-setup/references/project-structure-standalone.md +15 -0
- package/catalog/frontmcp-setup/references/readme-guide.md +235 -0
- package/catalog/frontmcp-setup/references/setup-project.md +16 -1
- package/catalog/frontmcp-setup/references/setup-redis.md +15 -0
- package/catalog/frontmcp-setup/references/setup-sqlite.md +15 -0
- package/catalog/frontmcp-testing/SKILL.md +41 -27
- package/catalog/frontmcp-testing/examples/setup-testing/fixture-based-e2e-test.md +70 -0
- package/catalog/frontmcp-testing/examples/setup-testing/jest-config-with-coverage.md +59 -0
- package/catalog/frontmcp-testing/examples/setup-testing/unit-test-tool-resource-prompt.md +115 -0
- package/catalog/frontmcp-testing/examples/test-auth/oauth-flow-test.md +78 -0
- package/catalog/frontmcp-testing/examples/test-auth/role-based-access-test.md +88 -0
- package/catalog/frontmcp-testing/examples/test-auth/token-factory-test.md +71 -0
- package/catalog/frontmcp-testing/examples/test-browser-build/browser-bundle-validation.md +58 -0
- package/catalog/frontmcp-testing/examples/test-browser-build/playwright-browser-test.md +69 -0
- package/catalog/frontmcp-testing/examples/test-cli-binary/binary-startup-test.md +77 -0
- package/catalog/frontmcp-testing/examples/test-cli-binary/js-bundle-import-test.md +56 -0
- package/catalog/frontmcp-testing/examples/test-direct-client/basic-create-test.md +74 -0
- package/catalog/frontmcp-testing/examples/test-direct-client/openai-claude-format-test.md +79 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/basic-e2e-test.md +67 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/manual-client-with-transport.md +72 -0
- package/catalog/frontmcp-testing/examples/test-e2e-handler/tool-call-and-error-e2e.md +73 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/basic-tool-test.md +69 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/schema-validation-test.md +82 -0
- package/catalog/frontmcp-testing/examples/test-tool-unit/tool-error-handling-test.md +92 -0
- package/catalog/frontmcp-testing/references/setup-testing.md +17 -0
- package/catalog/frontmcp-testing/references/test-auth.md +15 -0
- package/catalog/frontmcp-testing/references/test-browser-build.md +14 -0
- package/catalog/frontmcp-testing/references/test-cli-binary.md +14 -0
- package/catalog/frontmcp-testing/references/test-direct-client.md +14 -0
- package/catalog/frontmcp-testing/references/test-e2e-handler.md +15 -0
- package/catalog/frontmcp-testing/references/test-tool-unit.md +15 -0
- package/catalog/skills-manifest.json +2849 -32
- package/package.json +2 -2
- package/src/index.d.ts +1 -1
- package/src/index.js.map +1 -1
- package/src/loader.js +0 -1
- package/src/loader.js.map +1 -1
- package/src/manifest.d.ts +36 -1
- package/src/manifest.js +6 -1
- package/src/manifest.js.map +1 -1
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-auth-modes
|
|
3
|
+
description: Detailed comparison of public, transparent, remote, and managed auth modes
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Auth Modes Detailed Comparison
|
|
2
7
|
|
|
3
8
|
## Public Mode
|
|
@@ -75,3 +80,13 @@ auth: {
|
|
|
75
80
|
| Credential vault | No | No | Yes | Yes |
|
|
76
81
|
| Consent flow | No | No | Optional | Optional |
|
|
77
82
|
| Federated auth | No | No | Optional | Optional |
|
|
83
|
+
|
|
84
|
+
## Examples
|
|
85
|
+
|
|
86
|
+
| Example | Level | Description |
|
|
87
|
+
| ---------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- |
|
|
88
|
+
| [`local-self-signed-tokens`](../examples/configure-auth-modes/local-self-signed-tokens.md) | Intermediate | Configure a server that signs its own JWT tokens with consent and incremental auth enabled. |
|
|
89
|
+
| [`remote-enterprise-oauth`](../examples/configure-auth-modes/remote-enterprise-oauth.md) | Advanced | Delegate authentication to an external OAuth orchestrator with Redis-backed token storage. |
|
|
90
|
+
| [`transparent-jwt-validation`](../examples/configure-auth-modes/transparent-jwt-validation.md) | Basic | Validate externally-issued JWTs without managing token lifecycle on the server. |
|
|
91
|
+
|
|
92
|
+
> See all examples in [`examples/configure-auth-modes/`](../examples/configure-auth-modes/)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-auth
|
|
3
|
+
description: Set up authentication modes, credential vault, and OAuth flows for FrontMCP servers
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configure Authentication for FrontMCP
|
|
2
7
|
|
|
3
8
|
This skill covers setting up authentication in a FrontMCP server. FrontMCP supports four auth modes, each suited to different deployment scenarios. All authentication logic lives in the `@frontmcp/auth` library.
|
|
@@ -232,6 +237,16 @@ The `authProviders` accessor (from `@frontmcp/auth`) provides:
|
|
|
232
237
|
| `VAULT_SECRET is not defined` error | The vault encryption secret environment variable is missing | Set `VAULT_SECRET` in your environment or `.env` file before starting the server |
|
|
233
238
|
| OAuth redirect fails in local dev | `remote` mode requires HTTPS and reachable callback URLs | Set `NODE_ENV=development` to relax HTTPS requirements, or use a local OAuth mock server |
|
|
234
239
|
|
|
240
|
+
## Examples
|
|
241
|
+
|
|
242
|
+
| Example | Level | Description |
|
|
243
|
+
| ---------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
244
|
+
| [`multi-app-auth`](../examples/configure-auth/multi-app-auth.md) | Advanced | Configure a single FrontMCP server with multiple apps, each using a different auth mode -- public for open endpoints and remote for admin endpoints. |
|
|
245
|
+
| [`public-mode-setup`](../examples/configure-auth/public-mode-setup.md) | Basic | Set up a FrontMCP server with public (unauthenticated) access and anonymous scopes. |
|
|
246
|
+
| [`remote-oauth-with-vault`](../examples/configure-auth/remote-oauth-with-vault.md) | Intermediate | Configure a FrontMCP server with remote OAuth 2.1 authentication and use the credential vault to call downstream APIs on behalf of the authenticated user. |
|
|
247
|
+
|
|
248
|
+
> See all examples in [`examples/configure-auth/`](../examples/configure-auth/)
|
|
249
|
+
|
|
235
250
|
## Reference
|
|
236
251
|
|
|
237
252
|
- Docs: [Authentication Overview](https://docs.agentfront.dev/frontmcp/authentication/overview)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-elicitation
|
|
3
|
+
description: Configure interactive user input during tool execution for confirmations, choices, and forms
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configuring Elicitation
|
|
2
7
|
|
|
3
8
|
Elicitation allows tools to request interactive input from users mid-execution — confirmations, choices, or structured form data.
|
|
@@ -172,6 +177,15 @@ frontmcp dev
|
|
|
172
177
|
| User sees raw JSON instead of a form | The MCP client renders the `requestedSchema` as raw data rather than a form | Use standard JSON Schema types (`boolean`, `string`, `enum`) that clients can render as UI controls |
|
|
173
178
|
| Tool hangs indefinitely waiting for user response | No timeout configured and user never responds | Implement a timeout or cancellation mechanism in the tool logic to handle non-responsive users |
|
|
174
179
|
|
|
180
|
+
## Examples
|
|
181
|
+
|
|
182
|
+
| Example | Level | Description |
|
|
183
|
+
| ----------------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------------- |
|
|
184
|
+
| [`basic-confirmation-gate`](../examples/configure-elicitation/basic-confirmation-gate.md) | Basic | Request user confirmation before executing a destructive action. |
|
|
185
|
+
| [`distributed-elicitation-redis`](../examples/configure-elicitation/distributed-elicitation-redis.md) | Intermediate | Configure elicitation with Redis storage for multi-instance production deployments. |
|
|
186
|
+
|
|
187
|
+
> See all examples in [`examples/configure-elicitation/`](../examples/configure-elicitation/)
|
|
188
|
+
|
|
175
189
|
## Reference
|
|
176
190
|
|
|
177
191
|
- [Elicitation Docs](https://docs.agentfront.dev/frontmcp/servers/elicitation)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-http
|
|
3
|
+
description: Configure HTTP server port, CORS policy, unix sockets, and entry path prefix
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configuring HTTP Options
|
|
2
7
|
|
|
3
8
|
Configure the HTTP server — port, CORS policy, unix sockets, and entry path prefix.
|
|
@@ -199,6 +204,16 @@ curl --unix-socket /tmp/my-mcp-server.sock http://localhost/
|
|
|
199
204
|
| Routes return 404 after setting `entryPath` | Client is still requesting the root path without the prefix | Update client base URL to include the entry path (e.g., `http://localhost:3001/api/mcp`) |
|
|
200
205
|
| Server binds but external clients cannot connect | Server bound to `localhost` or `127.0.0.1` inside a container | Set `host: '0.0.0.0'` or use Docker port mapping to expose the container port |
|
|
201
206
|
|
|
207
|
+
## Examples
|
|
208
|
+
|
|
209
|
+
| Example | Level | Description |
|
|
210
|
+
| ------------------------------------------------------------------------------------ | ------------ | ------------------------------------------------------------------------------------ |
|
|
211
|
+
| [`cors-restricted-origins`](../examples/configure-http/cors-restricted-origins.md) | Basic | Configure CORS to allow only specific frontend origins with credentials. |
|
|
212
|
+
| [`entry-path-reverse-proxy`](../examples/configure-http/entry-path-reverse-proxy.md) | Intermediate | Mount the MCP server under a URL prefix for reverse proxy or multi-service setups. |
|
|
213
|
+
| [`unix-socket-local`](../examples/configure-http/unix-socket-local.md) | Intermediate | Bind the server to a unix socket instead of a TCP port for local-only communication. |
|
|
214
|
+
|
|
215
|
+
> See all examples in [`examples/configure-http/`](../examples/configure-http/)
|
|
216
|
+
|
|
202
217
|
## Reference
|
|
203
218
|
|
|
204
219
|
- [HTTP Server Docs](https://docs.agentfront.dev/frontmcp/deployment/local-dev-server)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-session
|
|
3
|
+
description: Set up session storage with Redis or Vercel KV for persistent user state across requests
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configure Session Management
|
|
2
7
|
|
|
3
8
|
This skill covers setting up session storage in FrontMCP. Sessions track authenticated user state, token storage, and request context across MCP interactions.
|
|
@@ -199,6 +204,16 @@ const pubsubStore = createPubsubStore({
|
|
|
199
204
|
| Session key collisions between servers | Multiple servers share the same Redis instance and `keyPrefix` | Set a unique `keyPrefix` per server (e.g., `billing-mcp:session:`, `api-mcp:session:`) |
|
|
200
205
|
| Pub/sub not working with Vercel KV | Vercel KV does not support pub/sub operations | Add a separate `pubsub` config pointing to a real Redis instance |
|
|
201
206
|
|
|
207
|
+
## Examples
|
|
208
|
+
|
|
209
|
+
| Example | Level | Description |
|
|
210
|
+
| ------------------------------------------------------------------------------------- | ------------ | -------------------------------------------------------------------------------- |
|
|
211
|
+
| [`multi-server-key-prefix`](../examples/configure-session/multi-server-key-prefix.md) | Intermediate | Use unique key prefixes when multiple FrontMCP servers share one Redis instance. |
|
|
212
|
+
| [`redis-session-store`](../examples/configure-session/redis-session-store.md) | Basic | Configure Redis-backed session storage for production deployments. |
|
|
213
|
+
| [`vercel-kv-session`](../examples/configure-session/vercel-kv-session.md) | Intermediate | Configure Vercel KV for session storage in serverless Vercel deployments. |
|
|
214
|
+
|
|
215
|
+
> See all examples in [`examples/configure-session/`](../examples/configure-session/)
|
|
216
|
+
|
|
202
217
|
## Reference
|
|
203
218
|
|
|
204
219
|
- [Session Storage Docs](https://docs.agentfront.dev/frontmcp/deployment/redis-setup)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-throttle-guard-config
|
|
3
|
+
description: Complete GuardConfig interface reference for rate limiting, concurrency, and IP filtering
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# GuardConfig Full Reference
|
|
2
7
|
|
|
3
8
|
## Complete Configuration
|
|
@@ -66,3 +71,12 @@ interface IpFilterConfig {
|
|
|
66
71
|
4. Per-tool rate limit — checked per tool
|
|
67
72
|
5. Per-tool concurrency — checked per tool
|
|
68
73
|
6. Per-tool timeout — enforced during execution
|
|
74
|
+
|
|
75
|
+
## Examples
|
|
76
|
+
|
|
77
|
+
| Example | Level | Description |
|
|
78
|
+
| --------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------ |
|
|
79
|
+
| [`full-guard-config`](../examples/configure-throttle-guard-config/full-guard-config.md) | Advanced | Complete GuardConfig using every available field for maximum protection. |
|
|
80
|
+
| [`minimal-guard-config`](../examples/configure-throttle-guard-config/minimal-guard-config.md) | Basic | Enable throttle with just a global rate limit and default timeout. |
|
|
81
|
+
|
|
82
|
+
> See all examples in [`examples/configure-throttle-guard-config/`](../examples/configure-throttle-guard-config/)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-throttle
|
|
3
|
+
description: Protect servers with rate limiting, concurrency control, execution timeouts, and IP filtering
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configuring Throttle, Rate Limits, and IP Filtering
|
|
2
7
|
|
|
3
8
|
Protect your FrontMCP server with rate limiting, concurrency control, execution timeouts, and IP filtering — at both server and per-tool levels.
|
|
@@ -223,6 +228,16 @@ done
|
|
|
223
228
|
| `X-Forwarded-For` header ignored | `ipFilter.trustProxy` not enabled or `trustedProxyDepth` too low | Set `trustProxy: true` and adjust `trustedProxyDepth` to match your proxy chain |
|
|
224
229
|
| Rate limit resets not aligned with expectations | `windowMs` misunderstood as a sliding window when it is a fixed window | The window is fixed; all counters reset at the end of each `windowMs` interval |
|
|
225
230
|
|
|
231
|
+
## Examples
|
|
232
|
+
|
|
233
|
+
| Example | Level | Description |
|
|
234
|
+
| -------------------------------------------------------------------------------------------- | ------------ | ------------------------------------------------------------------------------------------- |
|
|
235
|
+
| [`distributed-redis-throttle`](../examples/configure-throttle/distributed-redis-throttle.md) | Advanced | Configure Redis-backed rate limiting for multi-instance deployments behind a load balancer. |
|
|
236
|
+
| [`per-tool-rate-limit`](../examples/configure-throttle/per-tool-rate-limit.md) | Intermediate | Override server defaults with per-tool rate limits and concurrency caps. |
|
|
237
|
+
| [`server-level-rate-limit`](../examples/configure-throttle/server-level-rate-limit.md) | Basic | Configure global rate limits and IP filtering at the server level. |
|
|
238
|
+
|
|
239
|
+
> See all examples in [`examples/configure-throttle/`](../examples/configure-throttle/)
|
|
240
|
+
|
|
226
241
|
## Reference
|
|
227
242
|
|
|
228
243
|
- [Guard Configuration Docs](https://docs.agentfront.dev/frontmcp/servers/guard)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-transport-protocol-presets
|
|
3
|
+
description: Reference for legacy, modern, stateless, and minimal transport protocol presets
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Transport Protocol Presets Reference
|
|
2
7
|
|
|
3
8
|
## Preset Configurations
|
|
@@ -55,3 +60,12 @@ All protocols enabled. Maximum flexibility.
|
|
|
55
60
|
| AWS Lambda | `'stateless-api'` | Stateless execution model |
|
|
56
61
|
| Cloudflare Workers | `'stateless-api'` | Stateless edge runtime |
|
|
57
62
|
| Development | `'full'` | Test all protocols |
|
|
63
|
+
|
|
64
|
+
## Examples
|
|
65
|
+
|
|
66
|
+
| Example | Level | Description |
|
|
67
|
+
| ---------------------------------------------------------------------------------------------------------- | ------------ | ----------------------------------------------------------------------------- |
|
|
68
|
+
| [`legacy-preset-nodejs`](../examples/configure-transport-protocol-presets/legacy-preset-nodejs.md) | Basic | Use the default legacy preset for maximum compatibility with all MCP clients. |
|
|
69
|
+
| [`stateless-api-serverless`](../examples/configure-transport-protocol-presets/stateless-api-serverless.md) | Intermediate | Use the stateless-api preset for Vercel, Lambda, or Cloudflare Workers. |
|
|
70
|
+
|
|
71
|
+
> See all examples in [`examples/configure-transport-protocol-presets/`](../examples/configure-transport-protocol-presets/)
|
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: configure-transport
|
|
3
|
+
description: Configure client transport protocols including SSE, Streamable HTTP, and stateless API modes
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Configuring Transport
|
|
2
7
|
|
|
3
8
|
Configure how clients connect to your FrontMCP server — SSE, Streamable HTTP, stateless API, or a combination.
|
|
@@ -189,6 +194,16 @@ curl -X POST http://localhost:3001/ -H 'Content-Type: application/json' -d '{"js
|
|
|
189
194
|
| Session not found after server restart | In-memory sessions do not survive restarts | Enable Redis persistence with `distributedMode: true` |
|
|
190
195
|
| Streamable HTTP returns 404 | Streamable HTTP is not enabled in the current preset | Use `'modern'`, `'legacy'`, or `'full'` preset, or set `streamable: true` in custom config |
|
|
191
196
|
|
|
197
|
+
## Examples
|
|
198
|
+
|
|
199
|
+
| Example | Level | Description |
|
|
200
|
+
| --------------------------------------------------------------------------------------------- | ------------ | ---------------------------------------------------------------------------------------- |
|
|
201
|
+
| [`custom-protocol-flags`](../examples/configure-transport/custom-protocol-flags.md) | Advanced | Override individual protocol flags instead of using a preset for fine-grained control. |
|
|
202
|
+
| [`distributed-sessions-redis`](../examples/configure-transport/distributed-sessions-redis.md) | Intermediate | Configure transport with Redis persistence for multi-instance load-balanced deployments. |
|
|
203
|
+
| [`stateless-serverless`](../examples/configure-transport/stateless-serverless.md) | Basic | Configure stateless transport for Vercel, Lambda, or Cloudflare deployments. |
|
|
204
|
+
|
|
205
|
+
> See all examples in [`examples/configure-transport/`](../examples/configure-transport/)
|
|
206
|
+
|
|
192
207
|
## Reference
|
|
193
208
|
|
|
194
209
|
- **Docs:** [Runtime Modes and Transport Configuration](https://docs.agentfront.dev/frontmcp/deployment/runtime-modes)
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-redis
|
|
3
|
+
description: Cross-reference to the full Redis configuration guide in frontmcp-setup
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# Redis Setup Reference
|
|
2
7
|
|
|
3
8
|
> This reference is maintained in `frontmcp-setup/references/setup-redis.md`.
|
|
4
9
|
> See that file for the full Redis configuration guide including connection options, Vercel KV setup, Docker Compose examples, and troubleshooting.
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
> Examples for Redis setup are maintained alongside the canonical reference.
|
|
14
|
+
> See [`frontmcp-setup/examples/setup-redis/`](../../frontmcp-setup/examples/setup-redis/).
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: setup-sqlite
|
|
3
|
+
description: Cross-reference to the full SQLite configuration guide in frontmcp-setup
|
|
4
|
+
---
|
|
5
|
+
|
|
1
6
|
# SQLite Setup Reference
|
|
2
7
|
|
|
3
8
|
> This reference is maintained in `frontmcp-setup/references/setup-sqlite.md`.
|
|
4
9
|
> See that file for the full SQLite configuration guide including WAL mode, encryption, daemon mode, and troubleshooting.
|
|
10
|
+
|
|
11
|
+
## Examples
|
|
12
|
+
|
|
13
|
+
> Examples for SQLite setup are maintained alongside the canonical reference.
|
|
14
|
+
> See [`frontmcp-setup/examples/setup-sqlite/`](../../frontmcp-setup/examples/setup-sqlite/).
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: frontmcp-deployment
|
|
3
|
-
description:
|
|
3
|
+
description: 'Use when you need to deploy, build for production, containerize, or ship a FrontMCP server. Covers Vercel, Lambda, Cloudflare, Docker, edge runtime, serverless, bundle for CLI, and Node targets. Triggers: deploy, build for production, dockerize, serverless, go live.'
|
|
4
4
|
tags: [router, deployment, node, vercel, lambda, cloudflare, cli, browser, sdk, guide]
|
|
5
|
+
category: deployment
|
|
6
|
+
targets: [all]
|
|
7
|
+
bundle: [recommended, minimal, full]
|
|
5
8
|
priority: 10
|
|
6
9
|
visibility: both
|
|
7
10
|
license: Apache-2.0
|
|
8
11
|
metadata:
|
|
9
|
-
docs: https://docs.agentfront.dev/frontmcp/deployment/
|
|
12
|
+
docs: https://docs.agentfront.dev/frontmcp/deployment/runtime-modes
|
|
10
13
|
---
|
|
11
14
|
|
|
12
15
|
# FrontMCP Deployment Router
|
|
@@ -50,15 +53,40 @@ Entry point for deploying and building FrontMCP servers. This skill helps you ch
|
|
|
50
53
|
|
|
51
54
|
## Scenario Routing Table
|
|
52
55
|
|
|
53
|
-
| Scenario | Skill
|
|
54
|
-
| ------------------------------------------------- |
|
|
55
|
-
| Long-running server on VPS, Docker, or bare metal | `deploy-to-node`
|
|
56
|
-
| Serverless with zero config and Vercel KV | `deploy-to-vercel`
|
|
57
|
-
| AWS serverless with API Gateway | `deploy-to-lambda`
|
|
58
|
-
| Edge computing with global distribution | `deploy-to-cloudflare`
|
|
59
|
-
| Standalone executable binary for distribution | `build-for-cli`
|
|
60
|
-
| Run MCP in a web browser | `build-for-browser`
|
|
61
|
-
| Embed MCP into an existing Node.js application | `build-for-sdk`
|
|
56
|
+
| Scenario | Skill | Description |
|
|
57
|
+
| ------------------------------------------------- | --------------------------- | ----------------------------------------------------------------------- |
|
|
58
|
+
| Long-running server on VPS, Docker, or bare metal | `deploy-to-node` | Node.js with stdio or HTTP transport, PM2/Docker for process management |
|
|
59
|
+
| Serverless with zero config and Vercel KV | `deploy-to-vercel` | Vercel Functions with Streamable HTTP, Vercel KV for storage |
|
|
60
|
+
| AWS serverless with API Gateway | `deploy-to-lambda` | Lambda + API Gateway with Streamable HTTP, DynamoDB or ElastiCache |
|
|
61
|
+
| Edge computing with global distribution | `deploy-to-cloudflare` | Cloudflare Workers with KV or Durable Objects for storage |
|
|
62
|
+
| Standalone executable binary for distribution | `build-for-cli` | Single-binary CLI with stdio transport, embedded storage |
|
|
63
|
+
| Run MCP in a web browser | `build-for-browser` | Browser-compatible bundle with in-memory transport |
|
|
64
|
+
| Embed MCP into an existing Node.js application | `build-for-sdk` | Library build for programmatic usage without standalone server |
|
|
65
|
+
| Write a Dockerfile for Node.js deployment | `deploy-to-node-dockerfile` | Dockerfile configuration for Node.js deployment |
|
|
66
|
+
| Configure Vercel-specific settings (vercel.json) | `deploy-to-vercel-config` | Vercel-specific configuration (vercel.json) |
|
|
67
|
+
|
|
68
|
+
### CLI Commands for Deployment and Operations
|
|
69
|
+
|
|
70
|
+
Beyond `frontmcp build`, the CLI provides commands for the full deployment lifecycle:
|
|
71
|
+
|
|
72
|
+
| Command | Description |
|
|
73
|
+
| ---------------------------- | ----------------------------------------------------------------------------------- |
|
|
74
|
+
| `frontmcp build -t <target>` | Build for target: `node`, `vercel`, `lambda`, `cloudflare`, `cli`, `browser`, `sdk` |
|
|
75
|
+
| `frontmcp build -t cli --js` | Build CLI as JS bundle (instead of native binary via SEA) |
|
|
76
|
+
| `frontmcp start <name>` | Start a named MCP server with supervisor (process management) |
|
|
77
|
+
| `frontmcp stop <name>` | Stop managed server (`-f` for force kill) |
|
|
78
|
+
| `frontmcp restart <name>` | Restart managed server |
|
|
79
|
+
| `frontmcp status [name]` | Show process status (detail if name given, table if omitted) |
|
|
80
|
+
| `frontmcp list` | List all managed processes |
|
|
81
|
+
| `frontmcp logs <name>` | Tail log output (`-F` follow, `-n` lines) |
|
|
82
|
+
| `frontmcp socket <entry>` | Start Unix socket daemon for local MCP server |
|
|
83
|
+
| `frontmcp service <action>` | Install/uninstall systemd (Linux) or launchd (macOS) service |
|
|
84
|
+
| `frontmcp install <source>` | Install MCP app from npm, local path, or git |
|
|
85
|
+
| `frontmcp uninstall <name>` | Remove installed MCP app |
|
|
86
|
+
| `frontmcp configure <name>` | Re-run setup questionnaire for installed app |
|
|
87
|
+
| `frontmcp doctor` | Check Node.js/npm versions and tsconfig requirements |
|
|
88
|
+
| `frontmcp inspector` | Launch MCP Inspector for debugging |
|
|
89
|
+
| `frontmcp init` | Create or fix tsconfig.json for FrontMCP |
|
|
62
90
|
|
|
63
91
|
## Target Comparison
|
|
64
92
|
|
|
@@ -120,5 +148,5 @@ Entry point for deploying and building FrontMCP servers. This skill helps you ch
|
|
|
120
148
|
|
|
121
149
|
## Reference
|
|
122
150
|
|
|
123
|
-
- [
|
|
151
|
+
- [Runtime Modes](https://docs.agentfront.dev/frontmcp/deployment/runtime-modes)
|
|
124
152
|
- 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`
|
package/catalog/frontmcp-deployment/examples/build-for-browser/browser-build-with-custom-entry.md
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-build-with-custom-entry
|
|
3
|
+
reference: build-for-browser
|
|
4
|
+
level: intermediate
|
|
5
|
+
description: 'Build a browser bundle using a dedicated client entry file that avoids Node.js-only imports.'
|
|
6
|
+
tags: [deployment, browser, node, custom, entry]
|
|
7
|
+
features:
|
|
8
|
+
- 'Creating a separate browser entry point (`src/client.ts`) that avoids importing Node.js-only modules like `fs` or `node:crypto`'
|
|
9
|
+
- 'Using the `-e` and `-o` flags to customize the entry file and output directory'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Browser Build with Custom Entry
|
|
13
|
+
|
|
14
|
+
Build a browser bundle using a dedicated client entry file that avoids Node.js-only imports.
|
|
15
|
+
|
|
16
|
+
## Code
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
// src/client.ts
|
|
20
|
+
// Browser-safe entry point - no Node.js modules imported here
|
|
21
|
+
import { FrontMcpProvider, useTools, useResources } from '@frontmcp/react';
|
|
22
|
+
|
|
23
|
+
export { FrontMcpProvider, useTools, useResources };
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
# Build with custom entry and output directory
|
|
28
|
+
frontmcp build --target browser -e ./src/client.ts -o ./dist/browser
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Verify output contains no Node.js-only modules
|
|
33
|
+
ls dist/browser/
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## What This Demonstrates
|
|
37
|
+
|
|
38
|
+
- Creating a separate browser entry point (`src/client.ts`) that avoids importing Node.js-only modules like `fs` or `node:crypto`
|
|
39
|
+
- Using the `-e` and `-o` flags to customize the entry file and output directory
|
|
40
|
+
|
|
41
|
+
## Related
|
|
42
|
+
|
|
43
|
+
- See `build-for-browser` for the full browser limitations table and verification checklist
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: browser-crypto-and-storage
|
|
3
|
+
reference: build-for-browser
|
|
4
|
+
level: advanced
|
|
5
|
+
description: 'Use `@frontmcp/utils` crypto functions (WebCrypto API) and in-memory storage in browser environments.'
|
|
6
|
+
tags: [deployment, browser, database, remote, node, crypto]
|
|
7
|
+
features:
|
|
8
|
+
- 'Using `@frontmcp/utils` for PKCE and hashing in the browser (backed by WebCrypto, not `node:crypto`)'
|
|
9
|
+
- 'Avoiding filesystem and native database storage in browser builds by relying on a remote server for persistence'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# Browser-Safe Crypto and Storage
|
|
13
|
+
|
|
14
|
+
Use `@frontmcp/utils` crypto functions (WebCrypto API) and in-memory storage in browser environments.
|
|
15
|
+
|
|
16
|
+
## Code
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
// src/browser-auth.ts
|
|
20
|
+
import { generateCodeVerifier, generateCodeChallenge, sha256Base64url, randomUUID } from '@frontmcp/utils';
|
|
21
|
+
|
|
22
|
+
// PKCE flow in the browser - uses WebCrypto API automatically
|
|
23
|
+
async function startPkceFlow(): Promise<{
|
|
24
|
+
verifier: string;
|
|
25
|
+
challenge: string;
|
|
26
|
+
state: string;
|
|
27
|
+
}> {
|
|
28
|
+
const verifier = generateCodeVerifier();
|
|
29
|
+
const challenge = await generateCodeChallenge(verifier);
|
|
30
|
+
const state = randomUUID();
|
|
31
|
+
|
|
32
|
+
return { verifier, challenge, state };
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
// Hash a value using WebCrypto (works in browsers)
|
|
36
|
+
async function hashToken(token: string): Promise<string> {
|
|
37
|
+
return sha256Base64url(token);
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export { startPkceFlow, hashToken };
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
// src/client-app.tsx
|
|
45
|
+
import { FrontMcpProvider, useTools } from '@frontmcp/react';
|
|
46
|
+
|
|
47
|
+
// Browser environments cannot use Redis or SQLite.
|
|
48
|
+
// Use in-memory stores or connect to a remote server that handles persistence.
|
|
49
|
+
function App() {
|
|
50
|
+
return (
|
|
51
|
+
<FrontMcpProvider
|
|
52
|
+
config={{
|
|
53
|
+
serverUrl: 'https://my-mcp.example.com',
|
|
54
|
+
// No local storage config - the remote server handles persistence
|
|
55
|
+
}}
|
|
56
|
+
>
|
|
57
|
+
<ToolDashboard />
|
|
58
|
+
</FrontMcpProvider>
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
function ToolDashboard() {
|
|
63
|
+
const { tools, callTool } = useTools();
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<div>
|
|
67
|
+
<h1>MCP Tools</h1>
|
|
68
|
+
{tools.map((tool) => (
|
|
69
|
+
<div key={tool.name}>{tool.name}</div>
|
|
70
|
+
))}
|
|
71
|
+
</div>
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export default App;
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## What This Demonstrates
|
|
79
|
+
|
|
80
|
+
- Using `@frontmcp/utils` for PKCE and hashing in the browser (backed by WebCrypto, not `node:crypto`)
|
|
81
|
+
- Avoiding filesystem and native database storage in browser builds by relying on a remote server for persistence
|
|
82
|
+
|
|
83
|
+
## Related
|
|
84
|
+
|
|
85
|
+
- See `build-for-browser` for the complete browser support table and troubleshooting guide
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: react-provider-setup
|
|
3
|
+
reference: build-for-browser
|
|
4
|
+
level: basic
|
|
5
|
+
description: 'Connect a React application to a remote FrontMCP server using `@frontmcp/react`.'
|
|
6
|
+
tags: [deployment, react, browser, remote, provider, setup]
|
|
7
|
+
features:
|
|
8
|
+
- 'Wrapping your React app with `FrontMcpProvider` and pointing it at a remote server URL'
|
|
9
|
+
- 'Using the `useTools` hook to list and invoke MCP tools from a React component'
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
# React Provider Setup
|
|
13
|
+
|
|
14
|
+
Connect a React application to a remote FrontMCP server using `@frontmcp/react`.
|
|
15
|
+
|
|
16
|
+
## Code
|
|
17
|
+
|
|
18
|
+
```typescript
|
|
19
|
+
// src/App.tsx
|
|
20
|
+
import { FrontMcpProvider, useTools } from '@frontmcp/react';
|
|
21
|
+
|
|
22
|
+
function App() {
|
|
23
|
+
return (
|
|
24
|
+
<FrontMcpProvider config={{ serverUrl: 'https://my-mcp.example.com' }}>
|
|
25
|
+
<ToolUI />
|
|
26
|
+
</FrontMcpProvider>
|
|
27
|
+
);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function ToolUI() {
|
|
31
|
+
const { tools, callTool } = useTools();
|
|
32
|
+
|
|
33
|
+
const handleClick = async (toolName: string) => {
|
|
34
|
+
const result = await callTool(toolName, { query: 'hello' });
|
|
35
|
+
console.log(result);
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
return (
|
|
39
|
+
<ul>
|
|
40
|
+
{tools.map((tool) => (
|
|
41
|
+
<li key={tool.name}>
|
|
42
|
+
<button onClick={() => handleClick(tool.name)}>
|
|
43
|
+
{tool.name}: {tool.description}
|
|
44
|
+
</button>
|
|
45
|
+
</li>
|
|
46
|
+
))}
|
|
47
|
+
</ul>
|
|
48
|
+
);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export default App;
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## What This Demonstrates
|
|
55
|
+
|
|
56
|
+
- Wrapping your React app with `FrontMcpProvider` and pointing it at a remote server URL
|
|
57
|
+
- Using the `useTools` hook to list and invoke MCP tools from a React component
|
|
58
|
+
|
|
59
|
+
## Related
|
|
60
|
+
|
|
61
|
+
- See `build-for-browser` for the full build command and browser limitations
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: cli-binary-build
|
|
3
|
+
reference: build-for-cli
|
|
4
|
+
level: basic
|
|
5
|
+
description: 'Build a FrontMCP server as a standalone binary using Node.js Single Executable Applications (SEA).'
|
|
6
|
+
tags: [deployment, cli, local, node, binary]
|
|
7
|
+
features:
|
|
8
|
+
- 'Building a FrontMCP server as a self-contained binary with `--target cli`'
|
|
9
|
+
- 'Using `socketPath` for local communication instead of a TCP port'
|
|
10
|
+
- 'The `--js` flag to produce a bundled JS file without the native binary wrapper'
|
|
11
|
+
---
|
|
12
|
+
|
|
13
|
+
# CLI Binary Build
|
|
14
|
+
|
|
15
|
+
Build a FrontMCP server as a standalone binary using Node.js Single Executable Applications (SEA).
|
|
16
|
+
|
|
17
|
+
## Code
|
|
18
|
+
|
|
19
|
+
```typescript
|
|
20
|
+
// src/main.ts
|
|
21
|
+
import { FrontMcp, App, Tool, ToolContext } from '@frontmcp/sdk';
|
|
22
|
+
import { z } from 'zod';
|
|
23
|
+
|
|
24
|
+
@Tool({
|
|
25
|
+
name: 'greet',
|
|
26
|
+
description: 'Greet a user by name',
|
|
27
|
+
inputSchema: { name: z.string() },
|
|
28
|
+
})
|
|
29
|
+
class GreetTool extends ToolContext<{ name: string }> {
|
|
30
|
+
async execute(input: { name: string }) {
|
|
31
|
+
return { content: [{ type: 'text' as const, text: `Hello, ${input.name}!` }] };
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
@App({ name: 'GreeterApp', tools: [GreetTool] })
|
|
36
|
+
class GreeterApp {}
|
|
37
|
+
|
|
38
|
+
@FrontMcp({
|
|
39
|
+
info: { name: 'greeter-cli', version: '1.0.0' },
|
|
40
|
+
apps: [GreeterApp],
|
|
41
|
+
http: { socketPath: '/tmp/greeter.sock' },
|
|
42
|
+
})
|
|
43
|
+
class GreeterCLI {}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
# Build the SEA binary (requires Node.js 24+)
|
|
48
|
+
frontmcp build --target cli
|
|
49
|
+
|
|
50
|
+
# Test the binary
|
|
51
|
+
./dist/greeter-cli --help
|
|
52
|
+
|
|
53
|
+
# Or build a JS bundle only (no SEA)
|
|
54
|
+
frontmcp build --target cli --js
|
|
55
|
+
node dist/greeter-cli.cjs.js
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
## What This Demonstrates
|
|
59
|
+
|
|
60
|
+
- Building a FrontMCP server as a self-contained binary with `--target cli`
|
|
61
|
+
- Using `socketPath` for local communication instead of a TCP port
|
|
62
|
+
- The `--js` flag to produce a bundled JS file without the native binary wrapper
|
|
63
|
+
|
|
64
|
+
## Related
|
|
65
|
+
|
|
66
|
+
- See `build-for-cli` for SEA requirements, process management, and system service installation
|