Skip to main content
Glama
technical-knowledge-base.md•10.9 kB
# EuConquisto Composer MCP - Technical Knowledge Base **Version**: v5.2.0 FULLY OPERATIONAL **Created**: January 12, 2025 **Updated**: January 12, 2025 **Purpose**: Preserve critical v5.2.0 implementation knowledge and prevent regression of working features **Status**: āœ… CRITICAL REFERENCE - Always consult before technical work **Sync**: EuConquisto Composer MCP v5.2.0 --- ## šŸ”‘ **Foundational References** ### **JSON Structure Reference** - **Location**: `/docs/references/json-example.md` - **Status**: āœ… **FOUNDATIONAL** - All formatting must match this structure - **Critical Requirements**: - Header fields (`category`, `author_name`, `author_office`) must be HTML-wrapped: `<p>text</p>` - Quiz questions must be HTML-wrapped: `<p>question</p>` - Quiz choices must be HTML-wrapped: `<p>choice</p>` - Quiz uses `choices` field (not `answers`) - Metadata must include `category` and `duration` fields ### **Authentication Flow** - **Status**: āœ… **WORKING** - Do not modify - **Pattern**: JWT redirect server → localStorage extraction → API calls - **Implementation**: `/tools/servers/jwt-redirect-server-v1.0.2.js` - **JWT Token**: `/correct-jwt-new.txt` ### **API Save Operation** - **Status**: āœ… **WORKING** - Core pattern proven - **Endpoint**: `https://api.digitalpages.com.br/storage/v1.0/upload/connector/uid/{connector_uid}` - **Headers**: Authorization (Bearer), Project-Key, Api-Env - **Body**: FormData with .rdpcomposer file --- ## šŸ› ļø **Working Components (DO NOT MODIFY)** ### **JIT Implementation** - **File**: `/dist/browser-automation-api-jit-v5.1.0.js` - **Status**: āœ… **PRODUCTION ACTIVE** - **Function**: Token-efficient 7-step JIT workflow - **Legacy**: v4.0.3 archived to `/archive/old-versions/` ### **JWT Redirect Server** - **File**: `/tools/servers/jwt-redirect-server-v1.0.2.js` - **Status**: āœ… **WORKING** - **Function**: Extracts JWT token and redirects to Composer ### **Content Generation** - **Directory**: `/src/content-generation/` - **Status**: āœ… **WORKING** - **Function**: Subject-specific content generation --- ## šŸ” **Debugging Principles** ### **First Steps for Any Issue**: 1. **Check JSON Reference** - Ensure structure matches `/docs/references/json-example.md` 2. **Verify Working Components** - Don't rebuild what already works 3. **Test with Minimal Example** - Isolate the actual problem 4. **Reference Previous Solutions** - Check `/docs/progress/` for solved issues ## āœ… **JIT Implementation Complete** (July 11, 2025) ### **Implemented JIT Workflow**: šŸŽÆ **Achievement**: 65% token reduction through 7-step JIT process 1. **get_smart_guidance** (~902 tokens) - Lightweight guidance with widget prediction 2. **Natural Content Creation** (Claude works freely without constraints) 3. **analyze_content_for_widgets** (~2,371 tokens) - Intelligent content analysis 4. **get_widget_requirements** (~2,050 tokens) - JIT API specs (only used widgets) 5. **validate_lesson_data** (Enhanced) - Auto-fix validation 6. **format_for_composer** (Enhanced) - Minimal transformation 7. **save_composition_api & open_composition_editor** - Complete workflow ### **Key Innovations Implemented**: - āœ… **Token Efficiency**: 65% reduction (8,400 → 2,952 guidance tokens) - āœ… **Natural Creation**: Claude creates content without format constraints - āœ… **Intelligent Mapping**: Content-driven widget selection - āœ… **Auto-Fix Validation**: Prevents workflow abandonment - āœ… **Error Isolation**: Each tool provides specific debugging ### **Version Consolidation** (January 12, 2025): - āœ… **Single Production Version**: JIT v5.1.0 active - āœ… **Legacy Archived**: All old versions moved to `/archive/` - āœ… **Clean Commands**: Unified startup and npm scripts - āœ… **Documentation Sync**: All docs reflect current state ### **Common Pitfalls to Avoid**: - āŒ Assuming payload size issues without evidence - āŒ Rebuilding authentication flow - āŒ Changing working API patterns - āŒ Ignoring the official JSON reference --- ## šŸ“‹ **Critical File Locations** ### **Must-Reference Files**: ``` /docs/references/json-example.md # API structure specification /CLAUDE.md # Project status and context /docs/progress/latest.md # Latest progress tracking /correct-jwt-new.txt # Working JWT token ``` ### **JIT Implementation Files**: ``` /dist/browser-automation-api-jit-v5.1.0.js # Main JIT server (ACTIVE) /src/tools/get-smart-guidance.js # Step 1: Lightweight guidance /src/tools/analyze-content-for-widgets.js # Step 3: Content analysis /src/tools/get-widget-requirements.js # Step 4: JIT requirements /src/tools/validate-lesson-data.js # Step 5: Auto-fix validation /src/tools/format-for-composer.js # Step 6: Minimal transformation /src/tools/save-composition-api.js # Step 7: API save /src/tools/open-composition-editor.js # Step 7: Browser navigation /bin/start-production.sh # Production startup script /tools/servers/jwt-redirect-server-v1.0.2.js # Authentication /dist/browser-automation-api-jit-v5.1.0.js # MCP server ``` --- ## šŸŽÆ **Current System Status** ### **āœ… Working Features**: - JSON formatting matches official reference - Authentication flow via JWT redirect - API save operations - Multi-tool JIT workflow - Content generation for all subjects ### **šŸ”§ Recently Fixed** (January 11, 2025): - āœ… **CRITICAL**: HTTP 500 errors completely resolved through JSON structure compliance - āœ… Header fields now HTML-wrapped per JSON reference (`<p>text</p>`) - āœ… Quiz structure uses `choices` field per JSON reference (not `answers`) - āœ… Metadata includes required `category` and `duration` fields - āœ… Blob creation fixed for browser context compatibility - āœ… Complete lesson validation: 12-widget photosynthesis lesson saves successfully - āœ… Performance validated: 2.5 seconds for complex lessons ### **āŒ Known Issues**: - āœ… **HTTP 500 Errors**: RESOLVED - JSON structure now matches official reference - āœ… **Header Field Format**: RESOLVED - All fields now HTML-wrapped - āœ… **Quiz Field Names**: RESOLVED - Uses "choices" field per specification - āœ… **Blob Creation**: RESOLVED - Fixed browser context issue - **No current issues identified** --- ## šŸš€ **Next Steps Protocol** ### **Before Making Changes**: 1. **Consult this knowledge base** 2. **Check if solution already exists** 3. **Reference the JSON specification** 4. **Test minimal examples first** ### **When Adding New Features**: 1. **Build on proven patterns** 2. **Don't modify working components** 3. **Update this knowledge base** 4. **Document in CLAUDE.md** ### **When Debugging**: 1. **Start with JSON reference validation** 2. **Check authentication state** 3. **Verify against working examples** 4. **Test with minimal payloads** --- ## šŸ“ **Documentation Update Protocol** ### **When to Update**: - New working solutions discovered - Critical technical decisions made - Working patterns identified - Debugging insights gained ### **What to Update**: - This knowledge base - CLAUDE.md project status - Progress tracking documents - Code comments in critical files --- ## šŸŽÆ **JIT Implementation Knowledge** (v5.1.0) ### **Token Optimization Principles**: - **Smart Guidance**: Provide minimal framework, predict widgets from prompt analysis - **Content Analysis**: Parse natural content intelligently, confidence-based widget mapping - **JIT Requirements**: Load only used widget specs (44% reduction from excluding unused) - **Auto-Fix**: Prevent validation failures through automatic correction - **Minimal Transform**: Preserve content quality, apply only necessary API mappings ### **Widget Prediction Intelligence**: ```javascript // Prompt-based widget prediction examples const predictions = { "photosynthesis": ["image-1", "flashcards-1", "quiz-1"], "mathematics": ["formula-1", "quiz-1", "practice-1"], "history": ["timeline-1", "text-1", "quiz-1"] }; // Confidence scoring for widget mapping const confidenceThresholds = { high: 0.85, // Auto-select widget medium: 0.70, // Suggest with explanation low: 0.50 // Flag for manual review }; ``` ### **Field Mapping Critical Knowledge**: ```javascript // CRITICAL: These field mappings prevent API errors const fieldMappings = { quiz: { old: "options", // Common mistake correct: "answers", // API requirement validation: "array of objects with text and correct_answer" }, flashcards: { correct: "flashcards_items", // Must match exactly structure: "[{term: string, definition: string}]" }, list: { old: "items", correct: "list_items", structure: "array of strings" } }; ``` ### **Auto-Fix Validation Rules**: 1. **HTML Wrapping**: Automatically wrap text content with `<p>` tags 2. **Field Correction**: Convert `options` → `answers`, `items` → `list_items` 3. **Metadata Addition**: Add required `category` and `duration` fields 4. **Structure Validation**: Ensure nested widget objects have required properties 5. **Content Sanitization**: Clean unsafe HTML, preserve educational formatting ### **Performance Optimization**: - **Widget Loading**: Only load specifications for widgets actually used - **Token Distribution**: 31.5% content analysis, 27.2% requirements, 29.4% validation - **Cache Strategy**: Reuse widget specifications across similar lessons - **Browser Optimization**: Single instance with connection pooling - **Memory Management**: 4GB heap allocation prevents Node.js memory errors ### **Error Prevention Strategies**: 1. **Confidence Thresholds**: Require 0.7+ confidence for automatic widget selection 2. **Fallback Widgets**: Default to `text-1` for unrecognized content 3. **Validation Pipeline**: 68+ rules with auto-fix before API submission 4. **Field Verification**: Cross-check against JSON reference before save 5. **Browser Recovery**: Automatic retry with exponential backoff ### **Production Command Reference**: ```bash # Primary production startup npm run start:production # Direct JIT server npm run mcp:start # Shell script (equivalent) ./bin/start-production.sh # Verify active implementation ls -la dist/browser-automation-api-jit-v5.1.0.js ``` ### **Debugging JIT Issues**: 1. **Step Isolation**: Each tool can be debugged independently 2. **Token Tracking**: Monitor token usage at each step for efficiency 3. **Confidence Monitoring**: Check widget mapping confidence scores 4. **Auto-Fix Logs**: Review validation fixes applied automatically 5. **API Response**: Enhanced error reporting with specific failure points --- **Last Updated**: January 12, 2025 **Version**: 2.0 JIT Implementation Complete **Status**: āœ… **PRODUCTION ACTIVE** - JIT v5.1.0 operational with 65% token reduction

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rkm097git/euconquisto-composer-mcp-poc'

If you have feedback or need assistance with the MCP directory API, please join our Discord server