Skip to main content
Glama
api-access-requirements-for-dev-team-v1.0.0.md•10 kB
--- document: API Access Requirements for Development Team version: 1.0.0 status: ready_for_submission priority: CRITICAL target_audience: EuConquisto Development Team created: 2025-07-01 context: v1.1.0 MCP Tool Implementation --- # API Access Requirements for EuConquisto Development Team ## šŸŽÆ **Request Summary** **Requesting**: API access configuration for DigitalPages API integration **Purpose**: Enable automated composition creation and management via Claude MCP tools **Current Status**: Implementation complete, API access blocked (500 errors) **Business Impact**: Enables AI-powered educational content creation for institutions ## šŸ“‹ **Specific Technical Requirements** ### **1. JWT Token Access Validation** ⭐ **CRITICAL** **Current Issue**: JWT token returns 500 Internal Server Error **Required**: Validate and configure API access for existing JWT token **Endpoints Failing**: ``` āŒ GET https://api.digitalpages.com.br/auth/v1.0/user/me āŒ GET https://api.digitalpages.com.br/auth/v1.0/project/uid/36c92686-c494-ec11-a22a-dc984041c95d āŒ POST https://api.digitalpages.com.br/storage/v1.0/content/versions/dynamic ``` **Request**: Please verify and enable API access for the JWT token currently used in the Composer interface. ### **2. Project Access Configuration** **Project Details**: - **Project UID**: `36c92686-c494-ec11-a22a-dc984041c95d` - **Connector UID**: `93c952c2-680c-ed11-bd6e-dc98407f3f93` - **Project Key**: `e3894d14dbb743d78a7efc5819edc52e` - **Environment**: `prd` (production) **Request**: Confirm these identifiers are correct and have proper API access permissions. ### **3. Required API Endpoints** šŸŽÆ **ESSENTIAL** Based on network traffic analysis, the MCP tool needs access to: #### **Authentication Endpoints** ``` GET /auth/v1.0/user/me GET /auth/v1.0/project/uid/{project_uid} GET /auth/v1.1/connector/uid/{connector_uid} ``` #### **Content Management Endpoints** ``` POST /storage/v1.0/content/versions/dynamic ?manual_project_uid={project_uid}&uid={composition_uid} GET /storage/v1.0/content/versions/?uid={composition_uid} GET /storage/v1.0/content ?uid={composition_uid}&access_token={jwt}&project_key={key}&api_env=prd ``` **Request**: Enable programmatic access to these endpoints with current authentication credentials. ## šŸ” **Technical Context** ### **Discovery Method** API endpoints were discovered through **live network traffic monitoring** during manual composition creation and save operations in the Composer interface. ### **Integration Architecture** ``` User Request → Claude MCP Tool → DigitalPages API → Persistent Storage ↓ ↓ localStorage Cache Server-side Persistence ``` ### **Current Implementation Status** - āœ… **MCP Tool**: Complete implementation ready - āœ… **Authentication Flow**: Implemented based on discovered patterns - āœ… **Request Structure**: Matches observed network traffic - āŒ **API Access**: Blocked with 500 Internal Server Error ### **C# Interface Analysis** šŸ” **NEW INSIGHTS** Based on analysis of C# interface files, the following authorization patterns are critical: #### **Authorization Requirements** ```csharp // IBaseAuthorization.cs - Required authorization components - Role: RoleType (see specific roles below) - EntityUid: Guid? (entity association) - UserUid: Guid? (user performing action) - AuthorUid: Guid? (user who created authorization) - DirectoryUid: Guid? (directory context) - ProjectUid: Guid? (project context) ← CRITICAL ``` #### **Required Roles for Composition Management** ```csharp // From Enums.cs - Likely required roles for composer operations ManagedContentAdmin = 1L << 30, // Full composition management ManagedContentContributor = 1L << 31, // Create/edit compositions ManagedContentViewer = 1L << 32, // View compositions ``` #### **Connector Type Analysis** ```csharp // From Enums.cs - ConnectorType enum Composer_1 = 100, // ← This is the Composer connector type ``` #### **IComposerObject Requirements** ```csharp // IComposerObject.cs - Required fields for composition objects - ObjectUid: Guid (composition object identifier) - ContentUid: Guid (composition content identifier) - ObjectData: string (composition JSON data) - Type: string (composition type) - Version: string (composition version) - ConnectorUid: Guid (must match Composer_1 connector) ← CRITICAL ``` ## šŸ“Š **Observed vs. Required Behavior** ### **Working Manual Process** āœ… 1. User logs into Composer with JWT token 2. User creates composition manually 3. Composition saves successfully via API 4. Network traffic shows successful API calls ### **Blocked Automated Process** āŒ 1. MCP tool authenticates with same JWT token 2. MCP tool attempts identical API calls 3. **API returns 500 Internal Server Error** 4. Composition creation fails **Gap**: Same credentials work manually but fail programmatically. ## 🚨 **Specific Error Details** ### **Authentication Error** ```json { "statusCode": 500, "message": "Internal server error", "activityId": "1c7e8b8b-1ecb-4b92-a9f6-837ebaecc3df" } ``` ### **Request Headers Used** ``` Authorization: Bearer {jwt_token} Content-Type: application/json Accept: application/json ``` **Questions for Dev Team**: 1. Are additional headers required for programmatic access? 2. Is there an API key or application registration needed? 3. Are there rate limiting or IP restrictions? 4. Is the JWT token scope sufficient for these operations? ### **šŸ” NEW: C# Interface-Based Questions** ⭐ **CRITICAL** Based on C# interface analysis, additional authorization questions: 5. **Role Authorization**: Does the JWT token have the required roles? - `ManagedContentContributor` (1L << 31) for composition creation? - `ManagedContentAdmin` (1L << 30) for full management? 6. **Connector Authorization**: Is the user authorized for the Composer connector? - ConnectorUid: `93c952c2-680c-ed11-bd6e-dc98407f3f93` - ConnectorType: `Composer_1 = 100` 7. **Project-Level Permissions**: Are project-level authorizations properly configured? - ProjectUid: `36c92686-c494-ec11-a22a-dc984041c95d` - Required: ManagedContent permissions at project level 8. **Directory-Level Access**: Is directory-level authorization needed? - DirectoryUid association required? - Directory-scoped permissions for content creation? 9. **IComposerObject Structure**: Are our API calls using the correct object structure? - ObjectUid vs ContentUid distinction - Required ConnectorUid in composition payload - Proper Type and Version fields ## šŸ’¼ **Business Justification** ### **Use Case** Enable educators to create professional Composer content through natural language prompts via Claude Desktop, eliminating manual composition creation workflow. ### **Target Users** - Educational institutions using EuConquisto platform - Teachers creating interactive educational content - Content creators needing rapid composition development ### **Expected Benefits** - **10x faster content creation** through AI automation - **Professional composition management** with persistent storage - **Enterprise-grade reliability** for institutional use ## šŸŽÆ **Requested Actions** ### **Immediate (High Priority)** 1. **Validate JWT Token**: Confirm current token has API access permissions 2. **Check Project Access**: Verify project UID and connector UID are properly configured 3. **Enable Endpoints**: Ensure listed endpoints accept programmatic requests 4. **Test API Access**: Run basic authentication test with current credentials ### **Configuration (Medium Priority)** 1. **Headers Review**: Confirm required headers for programmatic access 2. **Rate Limiting**: Clarify any API usage restrictions 3. **Environment Setup**: Validate production environment configuration 4. **Error Handling**: Provide error code documentation for proper handling ### **Documentation (Low Priority)** 1. **API Documentation**: Share official API documentation if available 2. **Authentication Guide**: Provide programmatic authentication guidelines 3. **Best Practices**: Share recommended patterns for API integration ## šŸ“‹ **Testing Requirements** ### **Minimal Test Case** Please enable a simple test to verify API access: ```bash # Test authentication curl -H "Authorization: Bearer {jwt_token}" \ https://api.digitalpages.com.br/auth/v1.0/user/me # Expected: 200 OK with user data # Current: 500 Internal Server Error ``` ### **Success Criteria** - āœ… Authentication endpoints return 200 OK - āœ… Composition save endpoint accepts POST requests - āœ… Verification endpoints return composition data - āœ… Same permissions as manual Composer interface ## šŸ”„ **Follow-up Process** ### **After API Access Enabled** 1. **Immediate Testing**: Validate all endpoints with test suite 2. **Integration Testing**: Complete MCP tool workflow validation 3. **User Acceptance**: Deploy to Claude Desktop for institutional testing 4. **Monitoring Setup**: Track API usage and performance metrics ### **Success Metrics** - **Technical**: 100% API endpoint success rate - **Functional**: End-to-end composition creation workflow - **User Experience**: <30 seconds from prompt to viewable composition ## šŸ“ž **Contact Information** **Implementation Team**: Claude Code Integration Project **Technical Contact**: Ricardo Kawasaki **Project Priority**: HIGH - Blocking production deployment **Timeline**: Immediate enablement requested for institutional rollout --- ## šŸ“Ž **Supporting Documentation** - **Network Traffic Analysis**: `/docs/analysis/network-traffic-analysis-results-v1.0.0.md` - **API Implementation**: `/src/api/digitalpages-api-client.js` - **Test Results**: `/logs/test-reports/v1.1.0-validation-*.md` - **Complete MCP Tool**: `/dist/inject-and-view-composition-v1.1.0.js` **All technical implementation is complete and ready for immediate deployment upon API access enablement.**

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