DollhouseMCP is a comprehensive Model Context Protocol (MCP) server that enables dynamic AI persona management with a GitHub-powered marketplace. It allows Claude and other compatible AI assistants to activate different behavioral personas while supporting community sharing.
npm install -g @mickdarling/dollhousemcp
# Clone the repository
git clone https://github.com/DollhouseMCP/mcp-server.git
cd mcp-server
# Install dependencies and build
npm install
npm run build
# Optional: Set user identity for persona attribution
export DOLLHOUSE_USER="your-username"
export DOLLHOUSE_EMAIL="[email protected]"
Add DollhouseMCP to your Claude Desktop configuration:
For NPM Installation:
{
"mcpServers": {
"dollhousemcp": {
"command": "npx",
"args": ["@mickdarling/dollhousemcp"]
}
}
}
For Source Installation:
{
"mcpServers": {
"dollhousemcp": {
"command": "node",
"args": ["/absolute/path/to/DollhouseMCP/dist/index.js"]
}
}
}
Configuration locations:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
After configuration, restart Claude Desktop completely.
list_personas
- Display all local personas with enhanced metadataactivate_persona
- Activate by name, filename, or unique IDget_active_persona
- Get current persona informationdeactivate_persona
- Return to default modeget_persona_details
- View complete persona detailsreload_personas
- Refresh from filesystembrowse_marketplace
- Browse personas by categorysearch_marketplace
- Search across all marketplace personasget_marketplace_persona
- View detailed marketplace persona infoinstall_persona
- One-click download and installationsubmit_persona
- Submit to marketplace via GitHub issueset_user_identity
- Set username for persona attributionget_user_identity
- View current identity statusclear_user_identity
- Return to anonymous modecreate_persona
- Guided persona creation through chatedit_persona
- Modify existing persona fieldsvalidate_persona
- Comprehensive quality validationcheck_for_updates
- Check GitHub releases for available updatesupdate_server
- Automated git pull + npm install + build with backuprollback_update
- Restore previous version from automatic backupsget_server_status
- Get server status with version and system detailsconfigure_indicator
- Configure how persona indicators appear in responsesget_indicator_config
- View current indicator configuration settingsbrowse_marketplace # See all categories
browse_marketplace "creative" # Browse creative personas
search_marketplace "writing" # Search for writing personas
install_persona "creative/storyteller.md" # Install from marketplace
create_persona "Study Buddy" "A helpful tutor" "educational" "You are a patient tutor..."
edit_persona "Study Buddy" "description" "An encouraging academic mentor"
validate_persona "Study Buddy" # Check quality and format
submit_persona "Study Buddy" # Share with community
set_user_identity "your-username" # Set attribution
get_user_identity # Check current status
clear_user_identity # Return to anonymous
check_for_updates # Check for new versions
get_server_status # View current version and system info
update_server true # Perform automated update with backup
rollback_update true # Revert to previous version if needed
get_indicator_config # View current settings
configure_indicator enabled:false # Disable indicators
configure_indicator style:"minimal" # Use minimal format: 🎠Creative Writer
configure_indicator style:"compact" # Use compact: [Creative Writer v2.1]
configure_indicator style:"full" # Full format (default)
# Clone repository
git clone https://github.com/DollhouseMCP/mcp-server.git
cd mcp-server
# Build and run with Docker Compose
docker-compose up -d
# Or build manually
docker build -t dollhousemcp .
docker run -d --name dollhousemcp dollhousemcp
# Mount your custom personas directory
docker run -d \
--name dollhousemcp \
-v /path/to/your/personas:/app/personas \
-e DOLLHOUSE_USER="your-username" \
dollhousemcp
Create .md
files in the personas/
directory with this structure:
---
name: "Your Persona Name"
description: "Brief description of what this persona does"
unique_id: "auto-generated-if-missing"
author: "your-username"
triggers: ["keyword1", "keyword2"]
version: "1.0"
category: "creative"
age_rating: "all"
ai_generated: false
generation_method: "human"
price: "free"
license: "CC-BY-SA-4.0"
---
# Your Persona Name
Your persona instructions go here. This content defines how the AI should behave when this persona is activated.
## Response Style
- Communication guidelines
- Tone and approach
- Specific behaviors
## Key Techniques
- Problem-solving methods
- Interaction patterns
Issue | Solution |
---|---|
Personas not loading | Check personas/ directory exists and has read permissions |
Server won't start | Run npm run rebuild to clean and rebuild |
Marketplace not working | Check internet connection and GitHub API access |
User identity not saving | Set DOLLHOUSE_USER environment variable before starting Claude |
"Cannot find module" errors | Ensure npm install completed successfully |
TypeScript compilation errors | Verify Node.js version is 20+ with node --version |
Tools not appearing in Claude | Restart Claude Desktop completely after config changes |
Default personas modified | v1.2.1+ uses copy-on-write; git restore if needed |
Update/rollback issues | Check write permissions; disable with DOLLHOUSE_DISABLE_UPDATES=true |
Check build status:
npm run build
Verify persona files:
ls -la personas/*.md
Test server startup:
node dist/index.js
Validate configuration:
# Check Claude Desktop config
cat ~/Library/Application\ Support/Claude/claude_desktop_config.json
# Verify Node.js version (requires 20+)
node --version
Test auto-update system:
# Use within Claude Desktop
check_for_updates # Check for available updates
get_server_status # View system information
Validate personas:
Use the reload_personas
tool to check for loading errors
To add this MCP server to Claude Code, run this command in your terminal:
claude mcp add-json "dollhousemcp" '{"command":"node","args":["/absolute/path/to/DollhouseMCP/dist/index.js"]}'
See the official Claude Code MCP documentation for more details.
There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json
file so that it is available in all of your projects.
If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json
file.
To add a global MCP server go to Cursor Settings > Tools & Integrations and click "New MCP Server".
When you click that button the ~/.cursor/mcp.json
file will be opened and you can add your server like this:
{
"mcpServers": {
"dollhousemcp": {
"command": "node",
"args": [
"/absolute/path/to/DollhouseMCP/dist/index.js"
]
}
}
}
To add an MCP server to a project you can create a new .cursor/mcp.json
file or add it to the existing one. This will look exactly the same as the global MCP server example above.
Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.
The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.
You can also explicitly ask the agent to use the tool by mentioning the tool name and describing what the function does.
To add this MCP server to Claude Desktop:
1. Find your configuration file:
~/Library/Application Support/Claude/claude_desktop_config.json
%APPDATA%\Claude\claude_desktop_config.json
~/.config/Claude/claude_desktop_config.json
2. Add this to your configuration file:
{
"mcpServers": {
"dollhousemcp": {
"command": "node",
"args": [
"/absolute/path/to/DollhouseMCP/dist/index.js"
]
}
}
}
3. Restart Claude Desktop for the changes to take effect