UNPKG

framework-mcp

Version:

Dual-architecture server (MCP + HTTP API) for determining vendor tool capability roles against CIS Controls Framework. Supports Microsoft Copilot custom connectors and DigitalOcean App Services deployment.

396 lines (305 loc) โ€ข 12.7 kB
# Framework MCP v1.2.0 Release Notes ## ๐Ÿš€ Major Release: Dual Architecture - DigitalOcean Deployment Support **Release Date**: August 2025 **Version**: 1.2.0 **Breaking Changes**: None (fully backward compatible) --- ## ๐ŸŒŸ Executive Summary Framework MCP v1.2.0 introduces **dual architecture support**, solving the critical DigitalOcean App Services deployment issue while maintaining full backward compatibility. This release enables both local MCP integration and cloud HTTP deployment through a shared core architecture. **Primary Achievement**: Solves the stdio vs HTTP binding conflict that prevented cloud deployment. --- ## ๐Ÿ—๏ธ Major New Features ### **1. Dual Architecture Implementation** ``` [Shared Core Logic] | +------+------+ | | [MCP Interface] [HTTP Interface] | | [stdio comm] [Express.js] | | [Claude Code] [Cloud Deploy] ``` **Components**: - **Shared Core**: `CapabilityAnalyzer` + `SafeguardManager` with identical logic - **MCP Interface**: Refactored stdio-based server for Claude Code integration - **HTTP Interface**: Express.js REST API for cloud deployment ### **2. Production-Ready HTTP API** **New REST Endpoints**: ``` POST /api/validate-vendor-mapping # Primary capability validation POST /api/analyze-vendor-response # Capability role determination POST /api/validate-coverage-claim # Implementation claim validation GET /api/safeguards # List all safeguards GET /api/safeguards/:id # Get safeguard details GET /health # Platform health check GET /api/metrics # Performance monitoring ``` **Production Features**: - โœ… **Health Checks**: Platform monitoring support (`/health`) - โœ… **CORS Enabled**: Web application integration - โœ… **Security Hardened**: Helmet, input validation, rate limiting ready - โœ… **Compression**: Optimized response sizes - โœ… **Error Handling**: Production-friendly error messages - โœ… **Performance Monitoring**: Real-time metrics at `/api/metrics` ### **3. DigitalOcean App Services Support** **Complete Configuration**: - โœ… **HTTP Port Binding**: Port 8080 (not stdio) - โœ… **Health Check Endpoint**: `/health` with proper status codes - โœ… **Environment Variables**: Production configuration support - โœ… **Auto-Scaling**: Resource allocation configuration - โœ… **Deployment YAML**: Complete `.do/app.yaml` provided **Deployment Command**: ```bash # Option 1: GitHub integration (recommended) # Connect branch: feature/dual-architecture-http-api # Option 2: doctl CLI doctl apps create .do/app.yaml ``` --- ## ๐Ÿ”ง Technical Enhancements ### **Shared Core Architecture** **CapabilityAnalyzer Class**: - Extracted from MCP server implementation - Maintains all v1.1.3 performance optimizations (95% cache improvement) - Preserves domain validation and auto-downgrade logic - Identical functionality across MCP and HTTP interfaces **SafeguardManager Class**: - Centralized CIS safeguards data management - Intelligent caching with configurable TTL - Input validation and error handling - Support for implementation examples ### **Interface Compatibility** **MCP Interface** (Preserved): ```typescript // Exact same tool signatures validate_vendor_mapping(vendor_name, safeguard_id, claimed_capability, supporting_text) analyze_vendor_response(vendor_name, safeguard_id, response_text) validate_coverage_claim(vendor_name, safeguard_id, claimed_capability, response_text) get_safeguard_details(safeguard_id, include_examples) list_available_safeguards() ``` **HTTP Interface** (New): ```bash # RESTful equivalent endpoints curl -X POST /api/validate-vendor-mapping -d '{"vendor_name":"...", "safeguard_id":"1.1", ...}' curl -X POST /api/analyze-vendor-response -d '{"vendor_name":"...", "safeguard_id":"5.1", ...}' curl -X POST /api/validate-coverage-claim -d '{"vendor_name":"...", "claimed_capability":"full", ...}' curl /api/safeguards/1.1?include_examples=true curl /api/safeguards ``` --- ## ๐Ÿ“ฆ Package and Deployment Updates ### **Package.json Enhancements** **New Scripts**: ```json { "start": "node dist/interfaces/http/http-server.js", // Default: HTTP server "start:mcp": "node dist/index.js", // MCP server "start:http": "node dist/interfaces/http/http-server.js", // HTTP server "dev": "tsc && npm run start:mcp", // MCP development "dev:http": "tsc && npm run start:http" // HTTP development } ``` **Updated Dependencies**: ```json { "express": "^4.18.2", "cors": "^2.8.5", "helmet": "^8.1.0", "compression": "^1.8.1" } ``` **Main Entry Point**: - **Default**: `dist/interfaces/http/http-server.js` (cloud-ready) - **MCP**: `dist/index.js` (Claude Code integration) ### **Cloud Platform Support** **DigitalOcean App Services**: ```yaml name: framework-mcp-api services: - name: api run_command: npm run start:http http_port: 8080 health_check: http_path: /health ``` **Alternative Platforms**: - **Railway**: `railway up` - **Render**: Node.js + `npm run start:http` - **AWS App Runner**: HTTP service configuration - **Google Cloud Run**: Container deployment ready --- ## ๐Ÿงช Testing and Validation ### **Dual Interface Testing** **HTTP API Validation**: ```bash # Health check curl http://localhost:8080/health # Primary validation endpoint curl -X POST http://localhost:8080/api/validate-vendor-mapping \ -H "Content-Type: application/json" \ -d '{"vendor_name":"AssetMax Pro","safeguard_id":"1.1","claimed_capability":"full","supporting_text":"..."}' # Domain validation test curl -X POST http://localhost:8080/api/validate-vendor-mapping \ -H "Content-Type: application/json" \ -d '{"vendor_name":"ThreatIntel Pro","safeguard_id":"1.1","claimed_capability":"full","supporting_text":"..."}' ``` **MCP Interface Validation**: ```bash # Standard MCP usage (unchanged) npm run start:mcp # Use with Claude Code as before ``` ### **Performance Verification** **Shared Core Performance**: - โœ… **95% Cache Improvement**: Maintained across both interfaces - โœ… **Domain Validation**: Auto-downgrade working in both MCP and HTTP - โœ… **Memory Management**: Intelligent cache cleanup active - โœ… **Error Handling**: Production-friendly messages in both interfaces **HTTP-Specific Performance**: - โœ… **Response Times**: Sub-200ms for cached requests - โœ… **Compression**: Significant bandwidth reduction - โœ… **Concurrent Requests**: Express.js scalability - โœ… **Health Monitoring**: Real-time metrics collection --- ## ๐Ÿ“‹ Migration Guide ### **No Breaking Changes** **Existing MCP Users**: - โœ… **Zero Changes Required**: All existing integrations continue working - โœ… **Same Tool Signatures**: No API changes to MCP tools - โœ… **Same Results**: Identical capability assessment output - โœ… **Same Performance**: All v1.1.3 optimizations preserved **Upgrade Path**: ```bash # Update to v1.2.0 npm update -g framework-mcp # Existing usage continues working npm run start:mcp # or npm run dev # New cloud deployment option available npm run start:http ``` ### **New Deployment Options** **When to Use Each Interface**: **Use MCP Interface For**: - Claude Code integration - Local development and testing - Tool-based LLM interactions - Existing workflows (no changes needed) **Use HTTP Interface For**: - DigitalOcean App Services deployment - Cloud platform deployment - Web application integration - API-based access requirements - Production scaling needs --- ## ๐Ÿ”’ Security and Validation ### **HTTP API Security** **Input Validation**: - Request size limits (10MB maximum) - Text length validation (10-10,000 characters) - Capability enum validation - Safeguard ID format validation - XSS prevention through input sanitization **Security Headers**: ```javascript // Helmet security configuration helmet({ contentSecurityPolicy: true, crossOriginEmbedderPolicy: true, crossOriginOpenerPolicy: true, crossOriginResourcePolicy: true }) ``` **CORS Configuration**: ```bash # Configurable via environment ALLOWED_ORIGINS=https://your-domain.com,https://app.your-domain.com ``` ### **Production Environment** **Environment Variables**: ```bash NODE_ENV=production # Required for production optimizations PORT=8080 # HTTP server port ALLOWED_ORIGINS=... # CORS configuration ``` **Monitoring and Observability**: - Real-time performance metrics at `/api/metrics` - Health check endpoint for platform monitoring - Error tracking and logging - Request counting and response time monitoring --- ## ๐Ÿ“ˆ Business Impact ### **For Security Practitioners** - **โ˜๏ธ Cloud Deployment**: Access capability assessment from any cloud platform - **๐Ÿ”Œ API Integration**: Integrate with existing security tools and workflows - **๐Ÿ“Š Scalability**: Deploy at enterprise scale with cloud auto-scaling - **๐Ÿ”„ Flexibility**: Choose deployment method based on use case ### **For Development Teams** - **๐Ÿš€ Faster Deployment**: Cloud-ready HTTP API out of the box - **๐Ÿ”ง CI/CD Ready**: Standard REST API for automation pipelines - **๐ŸŒ Web Integration**: Direct integration with web applications - **๐Ÿ“‹ Platform Agnostic**: Deploy on any cloud platform ### **For Enterprise Adoption** - **๐Ÿ’ผ Production Ready**: Enterprise-grade HTTP API with monitoring - **๐Ÿ”’ Security Hardened**: Production security best practices implemented - **๐Ÿ“ˆ Scalable**: Cloud-native architecture for enterprise workloads - **๐Ÿ›ก๏ธ Reliable**: Health checks and error handling for high availability --- ## ๐ŸŽฏ Success Metrics ### **Deployment Success Indicators** - โœ… **Health Check**: `/health` returns 200 status - โœ… **API Functionality**: All endpoints return expected responses - โœ… **Domain Validation**: Auto-downgrade working correctly - โœ… **Performance**: Cache hit rates >95% - โœ… **Cloud Platform**: Successful deployment to DigitalOcean ### **Integration Success Indicators** - โœ… **MCP Compatibility**: Existing Claude Code integrations work unchanged - โœ… **HTTP API**: REST endpoints accessible and functional - โœ… **Capability Assessment**: All 5 roles determined accurately - โœ… **Error Handling**: Production-friendly error messages - โœ… **Monitoring**: Performance metrics collection active --- ## ๐Ÿš€ What's Next ### **Immediate Benefits (Day 1)** - **Cloud Deployment**: Deploy to DigitalOcean App Services immediately - **API Access**: Integrate with web applications and automation - **Scalability**: Enterprise-ready deployment capability - **Monitoring**: Production observability and health checks ### **Strategic Impact (Month 1)** - **Enterprise Adoption**: Cloud-native capability assessment platform - **Integration Ecosystem**: API-first architecture enables broader tooling - **Scalable Operations**: Cloud auto-scaling for high-volume assessments - **Multi-Platform**: Deploy across multiple cloud providers --- ## ๐Ÿ“ž Support and Resources ### **Documentation** - **๐Ÿ“– Deployment Guide**: Complete `DEPLOYMENT_GUIDE.md` included - **โš™๏ธ Configuration**: DigitalOcean `.do/app.yaml` provided - **๐Ÿ”ง API Reference**: REST endpoint documentation at `/api` - **๐Ÿงช Testing Guide**: Validation commands and examples ### **Community and Support** - **GitHub Issues**: Bug reports and feature requests - **GitHub Discussions**: Community Q&A and best practices - **Documentation**: Complete API and deployment documentation - **Examples**: Production deployment configurations --- ## ๐ŸŽŠ Release Summary **Framework MCP v1.2.0** delivers the **most significant deployment enhancement** in the project's history: โœ… **Dual Architecture**: MCP + HTTP interfaces with shared core logic โœ… **DigitalOcean Ready**: Solves stdio vs HTTP deployment conflict โœ… **Backward Compatible**: Zero breaking changes to existing integrations โœ… **Production Ready**: Enterprise-grade HTTP API with monitoring โœ… **Cloud Agnostic**: Deploy on any cloud platform โœ… **API First**: REST endpoints for modern integration patterns **This release transforms Framework MCP from a local-only tool to a cloud-native, enterprise-ready capability assessment platform while preserving all existing functionality.** --- **๐ŸŒŸ Upgrade today and unlock cloud deployment for your capability assessment workflows!** ```bash npm install -g framework-mcp@1.2.0 ``` **Deploy to DigitalOcean**: ```bash doctl apps create .do/app.yaml ```