@frontmcp/skills 1.0.3 → 1.1.0-beta.1

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.
Files changed (141) hide show
  1. package/catalog/frontmcp-authorities/SKILL.md +272 -0
  2. package/catalog/frontmcp-authorities/references/authority-profiles.md +262 -0
  3. package/catalog/frontmcp-authorities/references/claims-mapping.md +266 -0
  4. package/catalog/frontmcp-authorities/references/custom-evaluators.md +420 -0
  5. package/catalog/frontmcp-authorities/references/rbac-abac-rebac.md +391 -0
  6. package/catalog/frontmcp-channels/SKILL.md +122 -0
  7. package/catalog/frontmcp-channels/examples/channel-sources/agent-notify.md +70 -0
  8. package/catalog/frontmcp-channels/examples/channel-sources/app-errors.md +71 -0
  9. package/catalog/frontmcp-channels/examples/channel-sources/file-watcher.md +102 -0
  10. package/catalog/frontmcp-channels/examples/channel-sources/job-completion.md +79 -0
  11. package/catalog/frontmcp-channels/examples/channel-sources/replay-buffer.md +106 -0
  12. package/catalog/frontmcp-channels/examples/channel-sources/service-connector.md +136 -0
  13. package/catalog/frontmcp-channels/examples/channel-sources/webhook-github.md +85 -0
  14. package/catalog/frontmcp-channels/examples/channel-two-way/whatsapp-bridge.md +133 -0
  15. package/catalog/frontmcp-channels/references/channel-sources.md +214 -0
  16. package/catalog/frontmcp-channels/references/channel-two-way.md +195 -0
  17. package/catalog/frontmcp-config/SKILL.md +20 -18
  18. package/catalog/frontmcp-config/examples/configure-auth/multi-app-auth.md +1 -2
  19. package/catalog/frontmcp-config/examples/configure-auth/public-mode-setup.md +1 -2
  20. package/catalog/frontmcp-config/examples/configure-auth/remote-oauth-with-vault.md +1 -2
  21. package/catalog/frontmcp-config/examples/configure-auth-modes/local-self-signed-tokens.md +1 -2
  22. package/catalog/frontmcp-config/examples/configure-auth-modes/remote-enterprise-oauth.md +1 -2
  23. package/catalog/frontmcp-config/examples/configure-auth-modes/transparent-jwt-validation.md +1 -2
  24. package/catalog/frontmcp-config/examples/configure-deployment-targets/distributed-ha-config.md +121 -0
  25. package/catalog/frontmcp-config/examples/configure-deployment-targets/json-schema-ide-support.md +64 -0
  26. package/catalog/frontmcp-config/examples/configure-deployment-targets/multi-target-with-security.md +113 -0
  27. package/catalog/frontmcp-config/examples/configure-elicitation/basic-confirmation-gate.md +1 -2
  28. package/catalog/frontmcp-config/examples/configure-elicitation/distributed-elicitation-redis.md +1 -2
  29. package/catalog/frontmcp-config/examples/configure-http/entry-path-reverse-proxy.md +1 -2
  30. package/catalog/frontmcp-config/examples/configure-http/unix-socket-local.md +1 -2
  31. package/catalog/frontmcp-config/examples/configure-security-headers/csp-report-only.md +69 -0
  32. package/catalog/frontmcp-config/examples/configure-security-headers/full-production-headers.md +91 -0
  33. package/catalog/frontmcp-config/examples/configure-throttle/distributed-redis-throttle.md +1 -2
  34. package/catalog/frontmcp-config/examples/configure-throttle/per-tool-rate-limit.md +1 -2
  35. package/catalog/frontmcp-config/examples/configure-throttle/server-level-rate-limit.md +1 -2
  36. package/catalog/frontmcp-config/examples/configure-transport/custom-protocol-flags.md +1 -2
  37. package/catalog/frontmcp-config/examples/configure-transport/distributed-sessions-redis.md +1 -2
  38. package/catalog/frontmcp-config/examples/configure-transport/stateless-serverless.md +1 -2
  39. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/legacy-preset-nodejs.md +1 -2
  40. package/catalog/frontmcp-config/examples/configure-transport-protocol-presets/stateless-api-serverless.md +1 -2
  41. package/catalog/frontmcp-config/references/configure-deployment-targets.md +214 -0
  42. package/catalog/frontmcp-config/references/configure-elicitation.md +1 -2
  43. package/catalog/frontmcp-config/references/configure-security-headers.md +198 -0
  44. package/catalog/frontmcp-deployment/SKILL.md +1 -0
  45. package/catalog/frontmcp-deployment/examples/build-for-cli/cli-binary-build.md +1 -2
  46. package/catalog/frontmcp-deployment/examples/build-for-cli/unix-socket-daemon.md +1 -2
  47. package/catalog/frontmcp-deployment/examples/build-for-mcpb/mcpb-bundle-build.md +117 -0
  48. package/catalog/frontmcp-deployment/examples/build-for-sdk/connect-openai.md +1 -3
  49. package/catalog/frontmcp-deployment/examples/build-for-sdk/create-flat-config.md +1 -2
  50. package/catalog/frontmcp-deployment/examples/build-for-sdk/multi-platform-connect.md +3 -3
  51. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/basic-worker-deploy.md +1 -2
  52. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-custom-domain.md +1 -2
  53. package/catalog/frontmcp-deployment/examples/deploy-to-cloudflare/worker-with-kv-storage.md +1 -2
  54. package/catalog/frontmcp-deployment/examples/deploy-to-lambda/lambda-handler-with-cors.md +1 -2
  55. package/catalog/frontmcp-deployment/examples/deploy-to-vercel/vercel-with-kv.md +1 -2
  56. package/catalog/frontmcp-deployment/examples/mcp-client-integration/http-remote.md +106 -0
  57. package/catalog/frontmcp-deployment/examples/mcp-client-integration/stdio-binary-with-env.md +107 -0
  58. package/catalog/frontmcp-deployment/examples/mcp-client-integration/stdio-npx.md +89 -0
  59. package/catalog/frontmcp-deployment/references/build-for-mcpb.md +209 -0
  60. package/catalog/frontmcp-deployment/references/build-for-sdk.md +1 -2
  61. package/catalog/frontmcp-deployment/references/mcp-client-integration.md +225 -0
  62. package/catalog/frontmcp-development/SKILL.md +4 -3
  63. package/catalog/frontmcp-development/examples/create-agent/basic-agent-with-tools.md +3 -6
  64. package/catalog/frontmcp-development/examples/create-agent/custom-multi-pass-agent.md +1 -2
  65. package/catalog/frontmcp-development/examples/create-agent/nested-agents-with-swarm.md +2 -4
  66. package/catalog/frontmcp-development/examples/create-agent-llm-config/anthropic-config.md +1 -2
  67. package/catalog/frontmcp-development/examples/create-agent-llm-config/openai-config.md +1 -2
  68. package/catalog/frontmcp-development/examples/create-job/basic-report-job.md +1 -2
  69. package/catalog/frontmcp-development/examples/create-job/job-with-permissions.md +2 -3
  70. package/catalog/frontmcp-development/examples/create-job/job-with-retry.md +1 -2
  71. package/catalog/frontmcp-development/examples/create-plugin-hooks/tool-level-hooks-and-stage-replacement.md +2 -5
  72. package/catalog/frontmcp-development/examples/create-provider/basic-database-provider.md +4 -3
  73. package/catalog/frontmcp-development/examples/create-skill-with-tools/directory-skill-with-tools.md +2 -3
  74. package/catalog/frontmcp-development/examples/create-tool/basic-class-tool.md +1 -2
  75. package/catalog/frontmcp-development/examples/create-tool/tool-with-di-and-errors.md +2 -2
  76. package/catalog/frontmcp-development/examples/create-tool/tool-with-rate-limiting-and-progress.md +1 -2
  77. package/catalog/frontmcp-development/examples/create-tool-annotations/destructive-delete-tool.md +2 -4
  78. package/catalog/frontmcp-development/examples/create-tool-annotations/readonly-query-tool.md +1 -2
  79. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/primitive-and-media-outputs.md +3 -6
  80. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-raw-shape-output.md +1 -2
  81. package/catalog/frontmcp-development/examples/create-tool-output-schema-types/zod-schema-advanced-output.md +2 -4
  82. package/catalog/frontmcp-development/examples/decorators-guide/agent-skill-job-workflow.md +3 -5
  83. package/catalog/frontmcp-development/examples/decorators-guide/basic-server-with-app-and-tools.md +5 -5
  84. package/catalog/frontmcp-development/examples/decorators-guide/multi-app-with-plugins-and-providers.md +4 -6
  85. package/catalog/frontmcp-development/examples/official-plugins/cache-and-feature-flags.md +3 -5
  86. package/catalog/frontmcp-development/examples/official-plugins/production-multi-plugin-setup.md +4 -5
  87. package/catalog/frontmcp-development/examples/official-plugins/remember-plugin-session-memory.md +3 -5
  88. package/catalog/frontmcp-development/examples/{official-adapters → openapi-adapter}/authenticated-adapter-with-polling.md +2 -2
  89. package/catalog/frontmcp-development/examples/{official-adapters → openapi-adapter}/basic-openapi-adapter.md +2 -2
  90. package/catalog/frontmcp-development/examples/openapi-adapter/format-resolution-and-custom-resolvers.md +108 -0
  91. package/catalog/frontmcp-development/examples/{official-adapters → openapi-adapter}/multi-api-hub-with-inline-spec.md +2 -2
  92. package/catalog/frontmcp-development/examples/openapi-adapter/ref-security-and-filtering.md +111 -0
  93. package/catalog/frontmcp-development/references/create-agent.md +4 -7
  94. package/catalog/frontmcp-development/references/create-job.md +3 -6
  95. package/catalog/frontmcp-development/references/create-plugin-hooks.md +12 -16
  96. package/catalog/frontmcp-development/references/create-skill-with-tools.md +2 -3
  97. package/catalog/frontmcp-development/references/create-tool.md +93 -23
  98. package/catalog/frontmcp-development/references/create-workflow.md +2 -3
  99. package/catalog/frontmcp-development/references/decorators-guide.md +32 -36
  100. package/catalog/frontmcp-development/references/official-adapters.md +24 -153
  101. package/catalog/frontmcp-development/references/openapi-adapter.md +431 -0
  102. package/catalog/frontmcp-extensibility/examples/vectoriadb/product-catalog-search.md +4 -4
  103. package/catalog/frontmcp-extensibility/examples/vectoriadb/semantic-search-with-persistence.md +4 -4
  104. package/catalog/frontmcp-extensibility/examples/vectoriadb/tfidf-keyword-search.md +4 -3
  105. package/catalog/frontmcp-guides/SKILL.md +3 -3
  106. package/catalog/frontmcp-guides/examples/example-knowledge-base/agent-and-plugin.md +4 -5
  107. package/catalog/frontmcp-guides/examples/example-knowledge-base/vector-search-and-resources.md +4 -3
  108. package/catalog/frontmcp-guides/examples/example-task-manager/auth-and-crud-tools.md +4 -4
  109. package/catalog/frontmcp-guides/examples/example-weather-api/weather-tool-with-schemas.md +1 -2
  110. package/catalog/frontmcp-guides/references/example-knowledge-base.md +22 -17
  111. package/catalog/frontmcp-guides/references/example-task-manager.md +16 -11
  112. package/catalog/frontmcp-guides/references/example-weather-api.md +6 -3
  113. package/catalog/frontmcp-observability/examples/telemetry-api/tool-custom-spans.md +2 -3
  114. package/catalog/frontmcp-observability/examples/tracing-setup/basic-tracing.md +4 -3
  115. package/catalog/frontmcp-observability/references/telemetry-api.md +2 -3
  116. package/catalog/frontmcp-production-readiness/examples/common-checklist/observability-setup.md +1 -2
  117. package/catalog/frontmcp-production-readiness/examples/common-checklist/security-hardening.md +3 -4
  118. package/catalog/frontmcp-production-readiness/examples/distributed-ha/ha-kubernetes-3-replicas.md +229 -0
  119. package/catalog/frontmcp-production-readiness/examples/production-browser/cross-platform-crypto.md +2 -3
  120. package/catalog/frontmcp-production-readiness/examples/production-cli-binary/stdio-transport-error-handling.md +1 -2
  121. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/durable-objects-state.md +2 -4
  122. package/catalog/frontmcp-production-readiness/examples/production-cloudflare/workers-runtime-constraints.md +2 -3
  123. package/catalog/frontmcp-production-readiness/examples/production-lambda/cold-start-connection-reuse.md +3 -2
  124. package/catalog/frontmcp-production-readiness/examples/production-vercel/cold-start-optimization.md +2 -2
  125. package/catalog/frontmcp-production-readiness/examples/production-vercel/stateless-serverless-design.md +3 -3
  126. package/catalog/frontmcp-production-readiness/references/distributed-ha.md +194 -0
  127. package/catalog/frontmcp-setup/SKILL.md +11 -11
  128. package/catalog/frontmcp-setup/examples/project-structure-standalone/feature-folder-organization.md +5 -3
  129. package/catalog/frontmcp-setup/examples/project-structure-standalone/minimal-standalone-layout.md +4 -2
  130. package/catalog/frontmcp-setup/examples/setup-project/basic-node-server.md +4 -2
  131. package/catalog/frontmcp-setup/examples/setup-project/vercel-serverless-server.md +4 -2
  132. package/catalog/frontmcp-setup/examples/setup-redis/hybrid-vercel-kv-with-pubsub.md +8 -7
  133. package/catalog/frontmcp-setup/references/setup-project.md +10 -9
  134. package/catalog/frontmcp-setup/references/setup-redis.md +19 -16
  135. package/catalog/frontmcp-testing/examples/test-direct-client/basic-create-test.md +1 -3
  136. package/catalog/frontmcp-testing/examples/test-direct-client/openai-claude-format-test.md +1 -3
  137. package/catalog/frontmcp-testing/examples/test-tool-unit/schema-validation-test.md +2 -2
  138. package/catalog/frontmcp-testing/references/test-direct-client.md +1 -3
  139. package/catalog/frontmcp-testing/references/test-tool-unit.md +2 -2
  140. package/catalog/skills-manifest.json +364 -12
  141. package/package.json +1 -1
@@ -364,6 +364,77 @@
364
364
  "name": "setup-sqlite",
365
365
  "description": "Cross-reference to the full SQLite configuration guide in frontmcp-setup",
366
366
  "examples": []
367
+ },
368
+ {
369
+ "name": "configure-deployment-targets",
370
+ "description": "Configure multi-target builds with frontmcp.config.ts for node, distributed, vercel, lambda, cloudflare, browser, cli, and sdk targets",
371
+ "examples": [
372
+ {
373
+ "name": "multi-target-with-security",
374
+ "description": "Configure a FrontMCP project with node + distributed targets, CSP headers, and HSTS",
375
+ "level": "intermediate",
376
+ "tags": ["config", "deployment", "csp", "security", "distributed", "hsts", "multi-target"],
377
+ "features": [
378
+ "Using defineConfig() for typed configuration with IDE autocomplete",
379
+ "Multi-target deployments with per-target server settings",
380
+ "CSP directives including value-less directives like upgrade-insecure-requests",
381
+ "Security headers (HSTS, X-Frame-Options, X-Content-Type-Options)",
382
+ "HA configuration for the distributed target"
383
+ ]
384
+ },
385
+ {
386
+ "name": "distributed-ha-config",
387
+ "description": "Configure a distributed deployment target with HA settings for heartbeat, session takeover, and Redis-backed session persistence",
388
+ "level": "advanced",
389
+ "tags": ["config", "deployment", "distributed", "ha", "redis", "heartbeat", "session-takeover"],
390
+ "features": [
391
+ "Configuring the distributed deployment target with HA options",
392
+ "Setting custom heartbeat intervals and TTL for pod liveness detection",
393
+ "Combining server config (CSP, cookies) with HA config in the same target",
394
+ "Using per-target environment variables for Redis connection"
395
+ ]
396
+ },
397
+ {
398
+ "name": "json-schema-ide-support",
399
+ "description": "Use frontmcp.config.json with JSON Schema for VS Code and WebStorm autocomplete",
400
+ "level": "basic",
401
+ "tags": ["config", "deployment", "json", "schema", "ide", "autocomplete"],
402
+ "features": [
403
+ "Adding $schema field for IDE autocomplete in JSON config files",
404
+ "Configuring multiple deployment targets in JSON format",
405
+ "Using the frontmcp.schema.json for property validation and hover docs"
406
+ ]
407
+ }
408
+ ]
409
+ },
410
+ {
411
+ "name": "configure-security-headers",
412
+ "description": "Configure CSP, HSTS, X-Frame-Options, and X-Content-Type-Options via frontmcp.config server settings",
413
+ "examples": [
414
+ {
415
+ "name": "csp-report-only",
416
+ "description": "Test CSP policies in report-only mode to identify violations before enforcement",
417
+ "level": "basic",
418
+ "tags": ["config", "csp", "security", "report-only", "headers"],
419
+ "features": [
420
+ "Enabling CSP in report-only mode with reportUri for violation monitoring",
421
+ "Using the object-format directives in frontmcp.config",
422
+ "Verifying report-only header is emitted instead of enforcement header"
423
+ ]
424
+ },
425
+ {
426
+ "name": "full-production-headers",
427
+ "description": "Complete security headers configuration for production with CSP enforcement, HSTS preload, and clickjacking protection",
428
+ "level": "intermediate",
429
+ "tags": ["config", "csp", "security", "hsts", "production", "headers", "frame-options"],
430
+ "features": [
431
+ "Full CSP enforcement with multiple directive types including value-less directives",
432
+ "HSTS with preload and includeSubDomains for HTTPS enforcement",
433
+ "X-Frame-Options DENY for clickjacking protection",
434
+ "Custom headers for additional security controls"
435
+ ]
436
+ }
437
+ ]
367
438
  }
368
439
  ]
369
440
  },
@@ -441,6 +512,23 @@
441
512
  }
442
513
  ]
443
514
  },
515
+ {
516
+ "name": "build-for-mcpb",
517
+ "description": "Package a FrontMCP server as a .mcpb archive that Claude Desktop and other MCPB-aware clients install with one click",
518
+ "examples": [
519
+ {
520
+ "name": "mcpb-bundle-build",
521
+ "description": "Produce a .mcpb archive for Claude Desktop with metadata, tools, and install-time user_config.",
522
+ "level": "basic",
523
+ "tags": ["deployment", "mcpb", "bundle", "claude-desktop", "user-config"],
524
+ "features": [
525
+ "Using `frontmcp build --target mcpb` to produce a single `.mcpb` archive",
526
+ "Translating `setup.steps` into MCPB `user_config` + `${user_config.KEY}` env bindings",
527
+ "Validating the archive round-trip with `frontmcp mcpb validate`"
528
+ ]
529
+ }
530
+ ]
531
+ },
444
532
  {
445
533
  "name": "build-for-sdk",
446
534
  "description": "Build a FrontMCP server as an embeddable library with create() and connect() APIs",
@@ -691,6 +779,48 @@
691
779
  ]
692
780
  }
693
781
  ]
782
+ },
783
+ {
784
+ "name": "mcp-client-integration",
785
+ "description": "Configure MCP clients (Claude Desktop, Claude Code, Cursor, VS Code) to connect to a FrontMCP server via stdio, HTTP, or Unix socket",
786
+ "examples": [
787
+ {
788
+ "name": "stdio-npx",
789
+ "description": "Publish a FrontMCP server to npm and configure MCP clients to use it with npx --stdio.",
790
+ "level": "basic",
791
+ "tags": ["deployment", "stdio", "npx", "npm", "mcp-client", "claude-code", "claude-desktop"],
792
+ "features": [
793
+ "Building a FrontMCP server as a distributable CLI bundle",
794
+ "Configuring package.json bin field for npx execution",
795
+ "Setting up Claude Code, Claude Desktop, and Cursor to use the server via stdio",
796
+ "Passing environment variables from MCP client config to the server"
797
+ ]
798
+ },
799
+ {
800
+ "name": "http-remote",
801
+ "description": "Connect an MCP client to a FrontMCP server running as an HTTP server, locally or remotely.",
802
+ "level": "basic",
803
+ "tags": ["deployment", "http", "mcp-client", "remote", "cloud", "production"],
804
+ "features": [
805
+ "Connecting to a local FrontMCP dev server on a custom port",
806
+ "Connecting to a remote production FrontMCP server with authentication",
807
+ "Configuring HTTP transport in Claude Code and Claude Desktop",
808
+ "Using a background daemon on a TCP port for persistent local access"
809
+ ]
810
+ },
811
+ {
812
+ "name": "stdio-binary-with-env",
813
+ "description": "Configure a local FrontMCP CLI binary with environment variables and custom arguments in MCP client configs.",
814
+ "level": "intermediate",
815
+ "tags": ["deployment", "stdio", "cli", "binary", "env", "mcp-client", "configuration"],
816
+ "features": [
817
+ "Pointing MCP clients at a locally installed FrontMCP binary",
818
+ "Passing database URLs, API keys, and feature flags via environment variables",
819
+ "Using absolute paths for reliable binary resolution",
820
+ "Configuring different environments (dev, staging) via env vars"
821
+ ]
822
+ }
823
+ ]
694
824
  }
695
825
  ]
696
826
  },
@@ -1348,8 +1478,25 @@
1348
1478
  },
1349
1479
  {
1350
1480
  "name": "official-adapters",
1351
- "description": "Convert OpenAPI specs and external definitions into MCP tools automatically",
1481
+ "description": "Overview of all official FrontMCP adapters that convert external definitions into MCP primitives",
1482
+ "examples": []
1483
+ },
1484
+ {
1485
+ "name": "openapi-adapter",
1486
+ "description": "Convert OpenAPI 3.x specifications into MCP tools with authentication, polling, transforms, format resolution, and $ref security",
1352
1487
  "examples": [
1488
+ {
1489
+ "name": "basic-openapi-adapter",
1490
+ "description": "Demonstrates converting an OpenAPI specification into MCP tools automatically using `OpenapiAdapter` with minimal configuration.",
1491
+ "level": "basic",
1492
+ "tags": ["development", "openapi", "adapters", "adapter"],
1493
+ "features": [
1494
+ "Using `OpenapiAdapter.init()` with just `name` and `url` to auto-generate MCP tools",
1495
+ "Each OpenAPI operation becomes a tool named `<adapter-name>:<operationId>`",
1496
+ "The adapter is registered in the `adapters` array of `@App`, not in `plugins`",
1497
+ "The `name` field serves as the namespace prefix to prevent tool name collisions"
1498
+ ]
1499
+ },
1353
1500
  {
1354
1501
  "name": "authenticated-adapter-with-polling",
1355
1502
  "description": "Demonstrates configuring authentication (API key and bearer token) and automatic spec polling for OpenAPI adapters.",
@@ -1364,15 +1511,28 @@
1364
1511
  ]
1365
1512
  },
1366
1513
  {
1367
- "name": "basic-openapi-adapter",
1368
- "description": "Demonstrates converting an OpenAPI specification into MCP tools automatically using `OpenapiAdapter` with minimal configuration.",
1369
- "level": "basic",
1370
- "tags": ["development", "openapi", "adapters", "adapter"],
1514
+ "name": "format-resolution-and-custom-resolvers",
1515
+ "description": "Demonstrates using built-in and custom format resolvers to enrich tool input schemas with concrete constraints from OpenAPI format values.",
1516
+ "level": "intermediate",
1517
+ "tags": ["development", "openapi", "adapters", "format", "schema", "validation"],
1371
1518
  "features": [
1372
- "Using `OpenapiAdapter.init()` with just `name` and `url` to auto-generate MCP tools",
1373
- "Each OpenAPI operation becomes a tool named `<adapter-name>:<operationId>`",
1374
- "The adapter is registered in the `adapters` array of `@App`, not in `plugins`",
1375
- "The `name` field serves as the namespace prefix to prevent tool name collisions"
1519
+ "Enabling built-in format resolvers with `resolveFormats: true` for uuid, date-time, email, int32, etc.",
1520
+ "Adding custom format resolvers for domain-specific formats (phone, currency)",
1521
+ "Merging custom resolvers with built-ins where custom takes precedence",
1522
+ "Using custom-only resolvers without built-ins for full control"
1523
+ ]
1524
+ },
1525
+ {
1526
+ "name": "ref-security-and-filtering",
1527
+ "description": "Demonstrates configuring $ref resolution security to prevent SSRF attacks and filtering which API operations become MCP tools.",
1528
+ "level": "intermediate",
1529
+ "tags": ["development", "openapi", "adapters", "security", "ssrf", "filtering"],
1530
+ "features": [
1531
+ "Configuring `refResolution` to restrict which hosts and protocols are allowed for external `$ref` pointers",
1532
+ "Using `allowedHosts` to restrict $refs to trusted schema servers",
1533
+ "Using `allowedProtocols` to enable or disable file://, http://, https://, and other protocols",
1534
+ "Filtering operations with `includeOperations`, `excludeOperations`, and `filterFn`",
1535
+ "Combining security hardening with operation filtering for a production-ready setup"
1376
1536
  ]
1377
1537
  },
1378
1538
  {
@@ -2067,6 +2227,24 @@
2067
2227
  ]
2068
2228
  }
2069
2229
  ]
2230
+ },
2231
+ {
2232
+ "name": "distributed-ha",
2233
+ "description": "Deploy FrontMCP across multiple pods with heartbeat, session takeover, and notification relay for zero-downtime failover",
2234
+ "examples": [
2235
+ {
2236
+ "name": "ha-kubernetes-3-replicas",
2237
+ "description": "Deploy FrontMCP with 3 replicas, Redis, and automatic session failover on Kubernetes",
2238
+ "level": "intermediate",
2239
+ "tags": ["ha", "kubernetes", "redis", "distributed", "session-takeover", "heartbeat"],
2240
+ "features": [
2241
+ "Configuring @FrontMcp with Redis for distributed deployment",
2242
+ "Kubernetes Deployment YAML with 3 replicas and readiness probes",
2243
+ "Verifying heartbeat keys and session takeover via redis-cli",
2244
+ "NGINX sticky sessions for session affinity"
2245
+ ]
2246
+ }
2247
+ ]
2070
2248
  }
2071
2249
  ]
2072
2250
  },
@@ -2371,13 +2549,13 @@
2371
2549
  },
2372
2550
  {
2373
2551
  "name": "hybrid-vercel-kv-with-pubsub",
2374
- "description": "Use Vercel KV for session storage and a separate Redis instance for pub/sub resource subscriptions.",
2552
+ "description": "Use Vercel KV for session storage and a separate Redis instance for pub/sub resource subscriptions in distributed multi-instance deployments.",
2375
2553
  "level": "advanced",
2376
2554
  "tags": ["setup", "vercel-kv", "redis", "vercel", "session", "hybrid"],
2377
2555
  "features": [
2378
2556
  "Vercel KV handles sessions (`redis` config) while a real Redis handles pub/sub (`pubsub` config)",
2379
- "Vercel KV does not support pub/sub operations, so a separate Redis instance is required",
2380
- "Resources with `subscribe: true` rely on the `pubsub` config for real-time notifications",
2557
+ "Vercel KV does not support pub/sub operations, so a separate Redis instance is required for distributed setups",
2558
+ "Resource subscriptions across multiple server instances rely on the `pubsub` config for cross-instance notifications (single-instance servers use in-memory subscriptions automatically)",
2381
2559
  "The `pubsub` field accepts `provider: 'redis'` only (no Vercel KV support)"
2382
2560
  ]
2383
2561
  },
@@ -2877,6 +3055,180 @@
2877
3055
  ]
2878
3056
  }
2879
3057
  ]
3058
+ },
3059
+ {
3060
+ "name": "frontmcp-channels",
3061
+ "category": "development",
3062
+ "description": "Use when you want to push real-time notifications into Claude Code sessions. Build webhook channels, chat bridges (WhatsApp, Telegram, Slack), agent completion alerts, job status notifications, or error forwarding. The skill for CHANNELS and NOTIFICATIONS.",
3063
+ "path": "frontmcp-channels",
3064
+ "targets": ["all"],
3065
+ "hasResources": true,
3066
+ "tags": [
3067
+ "channels",
3068
+ "notifications",
3069
+ "claude-code",
3070
+ "webhooks",
3071
+ "messaging",
3072
+ "real-time",
3073
+ "two-way",
3074
+ "whatsapp",
3075
+ "telegram",
3076
+ "slack",
3077
+ "chat-bridge"
3078
+ ],
3079
+ "bundle": ["full"],
3080
+ "references": [
3081
+ {
3082
+ "name": "channel-sources",
3083
+ "description": "Configure different channel source types - webhooks, app events, agent completion, job completion, and manual push",
3084
+ "examples": [
3085
+ {
3086
+ "name": "webhook-github",
3087
+ "description": "Forward GitHub webhook events (PRs, pushes, CI) into Claude Code",
3088
+ "level": "basic",
3089
+ "tags": ["webhook", "github", "ci", "notifications"],
3090
+ "features": [
3091
+ "Webhook source with HTTP POST endpoint",
3092
+ "GitHub event type routing",
3093
+ "Static meta for team context"
3094
+ ]
3095
+ },
3096
+ {
3097
+ "name": "app-errors",
3098
+ "description": "Forward application errors to Claude Code via the in-process event bus",
3099
+ "level": "basic",
3100
+ "tags": ["errors", "app-event", "debugging", "monitoring"],
3101
+ "features": [
3102
+ "App event source with ChannelEventBus",
3103
+ "Error severity classification",
3104
+ "Stack trace forwarding"
3105
+ ]
3106
+ },
3107
+ {
3108
+ "name": "agent-notify",
3109
+ "description": "Notify Claude Code when AI agents complete their tasks",
3110
+ "level": "intermediate",
3111
+ "tags": ["agents", "completion", "notifications", "automation"],
3112
+ "features": [
3113
+ "Agent completion source with ID filtering",
3114
+ "Duration and output reporting",
3115
+ "Integration with agent registry emitter"
3116
+ ]
3117
+ },
3118
+ {
3119
+ "name": "job-completion",
3120
+ "description": "Notify Claude Code when background jobs and workflows complete",
3121
+ "level": "intermediate",
3122
+ "tags": ["jobs", "workflows", "completion", "background", "notifications"],
3123
+ "features": [
3124
+ "Job completion source with name filtering",
3125
+ "Status-aware notification formatting",
3126
+ "Duration and output reporting"
3127
+ ]
3128
+ },
3129
+ {
3130
+ "name": "service-connector",
3131
+ "description": "Build a persistent service connector that lets Claude send and receive messages through WhatsApp, Telegram, or any messaging API",
3132
+ "level": "advanced",
3133
+ "tags": ["service", "connector", "whatsapp", "persistent-connection", "bidirectional"],
3134
+ "features": [
3135
+ "Service source type with onConnect/onDisconnect lifecycle",
3136
+ "Channel-contributed tools for outbound messages",
3137
+ "pushIncoming() for feeding service events into the notification pipeline",
3138
+ "Bidirectional conversation flow"
3139
+ ]
3140
+ },
3141
+ {
3142
+ "name": "file-watcher",
3143
+ "description": "Watch files for changes and notify Claude Code in real-time",
3144
+ "level": "intermediate",
3145
+ "tags": ["file-watcher", "filesystem", "logs", "monitoring", "real-time"],
3146
+ "features": [
3147
+ "File watcher source type with glob patterns",
3148
+ "onConnect lifecycle for starting the watcher",
3149
+ "pushIncoming for streaming file events",
3150
+ "Log file monitoring example"
3151
+ ]
3152
+ },
3153
+ {
3154
+ "name": "replay-buffer",
3155
+ "description": "Buffer channel events so Claude Code receives them when it connects, even if events occurred while offline",
3156
+ "level": "advanced",
3157
+ "tags": ["replay", "buffer", "persistence", "offline", "reconnect"],
3158
+ "features": [
3159
+ "Replay configuration with maxEvents cap",
3160
+ "In-memory ring buffer for event storage",
3161
+ "Replay on session connect",
3162
+ "Persistent store pattern with onConnect"
3163
+ ]
3164
+ }
3165
+ ]
3166
+ },
3167
+ {
3168
+ "name": "channel-two-way",
3169
+ "description": "Build two-way chat bridges connecting WhatsApp, Telegram, Slack, and Discord to Claude Code",
3170
+ "examples": [
3171
+ {
3172
+ "name": "whatsapp-bridge",
3173
+ "description": "Full WhatsApp Business API bridge allowing users to chat with Claude Code via WhatsApp",
3174
+ "level": "advanced",
3175
+ "tags": ["whatsapp", "chat", "two-way", "messaging", "bridge"],
3176
+ "features": [
3177
+ "Two-way channel with reply support",
3178
+ "WhatsApp Cloud API integration",
3179
+ "Sender verification and allowlisting",
3180
+ "Webhook signature validation"
3181
+ ]
3182
+ }
3183
+ ]
3184
+ }
3185
+ ]
3186
+ },
3187
+ {
3188
+ "name": "frontmcp-authorities",
3189
+ "category": "development",
3190
+ "description": "Use when implementing authorization, access control, RBAC, ABAC, or ReBAC for tools, resources, or prompts. Covers JWT claims mapping, authority profiles, and policy enforcement.",
3191
+ "path": "frontmcp-authorities",
3192
+ "targets": ["all"],
3193
+ "hasResources": true,
3194
+ "tags": [
3195
+ "authorization",
3196
+ "rbac",
3197
+ "abac",
3198
+ "rebac",
3199
+ "security",
3200
+ "permissions",
3201
+ "roles",
3202
+ "access-control",
3203
+ "authorities",
3204
+ "jwt"
3205
+ ],
3206
+ "bundle": ["full"],
3207
+ "priority": 9,
3208
+ "visibility": "both",
3209
+ "license": "Apache-2.0",
3210
+ "references": [
3211
+ {
3212
+ "name": "claims-mapping",
3213
+ "description": "JWT claims mapping per identity provider (Auth0, Keycloak, Okta, Cognito, Frontegg)",
3214
+ "examples": []
3215
+ },
3216
+ {
3217
+ "name": "authority-profiles",
3218
+ "description": "Registering and using named authority profiles for reusable access patterns",
3219
+ "examples": []
3220
+ },
3221
+ {
3222
+ "name": "rbac-abac-rebac",
3223
+ "description": "Comparison of RBAC, ABAC, and ReBAC authorization models with usage guidance",
3224
+ "examples": []
3225
+ },
3226
+ {
3227
+ "name": "custom-evaluators",
3228
+ "description": "Creating custom authority evaluators for domain-specific access control",
3229
+ "examples": []
3230
+ }
3231
+ ]
2880
3232
  }
2881
3233
  ]
2882
3234
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frontmcp/skills",
3
- "version": "1.0.3",
3
+ "version": "1.1.0-beta.1",
4
4
  "description": "Curated skills catalog for FrontMCP projects",
5
5
  "author": "AgentFront <info@agentfront.dev>",
6
6
  "homepage": "https://docs.agentfront.dev",