DollhouseMCP is a free, open-source MCP server for dynamically customizing AI behavior with modular elements: personas, skills, templates, agents, memories, and ensembles. Elements are readable Markdown/YAML files in a local portfolio (~/.dollhouse/portfolio/), with 37 starters bundled, optional GitHub sync, and a community collection. It uses MCP-AQL, consolidating operations into 5 semantic endpoints (Create/Read/Update/Delete/Execute), and enforces element-controlled permissions through a server-side Gatekeeper: deny rules hold even when the MCP client is set to 'Always Allow'. Agent execution runs through an autonomy evaluator, danger-zone enforcement, and step audit trails. It works with Claude Code, Claude Desktop, Cursor, Gemini, Codex, VS Code, Windsurf, Cline, and LM Studio, is written in TypeScript, and is licensed AGPL-3.0.
Setup
1) Interactive setup: run npx @dollhousemcp/mcp-server@latest --web and use the browser wizard for one-click install into Claude Desktop, Claude Code, Cursor, VS Code, Codex, Gemini CLI, Windsurf, Cline, or LM Studio; 2) Claude Code one-liner: claude mcp add -s user dollhousemcp -- npx -y @dollhousemcp/mcp-server; 3) Claude Desktop: download the .mcpb Desktop Extension and double-click; 4) Or install locally with npm install @dollhousemcp/mcp-server and point your client at dist/index.js. Configure via MCP_AQL_ENDPOINT_MODE, MCP_INTERFACE_MODE, DOLLHOUSE_PORTFOLIO_DIR, GITHUB_TOKEN.
{"mcpServers":{"dollhousemcp":{"command":"npx","args":["-y","@dollhousemcp/mcp-server"]}}}
Use cases
Create and activate personas, skills, templates, agents, or memories in natural language to change AI behavior
Restrict what the AI can do (e.g., a read-only analyst persona) with server-side enforcement
Run multi-step Dollhouse Agents with full audit trails and human-in-the-loop control
Back up the portfolio to GitHub, sync across machines, and contribute to the community collection
Bundle multiple elements into one activatable ensemble for one-switch workflow changes