@cubis/foundry 0.3.33 → 0.3.35
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/CHANGELOG.md +30 -0
- package/README.md +56 -11
- package/bin/cubis.js +2809 -965
- package/mcp/.dockerignore +5 -0
- package/mcp/Dockerfile +19 -0
- package/mcp/README.md +550 -11
- package/mcp/config.json +18 -0
- package/mcp/dist/index.d.ts +1 -0
- package/mcp/dist/index.js +1488 -0
- package/mcp/package.json +36 -0
- package/mcp/src/cbxConfig/index.ts +23 -0
- package/mcp/src/cbxConfig/paths.ts +45 -0
- package/mcp/src/cbxConfig/reader.ts +149 -0
- package/mcp/src/cbxConfig/readerWriter.test.ts +147 -0
- package/mcp/src/cbxConfig/serviceConfig.test.ts +42 -0
- package/mcp/src/cbxConfig/serviceConfig.ts +157 -0
- package/mcp/src/cbxConfig/types.ts +44 -0
- package/mcp/src/cbxConfig/writer.ts +90 -0
- package/mcp/src/config/index.test.ts +81 -0
- package/mcp/src/config/index.ts +45 -0
- package/mcp/src/config/schema.ts +55 -0
- package/mcp/src/gateway/catalog.ts +37 -0
- package/mcp/src/gateway/config.ts +247 -0
- package/mcp/src/gateway/manager.ts +255 -0
- package/mcp/src/gateway/types.ts +54 -0
- package/mcp/src/gateway/upstreamClient.ts +80 -0
- package/mcp/src/index.ts +211 -0
- package/mcp/src/server.ts +219 -0
- package/mcp/src/tools/configTools.test.ts +166 -0
- package/mcp/src/tools/future/README.md +21 -0
- package/mcp/src/tools/future/index.ts +8 -0
- package/mcp/src/tools/index.ts +76 -0
- package/mcp/src/tools/mcpGateway.ts +44 -0
- package/mcp/src/tools/postmanGetMode.ts +82 -0
- package/mcp/src/tools/postmanGetStatus.ts +65 -0
- package/mcp/src/tools/postmanModes.ts +28 -0
- package/mcp/src/tools/postmanSetMode.ts +71 -0
- package/mcp/src/tools/skillBrowseCategory.ts +54 -0
- package/mcp/src/tools/skillGet.ts +43 -0
- package/mcp/src/tools/skillListCategories.ts +40 -0
- package/mcp/src/tools/skillSearch.ts +72 -0
- package/mcp/src/tools/skillTools.test.ts +126 -0
- package/mcp/src/tools/stitchGetMode.ts +58 -0
- package/mcp/src/tools/stitchGetStatus.ts +70 -0
- package/mcp/src/tools/stitchSetProfile.ts +82 -0
- package/mcp/src/transports/stdio.ts +9 -0
- package/mcp/src/transports/streamableHttp.ts +43 -0
- package/mcp/src/upstream/passthrough.ts +273 -0
- package/mcp/src/utils/errors.ts +38 -0
- package/mcp/src/utils/logger.ts +63 -0
- package/mcp/src/vault/manifest.test.ts +126 -0
- package/mcp/src/vault/manifest.ts +99 -0
- package/mcp/src/vault/scanner.test.ts +70 -0
- package/mcp/src/vault/scanner.ts +145 -0
- package/mcp/src/vault/types.ts +21 -0
- package/package.json +9 -2
- package/workflows/scripts/generate-powers.mjs +27 -18
- package/workflows/skills/skills_index.json +0 -102
- package/workflows/workflows/agent-environment-setup/manifest.json +0 -24
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/nextjs-react-expert/SKILL.md +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/skills_index.json +0 -102
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/nextjs-react-expert/SKILL.md +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/skills_index.json +0 -102
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/nextjs-react-expert/SKILL.md +1 -1
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/skills_index.json +0 -102
- package/mcp/catalogs/default.json +0 -14
- package/mcp/powers/atlassian-mcp/POWER.md +0 -91
- package/mcp/powers/atlassian-mcp/SKILL.md +0 -88
- package/mcp/powers/atlassian-mcp/steering/authentication-patterns.md +0 -520
- package/mcp/powers/atlassian-mcp/steering/common-workflows.md +0 -660
- package/mcp/powers/atlassian-mcp/steering/confluence-operations.md +0 -528
- package/mcp/powers/atlassian-mcp/steering/jira-queries.md +0 -421
- package/mcp/powers/atlassian-mcp/steering/mcp-server-setup.md +0 -292
- package/mcp/powers/building-mcp-server-on-cloudflare/POWER.md +0 -261
- package/mcp/powers/building-mcp-server-on-cloudflare/SKILL.md +0 -258
- package/mcp/powers/building-mcp-server-on-cloudflare/steering/examples.md +0 -115
- package/mcp/powers/building-mcp-server-on-cloudflare/steering/oauth-setup.md +0 -338
- package/mcp/powers/building-mcp-server-on-cloudflare/steering/troubleshooting.md +0 -317
- package/mcp/powers/datadog-automation/POWER.md +0 -238
- package/mcp/powers/datadog-automation/SKILL.md +0 -235
- package/mcp/powers/github-automation/POWER.md +0 -230
- package/mcp/powers/github-automation/SKILL.md +0 -227
- package/mcp/powers/mcp-builder/LICENSE.txt +0 -202
- package/mcp/powers/mcp-builder/POWER.md +0 -179
- package/mcp/powers/mcp-builder/SKILL.md +0 -176
- package/mcp/powers/mcp-builder/reference/evaluation.md +0 -602
- package/mcp/powers/mcp-builder/reference/mcp_best_practices.md +0 -915
- package/mcp/powers/mcp-builder/reference/node_mcp_server.md +0 -916
- package/mcp/powers/mcp-builder/reference/python_mcp_server.md +0 -752
- package/mcp/powers/mcp-builder/scripts/connections.py +0 -151
- package/mcp/powers/mcp-builder/scripts/evaluation.py +0 -373
- package/mcp/powers/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/mcp/powers/mcp-builder/scripts/requirements.txt +0 -2
- package/mcp/powers/mcp-developer/POWER.md +0 -88
- package/mcp/powers/mcp-developer/SKILL.md +0 -85
- package/mcp/powers/mcp-developer/steering/protocol.md +0 -244
- package/mcp/powers/mcp-developer/steering/python-sdk.md +0 -367
- package/mcp/powers/mcp-developer/steering/resources.md +0 -554
- package/mcp/powers/mcp-developer/steering/tools.md +0 -480
- package/mcp/powers/mcp-developer/steering/typescript-sdk.md +0 -350
- package/mcp/powers/postman/POWER.md +0 -243
- package/mcp/powers/postman/SKILL.md +0 -240
- package/mcp/powers/postman/flutter-expert/POWER.md +0 -89
- package/mcp/powers/postman/flutter-expert/SKILL.md +0 -77
- package/mcp/powers/postman/flutter-expert/steering/bloc-state.md +0 -259
- package/mcp/powers/postman/flutter-expert/steering/engineering-principles.md +0 -82
- package/mcp/powers/postman/flutter-expert/steering/gorouter-navigation.md +0 -157
- package/mcp/powers/postman/flutter-expert/steering/performance.md +0 -99
- package/mcp/powers/postman/flutter-expert/steering/project-structure.md +0 -77
- package/mcp/powers/postman/flutter-expert/steering/riverpod-state.md +0 -404
- package/mcp/powers/postman/flutter-expert/steering/widget-patterns.md +0 -123
- package/mcp/powers/postman/flutter-security-reviewer/POWER.md +0 -204
- package/mcp/powers/postman/flutter-security-reviewer/SKILL.md +0 -180
- package/mcp/powers/postman/flutter-security-reviewer/steering/log_redaction.md +0 -17
- package/mcp/powers/postman/flutter-security-reviewer/steering/network_hardening.md +0 -13
- package/mcp/powers/postman/flutter-security-reviewer/steering/secret-scanning.md +0 -123
- package/mcp/powers/postman/flutter-security-reviewer/steering/secure_storage_policy.md +0 -16
- package/mcp/powers/postman/flutter-security-reviewer/steering/vulnerability-patterns.md +0 -189
- package/mcp/powers/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
- package/mcp/powers/postman/flutter-test-master/POWER.md +0 -527
- package/mcp/powers/postman/flutter-test-master/SKILL.md +0 -513
- package/mcp/powers/postman/flutter-test-master/steering/golden-testing.md +0 -444
- package/mcp/powers/postman/flutter-test-master/steering/integration-testing.md +0 -688
- package/mcp/powers/postman/flutter-test-master/steering/property-testing.md +0 -408
- package/mcp/powers/postman/flutter-test-master/steering/riverpod-testing.md +0 -606
- package/mcp/powers/postman/flutter-test-master/steering/test-utilities.md +0 -566
- package/mcp/powers/postman/flutter-test-master/steering/unit-testing.md +0 -511
- package/mcp/powers/postman/flutter-test-master/steering/widget-testing.md +0 -601
- package/mcp/powers/postman/git-commit/POWER.md +0 -47
- package/mcp/powers/postman/git-commit/SKILL.md +0 -46
- package/mcp/powers/postman/gorouter-restoration/POWER.md +0 -227
- package/mcp/powers/postman/gorouter-restoration/SKILL.md +0 -217
- package/mcp/powers/postman/gorouter-restoration/steering/guard_patterns.md +0 -14
- package/mcp/powers/postman/gorouter-restoration/steering/tab_preservation.md +0 -12
- package/mcp/powers/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
- package/mcp/powers/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
- package/mcp/powers/postman/mcp.json +0 -11
- package/mcp/powers/postman/microservices-architect/POWER.md +0 -109
- package/mcp/powers/postman/microservices-architect/SKILL.md +0 -93
- package/mcp/powers/postman/microservices-architect/steering/communication.md +0 -499
- package/mcp/powers/postman/microservices-architect/steering/data.md +0 -721
- package/mcp/powers/postman/microservices-architect/steering/decomposition.md +0 -344
- package/mcp/powers/postman/microservices-architect/steering/observability.md +0 -805
- package/mcp/powers/postman/microservices-architect/steering/patterns.md +0 -603
- package/mcp/powers/postman/nestjs-expert/POWER.md +0 -130
- package/mcp/powers/postman/nestjs-expert/SKILL.md +0 -114
- package/mcp/powers/postman/nestjs-expert/steering/authentication.md +0 -461
- package/mcp/powers/postman/nestjs-expert/steering/controllers-routing.md +0 -114
- package/mcp/powers/postman/nestjs-expert/steering/dtos-validation.md +0 -156
- package/mcp/powers/postman/nestjs-expert/steering/migration-from-express.md +0 -1240
- package/mcp/powers/postman/nestjs-expert/steering/secure-sessions.md +0 -56
- package/mcp/powers/postman/nestjs-expert/steering/services-di.md +0 -143
- package/mcp/powers/postman/nestjs-expert/steering/strangler-fig-pattern.md +0 -47
- package/mcp/powers/postman/nestjs-expert/steering/testing-patterns.md +0 -189
- package/mcp/powers/postman/oneup-design/POWER.md +0 -72
- package/mcp/powers/postman/oneup-design/SKILL.md +0 -71
- package/mcp/powers/postman/oneup-design/steering/colors.md +0 -41
- package/mcp/powers/postman/oneup-design/steering/components.md +0 -53
- package/mcp/powers/postman/oneup-design/steering/spacing.md +0 -84
- package/mcp/powers/postman/openapi-docs/POWER.md +0 -78
- package/mcp/powers/postman/openapi-docs/SKILL.md +0 -68
- package/mcp/powers/postman/openapi-docs/steering/crud-templates.md +0 -43
- package/mcp/powers/postman/openapi-docs/steering/framework-express.md +0 -19
- package/mcp/powers/postman/openapi-docs/steering/framework-fastapi.md +0 -20
- package/mcp/powers/postman/openapi-docs/steering/framework-nestjs.md +0 -20
- package/mcp/powers/postman/openapi-docs/steering/framework-raw-openapi.md +0 -14
- package/mcp/powers/postman/openapi-docs/steering/openapi-checklist.md +0 -33
- package/mcp/powers/postman/openapi-docs/steering/stoplight-ui.md +0 -21
- package/mcp/powers/postman/steering/steering.md +0 -26
- package/mcp/powers/sentry-automation/POWER.md +0 -235
- package/mcp/powers/sentry-automation/SKILL.md +0 -232
- package/mcp/skills/atlassian-mcp/SKILL.md +0 -88
- package/mcp/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
- package/mcp/skills/atlassian-mcp/references/common-workflows.md +0 -660
- package/mcp/skills/atlassian-mcp/references/confluence-operations.md +0 -528
- package/mcp/skills/atlassian-mcp/references/jira-queries.md +0 -421
- package/mcp/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
- package/mcp/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
- package/mcp/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
- package/mcp/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
- package/mcp/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
- package/mcp/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
- package/mcp/skills/datadog-automation/SKILL.md +0 -235
- package/mcp/skills/github-automation/SKILL.md +0 -227
- package/mcp/skills/mcp-builder/LICENSE.txt +0 -202
- package/mcp/skills/mcp-builder/SKILL.md +0 -176
- package/mcp/skills/mcp-builder/reference/evaluation.md +0 -602
- package/mcp/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
- package/mcp/skills/mcp-builder/reference/node_mcp_server.md +0 -916
- package/mcp/skills/mcp-builder/reference/python_mcp_server.md +0 -752
- package/mcp/skills/mcp-builder/scripts/connections.py +0 -151
- package/mcp/skills/mcp-builder/scripts/evaluation.py +0 -373
- package/mcp/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/mcp/skills/mcp-builder/scripts/requirements.txt +0 -2
- package/mcp/skills/mcp-developer/SKILL.md +0 -85
- package/mcp/skills/mcp-developer/references/protocol.md +0 -244
- package/mcp/skills/mcp-developer/references/python-sdk.md +0 -367
- package/mcp/skills/mcp-developer/references/resources.md +0 -554
- package/mcp/skills/mcp-developer/references/tools.md +0 -480
- package/mcp/skills/mcp-developer/references/typescript-sdk.md +0 -350
- package/mcp/skills/postman/POWER.md +0 -242
- package/mcp/skills/postman/SKILL.md +0 -240
- package/mcp/skills/postman/flutter-expert/POWER.md +0 -89
- package/mcp/skills/postman/flutter-expert/SKILL.md +0 -77
- package/mcp/skills/postman/flutter-expert/references/bloc-state.md +0 -259
- package/mcp/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
- package/mcp/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
- package/mcp/skills/postman/flutter-expert/references/performance.md +0 -99
- package/mcp/skills/postman/flutter-expert/references/project-structure.md +0 -77
- package/mcp/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
- package/mcp/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
- package/mcp/skills/postman/flutter-security-reviewer/POWER.md +0 -204
- package/mcp/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
- package/mcp/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
- package/mcp/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
- package/mcp/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
- package/mcp/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
- package/mcp/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
- package/mcp/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
- package/mcp/skills/postman/flutter-test-master/POWER.md +0 -527
- package/mcp/skills/postman/flutter-test-master/SKILL.md +0 -513
- package/mcp/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
- package/mcp/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
- package/mcp/skills/postman/flutter-test-master/references/property-testing.md +0 -408
- package/mcp/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
- package/mcp/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
- package/mcp/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
- package/mcp/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
- package/mcp/skills/postman/git-commit/POWER.md +0 -47
- package/mcp/skills/postman/git-commit/SKILL.md +0 -46
- package/mcp/skills/postman/gorouter-restoration/POWER.md +0 -227
- package/mcp/skills/postman/gorouter-restoration/SKILL.md +0 -217
- package/mcp/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
- package/mcp/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
- package/mcp/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
- package/mcp/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
- package/mcp/skills/postman/mcp.json +0 -11
- package/mcp/skills/postman/microservices-architect/POWER.md +0 -109
- package/mcp/skills/postman/microservices-architect/SKILL.md +0 -93
- package/mcp/skills/postman/microservices-architect/references/communication.md +0 -499
- package/mcp/skills/postman/microservices-architect/references/data.md +0 -721
- package/mcp/skills/postman/microservices-architect/references/decomposition.md +0 -344
- package/mcp/skills/postman/microservices-architect/references/observability.md +0 -805
- package/mcp/skills/postman/microservices-architect/references/patterns.md +0 -603
- package/mcp/skills/postman/nestjs-expert/POWER.md +0 -130
- package/mcp/skills/postman/nestjs-expert/SKILL.md +0 -114
- package/mcp/skills/postman/nestjs-expert/references/authentication.md +0 -461
- package/mcp/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
- package/mcp/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
- package/mcp/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
- package/mcp/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
- package/mcp/skills/postman/nestjs-expert/references/services-di.md +0 -143
- package/mcp/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
- package/mcp/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
- package/mcp/skills/postman/oneup-design/POWER.md +0 -72
- package/mcp/skills/postman/oneup-design/SKILL.md +0 -71
- package/mcp/skills/postman/oneup-design/references/colors.md +0 -41
- package/mcp/skills/postman/oneup-design/references/components.md +0 -53
- package/mcp/skills/postman/oneup-design/references/spacing.md +0 -84
- package/mcp/skills/postman/openapi-docs/POWER.md +0 -78
- package/mcp/skills/postman/openapi-docs/SKILL.md +0 -68
- package/mcp/skills/postman/openapi-docs/references/crud-templates.md +0 -43
- package/mcp/skills/postman/openapi-docs/references/framework-express.md +0 -19
- package/mcp/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
- package/mcp/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
- package/mcp/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
- package/mcp/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
- package/mcp/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
- package/mcp/skills/postman/references/steering.md +0 -26
- package/mcp/skills/sentry-automation/SKILL.md +0 -232
- package/workflows/powers/atlassian-mcp/POWER.md +0 -21
- package/workflows/powers/atlassian-mcp/SKILL.md +0 -18
- package/workflows/powers/building-mcp-server-on-cloudflare/POWER.md +0 -21
- package/workflows/powers/building-mcp-server-on-cloudflare/SKILL.md +0 -18
- package/workflows/powers/datadog-automation/POWER.md +0 -21
- package/workflows/powers/datadog-automation/SKILL.md +0 -18
- package/workflows/powers/github-automation/POWER.md +0 -21
- package/workflows/powers/github-automation/SKILL.md +0 -18
- package/workflows/powers/mcp-builder/POWER.md +0 -21
- package/workflows/powers/mcp-builder/SKILL.md +0 -18
- package/workflows/powers/mcp-developer/POWER.md +0 -21
- package/workflows/powers/mcp-developer/SKILL.md +0 -18
- package/workflows/powers/postman/POWER.md +0 -21
- package/workflows/powers/postman/SKILL.md +0 -18
- package/workflows/powers/sentry-automation/POWER.md +0 -21
- package/workflows/powers/sentry-automation/SKILL.md +0 -18
- package/workflows/skills/atlassian-mcp/SKILL.md +0 -18
- package/workflows/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -18
- package/workflows/skills/datadog-automation/SKILL.md +0 -18
- package/workflows/skills/github-automation/SKILL.md +0 -18
- package/workflows/skills/mcp-builder/SKILL.md +0 -18
- package/workflows/skills/mcp-developer/SKILL.md +0 -18
- package/workflows/skills/postman/SKILL.md +0 -18
- package/workflows/skills/sentry-automation/SKILL.md +0 -18
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/SKILL.md +0 -88
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/common-workflows.md +0 -660
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/confluence-operations.md +0 -528
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/jira-queries.md +0 -421
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/datadog-automation/SKILL.md +0 -235
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/github-automation/SKILL.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/LICENSE.txt +0 -202
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/SKILL.md +0 -176
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/evaluation.md +0 -602
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/node_mcp_server.md +0 -916
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/reference/python_mcp_server.md +0 -752
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/connections.py +0 -151
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/evaluation.py +0 -373
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-builder/scripts/requirements.txt +0 -2
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/SKILL.md +0 -85
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/protocol.md +0 -244
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/python-sdk.md +0 -367
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/resources.md +0 -554
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/tools.md +0 -480
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/mcp-developer/references/typescript-sdk.md +0 -350
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/POWER.md +0 -242
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/SKILL.md +0 -240
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/POWER.md +0 -89
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/SKILL.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/bloc-state.md +0 -259
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/performance.md +0 -99
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/project-structure.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/POWER.md +0 -204
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/POWER.md +0 -527
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/SKILL.md +0 -513
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/property-testing.md +0 -408
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/git-commit/POWER.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/git-commit/SKILL.md +0 -46
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/POWER.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/SKILL.md +0 -217
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/mcp.json +0 -11
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/POWER.md +0 -109
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/SKILL.md +0 -93
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/communication.md +0 -499
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/data.md +0 -721
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/decomposition.md +0 -344
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/observability.md +0 -805
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/microservices-architect/references/patterns.md +0 -603
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/POWER.md +0 -130
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/SKILL.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/authentication.md +0 -461
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/services-di.md +0 -143
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/POWER.md +0 -72
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/SKILL.md +0 -71
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/colors.md +0 -41
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/components.md +0 -53
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/oneup-design/references/spacing.md +0 -84
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/POWER.md +0 -78
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/SKILL.md +0 -68
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/crud-templates.md +0 -43
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-express.md +0 -19
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/postman/references/steering.md +0 -26
- package/workflows/workflows/agent-environment-setup/platforms/copilot/skills/sentry-automation/SKILL.md +0 -232
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/SKILL.md +0 -88
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/common-workflows.md +0 -660
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/confluence-operations.md +0 -528
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/jira-queries.md +0 -421
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/datadog-automation/SKILL.md +0 -235
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/github-automation/SKILL.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/LICENSE.txt +0 -202
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/SKILL.md +0 -176
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/evaluation.md +0 -602
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/node_mcp_server.md +0 -916
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/reference/python_mcp_server.md +0 -752
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/connections.py +0 -151
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/evaluation.py +0 -373
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-builder/scripts/requirements.txt +0 -2
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/SKILL.md +0 -85
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/protocol.md +0 -244
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/python-sdk.md +0 -367
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/resources.md +0 -554
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/tools.md +0 -480
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/mcp-developer/references/typescript-sdk.md +0 -350
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/POWER.md +0 -242
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/SKILL.md +0 -240
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/POWER.md +0 -89
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/SKILL.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/bloc-state.md +0 -259
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/performance.md +0 -99
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/project-structure.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/POWER.md +0 -204
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/POWER.md +0 -527
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/SKILL.md +0 -513
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/property-testing.md +0 -408
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/git-commit/POWER.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/git-commit/SKILL.md +0 -46
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/POWER.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/SKILL.md +0 -217
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/mcp.json +0 -11
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/POWER.md +0 -109
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/SKILL.md +0 -93
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/communication.md +0 -499
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/data.md +0 -721
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/decomposition.md +0 -344
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/observability.md +0 -805
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/microservices-architect/references/patterns.md +0 -603
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/POWER.md +0 -130
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/SKILL.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/authentication.md +0 -461
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/services-di.md +0 -143
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/POWER.md +0 -72
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/SKILL.md +0 -71
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/colors.md +0 -41
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/components.md +0 -53
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/oneup-design/references/spacing.md +0 -84
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/POWER.md +0 -78
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/SKILL.md +0 -68
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/crud-templates.md +0 -43
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-express.md +0 -19
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/postman/references/steering.md +0 -26
- package/workflows/workflows/agent-environment-setup/platforms/cursor/skills/sentry-automation/SKILL.md +0 -232
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/SKILL.md +0 -88
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/authentication-patterns.md +0 -520
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/common-workflows.md +0 -660
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/confluence-operations.md +0 -528
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/jira-queries.md +0 -421
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/atlassian-mcp/references/mcp-server-setup.md +0 -292
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/SKILL.md +0 -258
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/examples.md +0 -115
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/oauth-setup.md +0 -338
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/tool-patterns.md +0 -29
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/building-mcp-server-on-cloudflare/references/troubleshooting.md +0 -317
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/datadog-automation/SKILL.md +0 -235
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/github-automation/SKILL.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/LICENSE.txt +0 -202
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/SKILL.md +0 -176
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/evaluation.md +0 -602
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/mcp_best_practices.md +0 -915
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/node_mcp_server.md +0 -916
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/reference/python_mcp_server.md +0 -752
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/connections.py +0 -151
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/evaluation.py +0 -373
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/example_evaluation.xml +0 -22
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-builder/scripts/requirements.txt +0 -2
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/SKILL.md +0 -85
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/protocol.md +0 -244
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/python-sdk.md +0 -367
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/resources.md +0 -554
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/tools.md +0 -480
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/mcp-developer/references/typescript-sdk.md +0 -350
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/POWER.md +0 -242
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/SKILL.md +0 -240
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/POWER.md +0 -89
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/SKILL.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/bloc-state.md +0 -259
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/engineering-principles.md +0 -82
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/gorouter-navigation.md +0 -157
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/performance.md +0 -99
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/project-structure.md +0 -77
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/riverpod-state.md +0 -404
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-expert/references/widget-patterns.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/POWER.md +0 -204
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/SKILL.md +0 -180
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/log_redaction.md +0 -17
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/network_hardening.md +0 -13
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/secret-scanning.md +0 -123
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/secure_storage_policy.md +0 -16
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/references/vulnerability-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-security-reviewer/templates/security_review_response.md +0 -31
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/POWER.md +0 -527
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/SKILL.md +0 -513
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/golden-testing.md +0 -444
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/integration-testing.md +0 -688
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/property-testing.md +0 -408
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/riverpod-testing.md +0 -606
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/test-utilities.md +0 -566
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/unit-testing.md +0 -511
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/flutter-test-master/references/widget-testing.md +0 -601
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/git-commit/POWER.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/git-commit/SKILL.md +0 -46
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/POWER.md +0 -227
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/SKILL.md +0 -217
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/references/guard_patterns.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/references/tab_preservation.md +0 -12
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/templates/guard_redirect.md +0 -30
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/gorouter-restoration/templates/stateful_shell_skeleton.md +0 -40
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/mcp.json +0 -11
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/POWER.md +0 -109
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/SKILL.md +0 -93
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/communication.md +0 -499
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/data.md +0 -721
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/decomposition.md +0 -344
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/observability.md +0 -805
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/microservices-architect/references/patterns.md +0 -603
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/POWER.md +0 -130
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/SKILL.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/authentication.md +0 -461
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/controllers-routing.md +0 -114
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/dtos-validation.md +0 -156
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/migration-from-express.md +0 -1240
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/secure-sessions.md +0 -56
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/services-di.md +0 -143
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/strangler-fig-pattern.md +0 -47
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/nestjs-expert/references/testing-patterns.md +0 -189
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/POWER.md +0 -72
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/SKILL.md +0 -71
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/colors.md +0 -41
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/components.md +0 -53
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/oneup-design/references/spacing.md +0 -84
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/POWER.md +0 -78
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/SKILL.md +0 -68
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/crud-templates.md +0 -43
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-express.md +0 -19
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-fastapi.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-nestjs.md +0 -20
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/framework-raw-openapi.md +0 -14
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/openapi-checklist.md +0 -33
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/openapi-docs/references/stoplight-ui.md +0 -21
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/postman/references/steering.md +0 -26
- package/workflows/workflows/agent-environment-setup/platforms/windsurf/skills/sentry-automation/SKILL.md +0 -232
|
@@ -1,258 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: building-mcp-server-on-cloudflare
|
|
3
|
-
description: Build and deploy remote MCP servers on Cloudflare Workers with tools, OAuth authentication, and production configuration.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# Building MCP Servers on Cloudflare
|
|
7
|
-
|
|
8
|
-
Creates production-ready Model Context Protocol servers on Cloudflare Workers with tools, authentication, and deployment.
|
|
9
|
-
|
|
10
|
-
## When to Use
|
|
11
|
-
|
|
12
|
-
- User wants to build a remote MCP server
|
|
13
|
-
- User needs to expose tools via MCP
|
|
14
|
-
- User asks about MCP authentication or OAuth
|
|
15
|
-
- User wants to deploy MCP to Cloudflare Workers
|
|
16
|
-
|
|
17
|
-
## Prerequisites
|
|
18
|
-
|
|
19
|
-
- Cloudflare account with Workers enabled
|
|
20
|
-
- Node.js 18+ and npm/pnpm/yarn
|
|
21
|
-
- Wrangler CLI (`npm install -g wrangler`)
|
|
22
|
-
|
|
23
|
-
## Quick Start
|
|
24
|
-
|
|
25
|
-
### Option 1: Public Server (No Auth)
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm create cloudflare@latest -- my-mcp-server \
|
|
29
|
-
--template=cloudflare/ai/demos/remote-mcp-authless
|
|
30
|
-
cd my-mcp-server
|
|
31
|
-
npm start
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
Server runs at `http://localhost:8788/mcp`
|
|
35
|
-
|
|
36
|
-
### Option 2: Authenticated Server (OAuth)
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
npm create cloudflare@latest -- my-mcp-server \
|
|
40
|
-
--template=cloudflare/ai/demos/remote-mcp-github-oauth
|
|
41
|
-
cd my-mcp-server
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
Requires OAuth app setup. See [references/oauth-setup.md](references/oauth-setup.md).
|
|
45
|
-
|
|
46
|
-
## Core Workflow
|
|
47
|
-
|
|
48
|
-
### Step 1: Define Tools
|
|
49
|
-
|
|
50
|
-
Tools are functions MCP clients can call. Define them using `server.tool()`:
|
|
51
|
-
|
|
52
|
-
```typescript
|
|
53
|
-
import { McpAgent } from "agents/mcp";
|
|
54
|
-
import { z } from "zod";
|
|
55
|
-
|
|
56
|
-
export class MyMCP extends McpAgent {
|
|
57
|
-
server = new Server({ name: "my-mcp", version: "1.0.0" });
|
|
58
|
-
|
|
59
|
-
async init() {
|
|
60
|
-
// Simple tool with parameters
|
|
61
|
-
this.server.tool(
|
|
62
|
-
"add",
|
|
63
|
-
{ a: z.number(), b: z.number() },
|
|
64
|
-
async ({ a, b }) => ({
|
|
65
|
-
content: [{ type: "text", text: String(a + b) }],
|
|
66
|
-
})
|
|
67
|
-
);
|
|
68
|
-
|
|
69
|
-
// Tool that calls external API
|
|
70
|
-
this.server.tool(
|
|
71
|
-
"get_weather",
|
|
72
|
-
{ city: z.string() },
|
|
73
|
-
async ({ city }) => {
|
|
74
|
-
const response = await fetch(`https://api.weather.com/${city}`);
|
|
75
|
-
const data = await response.json();
|
|
76
|
-
return {
|
|
77
|
-
content: [{ type: "text", text: JSON.stringify(data) }],
|
|
78
|
-
};
|
|
79
|
-
}
|
|
80
|
-
);
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
### Step 2: Configure Entry Point
|
|
86
|
-
|
|
87
|
-
**Public server** (`src/index.ts`):
|
|
88
|
-
|
|
89
|
-
```typescript
|
|
90
|
-
import { MyMCP } from "./mcp";
|
|
91
|
-
|
|
92
|
-
export default {
|
|
93
|
-
fetch(request: Request, env: Env, ctx: ExecutionContext) {
|
|
94
|
-
const url = new URL(request.url);
|
|
95
|
-
if (url.pathname === "/mcp") {
|
|
96
|
-
return MyMCP.serveSSE("/mcp").fetch(request, env, ctx);
|
|
97
|
-
}
|
|
98
|
-
return new Response("MCP Server", { status: 200 });
|
|
99
|
-
},
|
|
100
|
-
};
|
|
101
|
-
|
|
102
|
-
export { MyMCP };
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
**Authenticated server** — See [references/oauth-setup.md](references/oauth-setup.md).
|
|
106
|
-
|
|
107
|
-
### Step 3: Test Locally
|
|
108
|
-
|
|
109
|
-
```bash
|
|
110
|
-
# Start server
|
|
111
|
-
npm start
|
|
112
|
-
|
|
113
|
-
# In another terminal, test with MCP Inspector
|
|
114
|
-
npx @modelcontextprotocol/inspector@latest
|
|
115
|
-
# Open http://localhost:5173, enter http://localhost:8788/mcp
|
|
116
|
-
```
|
|
117
|
-
|
|
118
|
-
### Step 4: Deploy
|
|
119
|
-
|
|
120
|
-
```bash
|
|
121
|
-
npx wrangler deploy
|
|
122
|
-
```
|
|
123
|
-
|
|
124
|
-
Server accessible at `https://[worker-name].[account].workers.dev/mcp`
|
|
125
|
-
|
|
126
|
-
### Step 5: Connect Clients
|
|
127
|
-
|
|
128
|
-
**Claude Desktop** (`claude_desktop_config.json`):
|
|
129
|
-
|
|
130
|
-
```json
|
|
131
|
-
{
|
|
132
|
-
"mcpServers": {
|
|
133
|
-
"my-server": {
|
|
134
|
-
"command": "npx",
|
|
135
|
-
"args": ["mcp-remote", "https://my-mcp.workers.dev/mcp"]
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
```
|
|
140
|
-
|
|
141
|
-
Restart Claude Desktop after updating config.
|
|
142
|
-
|
|
143
|
-
## Tool Patterns
|
|
144
|
-
|
|
145
|
-
### Return Types
|
|
146
|
-
|
|
147
|
-
```typescript
|
|
148
|
-
// Text response
|
|
149
|
-
return { content: [{ type: "text", text: "result" }] };
|
|
150
|
-
|
|
151
|
-
// Multiple content items
|
|
152
|
-
return {
|
|
153
|
-
content: [
|
|
154
|
-
{ type: "text", text: "Here's the data:" },
|
|
155
|
-
{ type: "text", text: JSON.stringify(data, null, 2) },
|
|
156
|
-
],
|
|
157
|
-
};
|
|
158
|
-
```
|
|
159
|
-
|
|
160
|
-
### Input Validation with Zod
|
|
161
|
-
|
|
162
|
-
```typescript
|
|
163
|
-
this.server.tool(
|
|
164
|
-
"create_user",
|
|
165
|
-
{
|
|
166
|
-
email: z.string().email(),
|
|
167
|
-
name: z.string().min(1).max(100),
|
|
168
|
-
role: z.enum(["admin", "user", "guest"]),
|
|
169
|
-
age: z.number().int().min(0).optional(),
|
|
170
|
-
},
|
|
171
|
-
async (params) => {
|
|
172
|
-
// params are fully typed and validated
|
|
173
|
-
}
|
|
174
|
-
);
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Accessing Environment/Bindings
|
|
178
|
-
|
|
179
|
-
```typescript
|
|
180
|
-
export class MyMCP extends McpAgent<Env> {
|
|
181
|
-
async init() {
|
|
182
|
-
this.server.tool("query_db", { sql: z.string() }, async ({ sql }) => {
|
|
183
|
-
// Access D1 binding
|
|
184
|
-
const result = await this.env.DB.prepare(sql).all();
|
|
185
|
-
return { content: [{ type: "text", text: JSON.stringify(result) }] };
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
## Authentication
|
|
192
|
-
|
|
193
|
-
For OAuth-protected servers, see [references/oauth-setup.md](references/oauth-setup.md).
|
|
194
|
-
|
|
195
|
-
Supported providers:
|
|
196
|
-
- GitHub
|
|
197
|
-
- Google
|
|
198
|
-
- Auth0
|
|
199
|
-
- Stytch
|
|
200
|
-
- WorkOS
|
|
201
|
-
- Any OAuth 2.0 compliant provider
|
|
202
|
-
|
|
203
|
-
## Wrangler Configuration
|
|
204
|
-
|
|
205
|
-
Minimal `wrangler.toml`:
|
|
206
|
-
|
|
207
|
-
```toml
|
|
208
|
-
name = "my-mcp-server"
|
|
209
|
-
main = "src/index.ts"
|
|
210
|
-
compatibility_date = "2024-12-01"
|
|
211
|
-
|
|
212
|
-
[durable_objects]
|
|
213
|
-
bindings = [{ name = "MCP", class_name = "MyMCP" }]
|
|
214
|
-
|
|
215
|
-
[[migrations]]
|
|
216
|
-
tag = "v1"
|
|
217
|
-
new_classes = ["MyMCP"]
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
With bindings (D1, KV, etc.):
|
|
221
|
-
|
|
222
|
-
```toml
|
|
223
|
-
[[d1_databases]]
|
|
224
|
-
binding = "DB"
|
|
225
|
-
database_name = "my-db"
|
|
226
|
-
database_id = "xxx"
|
|
227
|
-
|
|
228
|
-
[[kv_namespaces]]
|
|
229
|
-
binding = "KV"
|
|
230
|
-
id = "xxx"
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
## Common Issues
|
|
234
|
-
|
|
235
|
-
### "Tool not found" in Client
|
|
236
|
-
|
|
237
|
-
1. Verify tool name matches exactly (case-sensitive)
|
|
238
|
-
2. Ensure `init()` registers tools before connections
|
|
239
|
-
3. Check server logs: `wrangler tail`
|
|
240
|
-
|
|
241
|
-
### Connection Fails
|
|
242
|
-
|
|
243
|
-
1. Confirm endpoint path is `/mcp`
|
|
244
|
-
2. Check CORS if browser-based client
|
|
245
|
-
3. Verify Worker is deployed: `wrangler deployments list`
|
|
246
|
-
|
|
247
|
-
### OAuth Redirect Errors
|
|
248
|
-
|
|
249
|
-
1. Callback URL must match OAuth app config exactly
|
|
250
|
-
2. Check `GITHUB_CLIENT_ID` and `GITHUB_CLIENT_SECRET` are set
|
|
251
|
-
3. For local dev, use `http://localhost:8788/callback`
|
|
252
|
-
|
|
253
|
-
## References
|
|
254
|
-
|
|
255
|
-
- [references/examples.md](references/examples.md) — Official templates and production examples
|
|
256
|
-
- [references/oauth-setup.md](references/oauth-setup.md) — OAuth provider configuration
|
|
257
|
-
- [references/tool-patterns.md](references/tool-patterns.md) — Advanced tool examples
|
|
258
|
-
- [references/troubleshooting.md](references/troubleshooting.md) — Error codes and fixes
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
# Project Bootstrapping
|
|
2
|
-
|
|
3
|
-
Instructions for creating new MCP server projects.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Create Commands
|
|
8
|
-
|
|
9
|
-
Execute in terminal to generate a new project:
|
|
10
|
-
|
|
11
|
-
**Without authentication:**
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
npm create cloudflare@latest -- my-mcp-server \
|
|
15
|
-
--template=cloudflare/ai/demos/remote-mcp-authless
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
**With GitHub login:**
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npm create cloudflare@latest -- my-mcp-server \
|
|
22
|
-
--template=cloudflare/ai/demos/remote-mcp-github-oauth
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
**With Google login:**
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
npm create cloudflare@latest -- my-mcp-server \
|
|
29
|
-
--template=cloudflare/ai/demos/remote-mcp-google-oauth
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
---
|
|
33
|
-
|
|
34
|
-
## Additional Boilerplate Locations
|
|
35
|
-
|
|
36
|
-
**Main repository:** `github.com/cloudflare/ai` (check demos directory)
|
|
37
|
-
|
|
38
|
-
Other authentication providers:
|
|
39
|
-
- Auth0
|
|
40
|
-
- WorkOS AuthKit
|
|
41
|
-
- Logto
|
|
42
|
-
- Descope
|
|
43
|
-
- Stytch
|
|
44
|
-
|
|
45
|
-
**Cloudflare tooling:** `github.com/cloudflare/mcp-server-cloudflare`
|
|
46
|
-
|
|
47
|
-
---
|
|
48
|
-
|
|
49
|
-
## Selection Matrix
|
|
50
|
-
|
|
51
|
-
| Goal | Boilerplate |
|
|
52
|
-
|------|-------------|
|
|
53
|
-
| Testing/learning | authless |
|
|
54
|
-
| GitHub API access | github-oauth |
|
|
55
|
-
| Google API access | google-oauth |
|
|
56
|
-
| Enterprise auth | auth0 / authkit |
|
|
57
|
-
| Slack apps | slack-oauth |
|
|
58
|
-
| Zero Trust | cf-access |
|
|
59
|
-
|
|
60
|
-
---
|
|
61
|
-
|
|
62
|
-
## Platform Documentation
|
|
63
|
-
|
|
64
|
-
- developers.cloudflare.com/agents/model-context-protocol/
|
|
65
|
-
- developers.cloudflare.com/agents/guides/remote-mcp-server/
|
|
66
|
-
- developers.cloudflare.com/agents/guides/test-remote-mcp-server/
|
|
67
|
-
- developers.cloudflare.com/agents/model-context-protocol/authorization/
|
|
68
|
-
|
|
69
|
-
---
|
|
70
|
-
|
|
71
|
-
## Commands Reference
|
|
72
|
-
|
|
73
|
-
**Local execution:**
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
cd my-mcp-server
|
|
77
|
-
npm install
|
|
78
|
-
npm start
|
|
79
|
-
# Accessible at http://localhost:8788/mcp
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
**Production push:**
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
npx wrangler deploy
|
|
86
|
-
# Accessible at https://[worker-name].[subdomain].workers.dev/mcp
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
**Claude Desktop setup** (modify `claude_desktop_config.json`):
|
|
90
|
-
|
|
91
|
-
```json
|
|
92
|
-
{
|
|
93
|
-
"mcpServers": {
|
|
94
|
-
"my-server": {
|
|
95
|
-
"command": "npx",
|
|
96
|
-
"args": ["mcp-remote", "https://my-mcp-server.my-account.workers.dev/mcp"]
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**Inspector testing:**
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
npx @modelcontextprotocol/inspector@latest
|
|
106
|
-
# Launch browser at http://localhost:5173
|
|
107
|
-
# Input your server URL: http://localhost:8788/mcp
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## Help Channels
|
|
113
|
-
|
|
114
|
-
- Cloudflare Discord
|
|
115
|
-
- GitHub discussions on cloudflare/ai repository
|
|
@@ -1,338 +0,0 @@
|
|
|
1
|
-
# Securing MCP Servers
|
|
2
|
-
|
|
3
|
-
MCP servers require authentication to ensure only trusted users can access them. The MCP specification uses OAuth 2.1 for authentication between clients and servers.
|
|
4
|
-
|
|
5
|
-
Cloudflare's `workers-oauth-provider` handles token management, client registration, and access token validation automatically.
|
|
6
|
-
|
|
7
|
-
## Basic Setup
|
|
8
|
-
|
|
9
|
-
```typescript
|
|
10
|
-
import { OAuthProvider } from "@cloudflare/workers-oauth-provider";
|
|
11
|
-
import { createMcpHandler } from "agents/mcp";
|
|
12
|
-
|
|
13
|
-
const apiHandler = {
|
|
14
|
-
async fetch(request: Request, env: unknown, ctx: ExecutionContext) {
|
|
15
|
-
return createMcpHandler(server)(request, env, ctx);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
export default new OAuthProvider({
|
|
20
|
-
authorizeEndpoint: "/authorize",
|
|
21
|
-
tokenEndpoint: "/oauth/token",
|
|
22
|
-
clientRegistrationEndpoint: "/oauth/register",
|
|
23
|
-
apiRoute: "/mcp",
|
|
24
|
-
apiHandler: apiHandler,
|
|
25
|
-
defaultHandler: AuthHandler
|
|
26
|
-
});
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
## Proxy Server Pattern
|
|
30
|
-
|
|
31
|
-
MCP servers often act as OAuth clients too. Your server sits between Claude Desktop and a third-party API like GitHub. To Claude, you're a server. To GitHub, you're a client. This lets users authenticate with their GitHub credentials.
|
|
32
|
-
|
|
33
|
-
Building a secure proxy server requires careful attention to several security concerns.
|
|
34
|
-
|
|
35
|
-
---
|
|
36
|
-
|
|
37
|
-
## Security Requirements
|
|
38
|
-
|
|
39
|
-
### Redirect URI Validation
|
|
40
|
-
|
|
41
|
-
The `workers-oauth-provider` validates that `redirect_uri` in authorization requests matches registered URIs. This prevents attackers from redirecting authorization codes to malicious endpoints.
|
|
42
|
-
|
|
43
|
-
### Consent Dialog
|
|
44
|
-
|
|
45
|
-
When proxying to third-party providers, implement your own consent dialog before forwarding users upstream. This prevents the "confused deputy" problem where attackers exploit cached consent.
|
|
46
|
-
|
|
47
|
-
Your consent dialog should:
|
|
48
|
-
- Identify the requesting MCP client by name
|
|
49
|
-
- Display the specific scopes being requested
|
|
50
|
-
|
|
51
|
-
---
|
|
52
|
-
|
|
53
|
-
## CSRF Protection
|
|
54
|
-
|
|
55
|
-
Prevent attackers from tricking users into approving malicious OAuth clients. Use a random token stored in a secure cookie.
|
|
56
|
-
|
|
57
|
-
```typescript
|
|
58
|
-
// Generate token when showing consent form
|
|
59
|
-
function generateCSRFProtection(): { token: string; setCookie: string } {
|
|
60
|
-
const token = crypto.randomUUID();
|
|
61
|
-
const setCookie = `__Host-CSRF_TOKEN=${token}; HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=600`;
|
|
62
|
-
return { token, setCookie };
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
// Validate token when user approves
|
|
66
|
-
function validateCSRFToken(formData: FormData, request: Request): { clearCookie: string } {
|
|
67
|
-
const tokenFromForm = formData.get("csrf_token");
|
|
68
|
-
const cookieHeader = request.headers.get("Cookie") || "";
|
|
69
|
-
const tokenFromCookie = cookieHeader
|
|
70
|
-
.split(";")
|
|
71
|
-
.find((c) => c.trim().startsWith("__Host-CSRF_TOKEN="))
|
|
72
|
-
?.split("=")[1];
|
|
73
|
-
|
|
74
|
-
if (!tokenFromForm || !tokenFromCookie || tokenFromForm !== tokenFromCookie) {
|
|
75
|
-
throw new Error("CSRF token mismatch");
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
return {
|
|
79
|
-
clearCookie: `__Host-CSRF_TOKEN=; HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=0`
|
|
80
|
-
};
|
|
81
|
-
}
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
Include the token as a hidden form field:
|
|
85
|
-
|
|
86
|
-
```html
|
|
87
|
-
<input type="hidden" name="csrf_token" value="${csrfToken}" />
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
---
|
|
91
|
-
|
|
92
|
-
## Input Sanitization
|
|
93
|
-
|
|
94
|
-
Client-controlled content (names, logos, URIs) can execute malicious scripts if not sanitized. Treat all client metadata as untrusted.
|
|
95
|
-
|
|
96
|
-
```typescript
|
|
97
|
-
function sanitizeText(text: string): string {
|
|
98
|
-
return text
|
|
99
|
-
.replace(/&/g, "&")
|
|
100
|
-
.replace(/</g, "<")
|
|
101
|
-
.replace(/>/g, ">")
|
|
102
|
-
.replace(/"/g, """)
|
|
103
|
-
.replace(/'/g, "'");
|
|
104
|
-
}
|
|
105
|
-
|
|
106
|
-
function sanitizeUrl(url: string): string {
|
|
107
|
-
if (!url) return "";
|
|
108
|
-
try {
|
|
109
|
-
const parsed = new URL(url);
|
|
110
|
-
if (!["http:", "https:"].includes(parsed.protocol)) {
|
|
111
|
-
return "";
|
|
112
|
-
}
|
|
113
|
-
return url;
|
|
114
|
-
} catch {
|
|
115
|
-
return "";
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
**Required protections:**
|
|
121
|
-
- Client names/descriptions: HTML-escape before rendering
|
|
122
|
-
- Logo URLs: Allow only `http:` and `https:` schemes
|
|
123
|
-
- Client URIs: Same as logo URLs
|
|
124
|
-
- Scopes: Treat as text, HTML-escape
|
|
125
|
-
|
|
126
|
-
---
|
|
127
|
-
|
|
128
|
-
## Content Security Policy
|
|
129
|
-
|
|
130
|
-
CSP headers block dangerous content and provide defense in depth.
|
|
131
|
-
|
|
132
|
-
```typescript
|
|
133
|
-
function buildSecurityHeaders(setCookie: string, nonce?: string): HeadersInit {
|
|
134
|
-
const cspDirectives = [
|
|
135
|
-
"default-src 'none'",
|
|
136
|
-
"script-src 'self'" + (nonce ? ` 'nonce-${nonce}'` : ""),
|
|
137
|
-
"style-src 'self' 'unsafe-inline'",
|
|
138
|
-
"img-src 'self' https:",
|
|
139
|
-
"font-src 'self'",
|
|
140
|
-
"form-action 'self'",
|
|
141
|
-
"frame-ancestors 'none'",
|
|
142
|
-
"base-uri 'self'",
|
|
143
|
-
"connect-src 'self'"
|
|
144
|
-
].join("; ");
|
|
145
|
-
|
|
146
|
-
return {
|
|
147
|
-
"Content-Security-Policy": cspDirectives,
|
|
148
|
-
"X-Frame-Options": "DENY",
|
|
149
|
-
"X-Content-Type-Options": "nosniff",
|
|
150
|
-
"Content-Type": "text/html; charset=utf-8",
|
|
151
|
-
"Set-Cookie": setCookie
|
|
152
|
-
};
|
|
153
|
-
}
|
|
154
|
-
```
|
|
155
|
-
|
|
156
|
-
---
|
|
157
|
-
|
|
158
|
-
## State Management
|
|
159
|
-
|
|
160
|
-
Ensure the same user that hits authorize reaches the callback. Use a random state token stored in KV with short expiration.
|
|
161
|
-
|
|
162
|
-
```typescript
|
|
163
|
-
// Create state before redirecting to upstream provider
|
|
164
|
-
async function createOAuthState(
|
|
165
|
-
oauthReqInfo: AuthRequest,
|
|
166
|
-
kv: KVNamespace
|
|
167
|
-
): Promise<{ stateToken: string }> {
|
|
168
|
-
const stateToken = crypto.randomUUID();
|
|
169
|
-
await kv.put(`oauth:state:${stateToken}`, JSON.stringify(oauthReqInfo), {
|
|
170
|
-
expirationTtl: 600
|
|
171
|
-
});
|
|
172
|
-
return { stateToken };
|
|
173
|
-
}
|
|
174
|
-
|
|
175
|
-
// Bind state to browser session via hashed cookie
|
|
176
|
-
async function bindStateToSession(stateToken: string): Promise<{ setCookie: string }> {
|
|
177
|
-
const encoder = new TextEncoder();
|
|
178
|
-
const data = encoder.encode(stateToken);
|
|
179
|
-
const hashBuffer = await crypto.subtle.digest("SHA-256", data);
|
|
180
|
-
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
|
181
|
-
const hashHex = hashArray.map((b) => b.toString(16).padStart(2, "0")).join("");
|
|
182
|
-
|
|
183
|
-
return {
|
|
184
|
-
setCookie: `__Host-CONSENTED_STATE=${hashHex}; HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=600`
|
|
185
|
-
};
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
// Validate in callback - check both KV and session cookie
|
|
189
|
-
async function validateOAuthState(
|
|
190
|
-
request: Request,
|
|
191
|
-
kv: KVNamespace
|
|
192
|
-
): Promise<{ oauthReqInfo: AuthRequest; clearCookie: string }> {
|
|
193
|
-
const url = new URL(request.url);
|
|
194
|
-
const stateFromQuery = url.searchParams.get("state");
|
|
195
|
-
|
|
196
|
-
if (!stateFromQuery) {
|
|
197
|
-
throw new Error("Missing state parameter");
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
// Check KV
|
|
201
|
-
const storedDataJson = await kv.get(`oauth:state:${stateFromQuery}`);
|
|
202
|
-
if (!storedDataJson) {
|
|
203
|
-
throw new Error("Invalid or expired state");
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
// Check session cookie matches
|
|
207
|
-
const cookieHeader = request.headers.get("Cookie") || "";
|
|
208
|
-
const consentedStateHash = cookieHeader
|
|
209
|
-
.split(";")
|
|
210
|
-
.find((c) => c.trim().startsWith("__Host-CONSENTED_STATE="))
|
|
211
|
-
?.split("=")[1];
|
|
212
|
-
|
|
213
|
-
if (!consentedStateHash) {
|
|
214
|
-
throw new Error("Missing session binding cookie");
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
// Hash state and compare
|
|
218
|
-
const encoder = new TextEncoder();
|
|
219
|
-
const hashBuffer = await crypto.subtle.digest("SHA-256", encoder.encode(stateFromQuery));
|
|
220
|
-
const stateHash = Array.from(new Uint8Array(hashBuffer))
|
|
221
|
-
.map((b) => b.toString(16).padStart(2, "0"))
|
|
222
|
-
.join("");
|
|
223
|
-
|
|
224
|
-
if (stateHash !== consentedStateHash) {
|
|
225
|
-
throw new Error("State token does not match session");
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
await kv.delete(`oauth:state:${stateFromQuery}`);
|
|
229
|
-
|
|
230
|
-
return {
|
|
231
|
-
oauthReqInfo: JSON.parse(storedDataJson),
|
|
232
|
-
clearCookie: `__Host-CONSENTED_STATE=; HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=0`
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## Approved Clients Registry
|
|
240
|
-
|
|
241
|
-
Maintain a registry of approved client IDs per user. Store in a cryptographically signed cookie with HMAC-SHA256.
|
|
242
|
-
|
|
243
|
-
```typescript
|
|
244
|
-
export async function addApprovedClient(
|
|
245
|
-
request: Request,
|
|
246
|
-
clientId: string,
|
|
247
|
-
cookieSecret: string
|
|
248
|
-
): Promise<string> {
|
|
249
|
-
const existingClients = await getApprovedClientsFromCookie(request, cookieSecret) || [];
|
|
250
|
-
const updatedClients = Array.from(new Set([...existingClients, clientId]));
|
|
251
|
-
|
|
252
|
-
const payload = JSON.stringify(updatedClients);
|
|
253
|
-
const signature = await signData(payload, cookieSecret);
|
|
254
|
-
const cookieValue = `${signature}.${btoa(payload)}`;
|
|
255
|
-
|
|
256
|
-
return `__Host-APPROVED_CLIENTS=${cookieValue}; HttpOnly; Secure; Path=/; SameSite=Lax; Max-Age=2592000`;
|
|
257
|
-
}
|
|
258
|
-
```
|
|
259
|
-
|
|
260
|
-
When reading the cookie, verify the signature before trusting data. If client isn't approved, show consent dialog.
|
|
261
|
-
|
|
262
|
-
---
|
|
263
|
-
|
|
264
|
-
## Cookie Security
|
|
265
|
-
|
|
266
|
-
### Why `__Host-` prefix?
|
|
267
|
-
|
|
268
|
-
The `__Host-` prefix prevents subdomain attacks on `*.workers.dev` domains. Requirements:
|
|
269
|
-
- Must have `Secure` flag (HTTPS only)
|
|
270
|
-
- Must have `Path=/`
|
|
271
|
-
- Must not have `Domain` attribute
|
|
272
|
-
|
|
273
|
-
Without this prefix, an attacker on `evil.workers.dev` could set cookies for your `mcp-server.workers.dev` domain.
|
|
274
|
-
|
|
275
|
-
### Multiple OAuth Providers
|
|
276
|
-
|
|
277
|
-
If running multiple OAuth flows on the same domain, namespace your cookies:
|
|
278
|
-
- `__Host-CSRF_TOKEN_GITHUB` vs `__Host-CSRF_TOKEN_GOOGLE`
|
|
279
|
-
- `__Host-APPROVED_CLIENTS_GITHUB` vs `__Host-APPROVED_CLIENTS_GOOGLE`
|
|
280
|
-
|
|
281
|
-
---
|
|
282
|
-
|
|
283
|
-
## Inline JavaScript
|
|
284
|
-
|
|
285
|
-
If your consent dialog needs inline JavaScript, use data attributes and nonces:
|
|
286
|
-
|
|
287
|
-
```typescript
|
|
288
|
-
const nonce = crypto.randomUUID();
|
|
289
|
-
|
|
290
|
-
const html = `
|
|
291
|
-
<script nonce="${nonce}" data-redirect-url="${sanitizeUrl(redirectUrl)}">
|
|
292
|
-
setTimeout(() => {
|
|
293
|
-
const script = document.querySelector('script[data-redirect-url]');
|
|
294
|
-
window.location.href = script.dataset.redirectUrl;
|
|
295
|
-
}, 2000);
|
|
296
|
-
</script>
|
|
297
|
-
`;
|
|
298
|
-
|
|
299
|
-
return new Response(html, {
|
|
300
|
-
headers: buildSecurityHeaders(setCookie, nonce)
|
|
301
|
-
});
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
Data attributes store user-controlled data separately from executable code. Nonces with CSP allow your specific script while blocking injected scripts.
|
|
305
|
-
|
|
306
|
-
---
|
|
307
|
-
|
|
308
|
-
## Provider-Specific Setup
|
|
309
|
-
|
|
310
|
-
### GitHub
|
|
311
|
-
|
|
312
|
-
1. Create OAuth App at github.com/settings/developers
|
|
313
|
-
2. Set callback URL: `https://[worker].workers.dev/callback`
|
|
314
|
-
3. Store secrets:
|
|
315
|
-
```bash
|
|
316
|
-
wrangler secret put GITHUB_CLIENT_ID
|
|
317
|
-
wrangler secret put GITHUB_CLIENT_SECRET
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
### Google
|
|
321
|
-
|
|
322
|
-
1. Create OAuth Client at console.cloud.google.com/apis/credentials
|
|
323
|
-
2. Set authorized redirect URI
|
|
324
|
-
3. Scopes: `openid email profile`
|
|
325
|
-
|
|
326
|
-
### Auth0
|
|
327
|
-
|
|
328
|
-
1. Create Regular Web Application in Auth0 Dashboard
|
|
329
|
-
2. Set allowed callback URLs
|
|
330
|
-
3. Endpoints: `https://${AUTH0_DOMAIN}/authorize`, `/oauth/token`, `/userinfo`
|
|
331
|
-
|
|
332
|
-
---
|
|
333
|
-
|
|
334
|
-
## References
|
|
335
|
-
|
|
336
|
-
- [MCP Authorization Spec](https://modelcontextprotocol.io/specification/2025-06-18/basic/authorization)
|
|
337
|
-
- [MCP Security Best Practices](https://modelcontextprotocol.io/specification/draft/basic/security_best_practices)
|
|
338
|
-
- [RFC 9700 - OAuth Security](https://www.rfc-editor.org/rfc/rfc9700)
|