Skip to main content
Glama
how-to-create-custom-auto-load-memories.yaml9.41 kB
--- name: how-to-create-custom-auto-load-memories type: memory description: Complete guide for creating custom auto-load memories - step-by-step instructions and examples version: 1.0.0 author: DollhouseMCP category: documentation tags: - auto-load - guide - tutorial - memory-creation - documentation triggers: - how-to-auto-load - create-auto-load-memory - auto-load-guide - auto-load-tutorial - custom-auto-load autoLoad: false priority: 999 retention: permanent privacyLevel: public searchable: true trustLevel: VALIDATED --- # How to Create Custom Auto-Load Memories ## Overview Auto-load memories are automatically loaded when DollhouseMCP starts, providing instant context without searching. Perfect for baseline knowledge, project context, team standards, and frequently-needed information. ## Quick Start ### 1. Create or Modify a Memory Any memory can be marked for auto-load by adding two metadata fields: ```yaml --- name: my-custom-memory type: memory description: My project context autoLoad: true # ← Enable auto-load priority: 10 # ← Load order (lower = first) --- # Your content here ``` ### 2. Configure Auto-Load Settings (Optional) Edit `~/.dollhouse/config.yaml`: ```yaml autoLoad: enabled: true # Global on/off maxTokenBudget: 5000 # Total token limit maxSingleMemoryTokens: 2000 # Per-memory limit (optional) suppressLargeMemoryWarnings: false ``` ### 3. Restart DollhouseMCP ```bash # Restart your MCP client (Claude Desktop, Claude Code, etc.) # Auto-load memories will be loaded automatically ``` ## Step-by-Step Guide ### Step 1: Decide What to Auto-Load **Good Candidates**: - Project overview and architecture - Team coding standards - Frequently-referenced specifications - Domain knowledge (medical terms, legal concepts) - API reference sheets - Personal preferences and workflows **Poor Candidates**: - Large datasets (>10,000 tokens) - Sensitive information (credentials, PII) - Frequently changing content - Temporary notes ### Step 2: Create the Memory #### Using MCP Tools: ```javascript // In Claude Code or compatible MCP client create_element({ type: "memories", name: "my-project-context", description: "Core project information for AI context", content: "# Project: MyApp\n\n## Architecture\n...", metadata: { autoLoad: true, priority: 5 } }) ``` #### Using CLI: ```bash dollhouse create memory my-project-context \ --autoLoad true \ --priority 5 \ --content "# Project: MyApp..." ``` #### Manual YAML: Create `~/.dollhouse/portfolio/memories/my-project-context.yaml`: ```yaml --- name: my-project-context type: memory description: Core project information autoLoad: true priority: 5 retention: permanent privacyLevel: private searchable: true --- # Project: MyApp ## Architecture - Frontend: React + TypeScript - Backend: Node.js + Express - Database: PostgreSQL ## Key Decisions - Using REST API (not GraphQL) for simplicity - Tailwind CSS for styling - Jest for testing ``` ### Step 3: Set Priority Priority determines load order (lower number = loads first): - **1-10**: System/baseline knowledge (reserved for DollhouseMCP) - **11-50**: Critical project context (load first) - **51-100**: Important reference material - **101-500**: Nice-to-have context - **501+**: Lowest priority Example priority scheme: ```yaml # Priority 1: DollhouseMCP baseline (system) name: dollhousemcp-baseline-knowledge priority: 1 # Priority 20: Your project overview name: project-overview priority: 20 # Priority 30: Team coding standards name: coding-standards priority: 30 # Priority 50: API reference name: api-reference priority: 50 ``` ### Step 4: Optimize Token Usage Check token estimate: ```bash dollhouse validate memory my-project-context # Output includes: "Estimated tokens: 1,234" ``` **Token Guidelines**: - **Small** (0-1,000): Ideal for auto-load - **Medium** (1,000-5,000): Good, stays under default budget - **Large** (5,000-10,000): Consider splitting or increasing budget - **Very Large** (10,000+): Not recommended for auto-load Reduce token count: - Remove verbose examples - Use bullet points instead of paragraphs - Link to external docs instead of embedding - Split into multiple focused memories ### Step 5: Test Your Memory ```bash # Check if memory will auto-load dollhouse config show autoLoad # Validate memory syntax dollhouse validate memory my-project-context # See auto-load order dollhouse list memories --filter autoLoad=true --sort priority ``` ## Advanced Configuration ### Explicit Memory List Override metadata-driven auto-load with explicit list: ```yaml # ~/.dollhouse/config.yaml autoLoad: enabled: true memories: - dollhousemcp-baseline-knowledge - my-project-context - coding-standards # Only these memories will auto-load ``` ### Conditional Auto-Load Use environment variables to control auto-load: ```bash # Disable all auto-load temporarily export DOLLHOUSE_DISABLE_AUTOLOAD=true # Normal auto-load behavior unset DOLLHOUSE_DISABLE_AUTOLOAD ``` ### Per-Project Configuration Create project-specific config: ```yaml # /project/.dollhouserc.yaml autoLoad: maxTokenBudget: 10000 # Higher budget for this project memories: - project-overview - local-dev-setup # Project-specific memories only ``` ## Common Patterns ### Pattern 1: Layered Context Load knowledge in layers (general → specific): ```yaml # Priority 10: Company-wide standards name: company-coding-standards priority: 10 # Priority 20: Team standards name: team-backend-patterns priority: 20 # Priority 30: Project-specific context name: myapp-architecture priority: 30 ``` ### Pattern 2: Role-Based Context Different memories for different roles: ```yaml # For backend developers name: backend-context autoLoad: true tags: [backend, api, database] # For frontend developers name: frontend-context autoLoad: true tags: [frontend, ui, components] ``` ### Pattern 3: Onboarding Kit New team member baseline: ```yaml name: team-onboarding priority: 5 description: Everything new engineers need to know content: | # Welcome to Team Atlas! ## First Week Checklist - [ ] Read architecture docs - [ ] Set up dev environment - [ ] Deploy your first PR ## Key Resources - Slack: #team-atlas - Docs: docs.company.com/atlas - CI/CD: Jenkins (jenkins.company.com) ``` ## Troubleshooting ### Memory Not Loading 1. Check metadata: ```yaml autoLoad: true # Must be boolean, not string priority: 10 # Must be number, not string ``` 2. Verify config: ```bash dollhouse config show autoLoad.enabled # Should output: true ``` 3. Check startup logs: ```bash # Look for: "[ServerStartup] Auto-load complete: X memories loaded" ``` ### Budget Exceeded If memories are skipped due to budget: ```yaml # Increase budget autoLoad: maxTokenBudget: 10000 # Default: 5000 # Or prioritize critical memories (lower priority = loads first) # Or split large memories into smaller focused ones ``` ### Memory Too Large Warning: "Memory 'xyz' is very large (~12,000 tokens)" Solutions: 1. Split into multiple memories 2. Remove verbose sections 3. Increase single memory limit: ```yaml autoLoad: maxSingleMemoryTokens: 15000 ``` 4. Suppress warnings (not recommended): ```yaml autoLoad: suppressLargeMemoryWarnings: true ``` ## Examples ### Example 1: Project Context ```yaml --- name: webapp-project-context autoLoad: true priority: 20 --- # WebApp Project Context **Stack**: React + Node.js + PostgreSQL **Deployment**: AWS (ECS + RDS) **CI/CD**: GitHub Actions ## Active Sprints - Sprint 42: User authentication (ends Oct 15) - Tech debt: Migrate to TypeScript (Q4 2025) ## Key Contacts - PM: Jane (@jane) - Tech Lead: Bob (@bob) - DevOps: Alice (@alice) ``` ### Example 2: API Reference ```yaml --- name: internal-api-reference autoLoad: true priority: 50 --- # Internal API Reference ## User Service - `GET /api/users/:id` - Get user by ID - `POST /api/users` - Create user - `PUT /api/users/:id` - Update user ## Auth - Header: `Authorization: Bearer <token>` - Token expires: 24 hours ``` ### Example 3: Coding Standards ```yaml --- name: team-coding-standards autoLoad: true priority: 30 --- # Team Coding Standards ## TypeScript - Use strict mode - No `any` types - Prefer interfaces over types ## Testing - Coverage: >80% required - Unit tests: Jest - E2E tests: Playwright ## PR Process 1. Create feature branch 2. Write tests first 3. Get 2 approvals 4. Squash merge to main ``` ## Best Practices 1. **Start Small**: Begin with 1-2 auto-load memories, expand as needed 2. **Review Regularly**: Update memories quarterly, remove stale content 3. **Monitor Token Usage**: Check startup logs for token counts 4. **Use Priorities Wisely**: Reserve low priorities for critical content 5. **Document Changes**: Add version history to memory content 6. **Test Before Committing**: Validate memories before pushing to team 7. **Share Configurations**: Commit `.dollhouserc.yaml` to project repos ## Related Documentation - [Priority Best Practices for Teams](./priority-best-practices-for-teams.yaml) - [Token Estimation Guidelines](./token-estimation-guidelines.yaml) - [DollhouseMCP Baseline Knowledge](./dollhousemcp-baseline-knowledge.yaml) --- **Last Updated**: v1.9.25 (October 2025)

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/DollhouseMCP/DollhouseMCP'

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