Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DEBUG | No | Debug logging (optional) | |
| NODE_ENV | No | Node.js environment (development/production) | |
| GITHUB_TOKEN | No | For private repository access (optional) | |
| PERSONAS_DIR | No | Custom personas directory | |
| DOLLHOUSE_USER | No | User attribution for persona creation | |
| DOLLHOUSE_EMAIL | No | Contact email (optional) | |
| DOLLHOUSE_DISABLE_UPDATES | No | Disable auto-update system | |
| DOLLHOUSE_INDICATOR_EMOJI | No | Custom emoji for persona indicators | |
| DOLLHOUSE_INDICATOR_STYLE | No | Persona indicator style (minimal/compact/full) | |
| DOLLHOUSE_GITHUB_CLIENT_ID | No | OAuth app client ID (for self-hosting) | |
| DOLLHOUSE_INDICATOR_ENABLED | No | Enable/disable persona indicators |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_elements | List all available elements of a specific type |
| activate_element | Activate a specific element by name |
| get_active_elements | Get information about currently active elements of a specific type |
| deactivate_element | Deactivate a specific element |
| get_element_details | Get detailed information about a specific element |
| reload_elements | Reload elements of a specific type from the filesystem |
| render_template | Render a template element with provided variables |
| execute_agent | Execute an agent element with a specific goal |
| create_element | Create a new element of any type |
| edit_element | Edit an existing element of any type |
| validate_element | Validate an element for correctness and best practices |
| delete_element | Delete an element and optionally its associated data files |
| import_persona | Import a persona from a file path or JSON string |
| browse_collection | Browse content from the DollhouseMCP collection by section and content type. Content types include personas (AI behavioral profiles), skills, agents, and templates. When users ask for 'personas', they're referring to content in the personas type. |
| search_collection | Search for content in the collection by keywords. This searches all content types including personas (AI behavioral profiles that users activate to change AI behavior), skills, agents, prompts, etc. When a user asks to 'find a persona', search in the collection. |
| search_collection_enhanced | Enhanced search for collection content with pagination, filtering, and sorting. Use this for advanced searches when users need specific content types or want to browse results in pages. |
| get_collection_content | Get detailed information about content from the collection. Use this when users ask to 'see details about a persona' or 'show me the creative writer persona'. Personas are a type of content that defines AI behavioral profiles. |
| install_collection_content | Install AI customization elements FROM the DollhouseMCP collection TO your local portfolio. Use this when users ask to download/install any element type (personas, skills, templates, agents, or memories) from the collection. Examples: 'install the creative writer persona from the collection', 'get the code review skill from collection', 'download the meeting notes template from collection', 'get the project context memory from collection'. |
| submit_collection_content | Submit a single element TO the DollhouseMCP community collection (via your GitHub portfolio). This first uploads the element to your personal GitHub portfolio, then creates a submission issue for the community collection. Use this when users want to share their custom elements with the community. This handles all content types including personas (AI behavioral profiles). |
| get_collection_cache_health | Get health status and statistics for the collection cache system. This helps monitor cache performance and identify any issues with offline browsing capability. |
| setup_github_auth | Set up GitHub authentication to access all DollhouseMCP features. This uses GitHub's secure device flow - no passwords needed! Use this when users say things like 'connect to GitHub', 'set up GitHub', 'I have a GitHub account now', or when they try to submit content without authentication. |
| check_github_auth | Check current GitHub authentication status. Shows whether you're connected to GitHub, your username, and what actions are available. Use when users ask 'am I connected to GitHub?', 'what's my GitHub status?', or similar questions. |
| clear_github_auth | Remove GitHub authentication and disconnect from GitHub. Use when users say 'disconnect from GitHub', 'remove my GitHub connection', 'clear authentication', or want to switch accounts. |
| configure_oauth | Configure GitHub OAuth client ID for authentication. If no client_id provided, shows current configuration status. If client_id provided, validates format and saves it to config. Use when users need to set up OAuth or check their configuration. |
| oauth_helper_status | Get detailed diagnostic information about the OAuth helper process. Shows if authentication is in progress, process health, timing, and any errors. Use when troubleshooting authentication issues or checking if OAuth flow is working. |
| portfolio_status | Check the status of your GitHub portfolio repository including repository existence, elements count, sync status, and configuration details. |
| init_portfolio | Initialize a new GitHub portfolio repository for storing your DollhouseMCP elements. Creates the repository structure with proper directories and README. |
| portfolio_config | Configure portfolio settings such as auto-sync preferences, default visibility, submission settings, and repository preferences. |
| sync_portfolio | Sync ALL elements in your local portfolio with your GitHub repository. By default uses 'additive' mode which only adds new items and never deletes (safest). Use 'mirror' mode for exact sync (with deletion confirmations). Use 'backup' mode to treat GitHub as backup source. ALWAYS run with dry_run:true first to preview changes. For individual elements, use 'portfolio_element_manager' instead. |
| search_portfolio | Search your local portfolio by content name, metadata, keywords, tags, or description. This searches your local elements using the portfolio index for fast metadata-based lookups. |
| search_all | Search across all available sources (local portfolio, GitHub portfolio, and collection) for elements. This provides unified search with duplicate detection and version comparison across all three tiers of the DollhouseMCP ecosystem. |
| dollhouse_config | Manage DollhouseMCP configuration settings. Replaces set_user_identity, get_user_identity, and clear_user_identity tools. |
| portfolio_element_manager | Manage individual elements between your local portfolio and GitHub repository. USE THIS TO DOWNLOAD/UPLOAD INDIVIDUAL PERSONAS, SKILLS, OR OTHER ELEMENTS! When a user asks to 'download X persona from my GitHub' or 'upload Y skill to GitHub', use this tool. Operations: 'download' (GitHubβlocal), 'upload' (localβGitHub), 'list-remote' (see what's on GitHub), 'compare' (diff local vs GitHub). FUZZY MATCHING enabled - 'verbose victorian scholar' will find 'Verbose-Victorian-Scholar'. After downloading, use reload_elements then activate_element. |
| get_build_info | Get comprehensive build and runtime information about the server |
| find_similar_elements | Find elements that are semantically similar to a given element using NLP scoring (Jaccard similarity and Shannon entropy). Returns elements with similarity scores and relationships. |
| get_element_relationships | Get all relationships for a specific element, including semantic similarities, verb-based connections, and cross-element references. |
| search_by_verb | Search for elements that can handle a specific action verb (e.g., 'analyze', 'create', 'debug'). Uses verb trigger patterns to find matching elements. |
| get_relationship_stats | Get statistics about the Enhanced Index relationships, including total counts by type, most connected elements, and index health metrics. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |