← Back to directory
D

DollhouseMCP

Community
Open-source MCP server for modular AI customization via personas, skills, templates, agents, and memories.
Category
Other #64 of 230
Stars
★ 46 Popular
Transport
stdio (local process)
Runtime
Node.js 20+
Credentials
Optional API key
License
AGPL-3.0
Last commit
Tools
7
61FMRS · C

A well-engineered MCP server for AI customization with standout security design: MCP-AQL's 5-endpoint structure cuts token usage dramatically, and the server-side Gatekeeper plus danger-zone enforcement provide permission guarantees beyond client controls. Highlights include the local-first composable element system and an active community collection; watch for third-party element vetting, incomplete Claude Desktop permission hooks, and AGPL-3.0 compliance. Extensive test coverage (9600+ tests) and solid cross-platform support.

Strongest · Documentation 16/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
12/20
Maintenance
12/20
Documentation
16/20
Setup experience
13/20
Why each score
Reliability 8/20
The manifest is well-formed (schema reference, npm package, stdio transport) and is logically consistent with the README's description of a 5-endpoint MCP-AQL design. However, this review is based only on the README and manifest text — no actual CI workflow files or test source code were inspected. Claims like '9600+ Tests' and SonarCloud badges are self-reported and unverified. The README itself admits that advanced features (Gatekeeper confirmation flow, agentic loop) have been 'tested extensively on Claude Code' but 'not rigorously verified on all platforms,' indicating real uncertainty in cross-platform behavior. Per the static calibration rule, absent verifiable CI/test evidence, reliability cannot be scored high.
Security and permissions 12/20
The documentation describes a fairly detailed permission model: a server-side Gatekeeper enforcing deny > confirm > allow policy resolution, per-endpoint confirmation tiers (reads auto-approved, deletes/execute requiring confirmation each time), input sanitization, path traversal protection, DOMPurify, and an explicitly local-first design with optional GitHub sync. No red-line evidence appears (no malware, credential theft, or real secrets in examples), and no irreversible destructive default actions are described. However, all of this is self-reported in the README and could not be checked against actual server source code to confirm the Gatekeeper truly behaves as claimed. The scope, storage, and handling of GITHUB_TOKEN are also not detailed, leaving an unverified risk surface, so full marks are not warranted.
Maintenance 12/20
The manifest's version (2.0.42) and the README's v2.0.0 release notes, migration guide, CI badges, and SonarCloud quality gates suggest active ongoing development, with contribution guidelines and community channels (Discord, Discussions) in place. However, the repository has 929 open issues against only 39 stars — a disproportionately large backlog for its size — suggesting possible issue triage or maintenance-capacity strain, which is a clear warning sign and warrants a deduction.
Documentation 16/20
The documentation set is well-layered: quick start, public beta onboarding, an LLM quick reference, architecture docs, a security model doc, API reference, migration guide, troubleshooting guide, and environment variable reference are all present. The README also proactively discloses limitations, such as a table of varying permission-hook support across MCP clients and explicit caveats about unverified cross-platform behavior — a good sign of documentation honesty and coverage. Points are deducted because the linked document contents themselves were not reviewed/verified, and some operationally important details (GITHUB_TOKEN scope, specific error codes/rate limits) remain thin at the README summary level.
Setup experience 13/20
The README offers multiple installation paths (an npx-based one-click web wizard, a one-line `claude mcp add` command, and a double-click .mcpb desktop extension), along with an environment variable table and a cross-client permission-hook compatibility matrix — the steps are clear and cover mainstream clients. Per the static calibration rule, however, no verifiable CI workflow or committed tests covering key setup paths were found in the reviewed material, so the score must be capped (≤15). Additionally, the README's own table shows permission-hook support is only 'partial' on several platforms, indicating real-world setup may be functionally incomplete on some clients, which keeps the score below the cap.

Static review · not runListed 2026-09-07

Read the FMRS scoring method →

Fit and risk

What it can accessReads local filesWrites / deletes local filesRuns commands or codeUses the network

Best for

  • Advanced users who want composable, shareable elements for deep AI customization
  • Security-conscious teams needing permission governance and auditable agent execution
  • Users of MCP clients with full tool-call round-trip support, especially Claude Code

Not for

  • Users who require a server officially maintained by an upstream product owner (this is an independent community project)
  • Users relying on Claude Desktop native permission-hook flows (not supported in this release)
  • Beginners wanting a zero-config experience with no understanding of elements and permission policies

Required permissions

  • Reads and writes local Markdown/YAML element files in ~/.dollhouse/portfolio/
  • Optionally uses GITHUB_TOKEN for GitHub portfolio sync and community submissions
  • Update/delete/execute MCP-AQL operations require per-operation confirmation by default (auto-approvable via policy)
  • Agent execution may trigger high-risk operations (file deletion, external API calls, system commands), constrained by danger-zone enforcement and autonomy evaluation

Risks and side effects

  • Activating elements immediately changes AI tool access and permissions; misactivating a restrictive element can block operations
  • Third-party elements from the community collection may contain undesirable content or policies; review before installing
  • Agents can execute multi-step tasks autonomously — danger zones and audits exist, but human oversight is still required
  • AGPL-3.0 requires source disclosure for network use; verify compliance for commercial integrations

Setup

Before you start

Runtime:Node.js 20+

GITHUB_TOKEN optionalsecret Optional GitHub personal access token for GitHub operations; create one in GitHub settings.
Other optional settings (3)
MCP_AQL_ENDPOINT_MODE optional Sets the AQL endpoint mode (crude or single); defaults to crude to reduce token usage.
MCP_INTERFACE_MODE optional Interface style: mcpaql (default) or discrete for backward-compatible v1 tool names.
DOLLHOUSE_PORTFOLIO_DIR optional Custom portfolio directory location; defaults to ~/.dollhouse/portfolio/.

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.

.mcp.json
{"mcpServers":{"dollhousemcp":{"command":"npx","args":["-y","@dollhousemcp/mcp-server"]}}}

Shown for Claude Code. Other clients may use a different file or key (VS Code uses "servers") — the configurator below converts it.

.vscode/mcp.json
{
  "servers": {
    "dollhousemcp": {
      "command": "npx",
      "args": [
        "-y",
        "@dollhousemcp/mcp-server"
      ]
    }
  }
}

Goes in your project's .vscode/mcp.json (VS Code uses a "servers" key).

Terminal
claude mcp add dollhousemcp -- npx -y @dollhousemcp/mcp-server

Run it in a terminal; replace any <…> placeholders with your own values first.

Check that it works

After connecting, ask "What DollhouseMCP tools do you have available?" — the mcp_aql_* tools such as mcp_aql_read should appear in the client's tool list.

Troubleshooting

  1. Verify elements are in the portfolio directory (DOLLHOUSE_PORTFOLIO_DIR) with valid YAML frontmatter
  2. If operations are blocked, check the active element's Gatekeeper allow/deny/confirm policies — deny cannot be overridden by the client
  3. Check MCP_AQL_ENDPOINT_MODE and MCP_INTERFACE_MODE match the desired tool exposure (crude/single/discrete)
  4. If activations are lost after restart, check activation persistence and local file write permissions
  5. For GitHub sync failures, verify GITHUB_TOKEN permissions; see the official Troubleshooting docs for more

Things to try

Once connected, you can ask your AI assistant things like:

  • List all available Dollhouse personas
  • Activate the Dollhouse debug detective persona
  • Create a skill for writing blog posts
  • Convert my Anthropic agent skill into a Dollhouse skill

Tools 7

mcp_aql_read read-only
Read endpoint: list, search, get, activate elements, and introspect operations. Auto-approved, no side effects.
mcp_aql_create writes
Create endpoint: add elements, install from collection, add memory entries. Confirm once per session.
mcp_aql_update writes
Update endpoint: edit existing elements. Requires confirmation each time.
mcp_aql_delete destructive
Delete endpoint: remove elements and clear entries. Requires confirmation each time.
mcp_aql_execute writes
Execute endpoint: run agents, manage execution lifecycle, and confirm gated operations.
convert_skill_format writes
Bidirectional lossless converter between Dollhouse Skills and Claude/Anthropic agent skills formats.
open_portfolio_browser read-only
Open the built-in web portfolio browser to visually manage elements.

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

Supported clients

Claude Code
Claude DesktopPartial support
CursorPartial support
VS CodePartial support
CodexPartial support
Gemini CLIPartial support
WindsurfPartial support
ClinePartial support
LM StudioPartial support

Listed from the project's documentation, not tested by this site.

Overview

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.

Similar servers

BioMCP 75 · B

One binary. One grammar. Evidence from the biomedical sources you already trust.

★ 659 · Tools 11 Compare with this →

Source revision b2b93accf670 Data synced 2026-10-19 Read the FMRS scoring method