UNPKG

@simonecoelhosfo/optimizely-mcp-server

Version:

Optimizely MCP Server for AI assistants with integrated CLI tools

70 lines (49 loc) • 2.13 kB
# Optimizely Entity Rules and Guidelines ## 🚨 MANDATORY WORKFLOW - Entity Creation ### ALWAYS Try Direct Creation First ``` šŸŽÆ STEP 1: Try direct creation with ALL user requirements manage_entity_lifecycle operation=create entity_type=X entity_data={full_request} šŸ¤– STEP 2: Let system detect complexity and suggest templates Server will return template suggestions if orchestration is needed šŸ“‹ STEP 3: Use templates only when system suggests them Templates handle complex multi-entity operations automatically ``` ### Template Mode (When Server Suggests It) Templates are automatically suggested for: - Flags with A/B tests, variations, variables - Experiments with custom pages + events - Audiences with custom attributes - Any multi-entity orchestration ### Template Workflow (After Server Suggestion) 1. Call `get_entity_templates` with project_id and entity_type 2. Fill all `{FILL: description}` placeholders 3. Call `manage_entity_lifecycle` with `mode="template"` 4. Let orchestration handle all dependencies automatically **šŸ“‹ For comprehensive workflow details, see [EntityOrchestrator Workflows Documentation](../../docs/architecture/entity-orchestrator-workflows.md)** ### Anti-Patterns to Avoid - āŒ Creating events/variables manually before using templates - āŒ Manually building rulesets when template mode is available - āŒ Modifying user-specified values without permission ## Entity Relationships ### Feature Experimentation (is_flags_enabled: true) ``` Flag └── Rulesets (per flag + environment) └── Rules (targeting logic) ``` - **Rulesets**: Not standalone entities - exist as flag + environment combinations - **Variable Definitions**: Schema/template for variables - **Variations**: Actual variable values per variation ### Web Experimentation (is_flags_enabled: false) ``` Campaign ā”œā”€ā”€ Experiments └── Pages ``` ## User Value Respect **Critical**: Always use exactly what the user provides: - Environment names - Entity names - Configuration values If an error occurs, explain it but don't automatically retry with different values.