DollhouseMCP is a comprehensive Model Context Protocol (MCP) server for managing, sharing, and customizing AI behaviors through dynamic personas and other AI customization elements. Key capabilities include:
AI Customization Management: Create, edit, validate, activate/deactivate, and manage personas, skills, templates, agents, memory, and ensembles through a portfolio system
Element-Specific Operations: Render content using templates with variables and execute autonomous agents for specific goals
GitHub Collection Integration: Browse, search, install, and submit AI customization elements to/from a community-driven GitHub collection with secure OAuth authentication
Import/Export & Sharing: Import personas from files/URLs, export to JSON format, and generate time-limited shareable URLs
User Identity Management: Set, retrieve, and clear user identity for content attribution
Server Management: Check status, perform automated updates with rollback capabilities and built-in safety features
Customization Options: Configure how persona indicators are displayed in AI responses
Offers containerized deployment options with production and development configurations, supporting volume mounts for custom personas and environment variable configuration
Provides a complete GitHub-powered marketplace integration for browsing, searching, installing, and submitting personas, with support for authentication and automated submission workflows
DollhouseMCP
Project Status
Build & Quality
Platform Support
Technology
๐ Repository: https://github.com/DollhouseMCP/mcp-server
๐ช Collection: https://github.com/DollhouseMCP/collection
๐ฆ NPM Package: https://www.npmjs.com/package/@dollhousemcp/mcp-server
๐ Website: https://dollhousemcp.com
Open Source, Community-Powered AI Customization
Create, Edit, and Share Customization Elements for Your AI Platforms
Elements That Customize Your AI's Capabilities and Actions
DollhouseMCP is open source, community-powered AI customization. Create your own customization elementsโpersonas that shape behavior, skills that add capabilities, templates for consistent outputs, agents for automation, and memories for persistent contextโor use and modify an ever-growing number of customization elements from the community. Every element you create can be saved to your portfolio and used again or shared back to the DollhouseMCP Collection to help others.
What Are Customization Elements?
Personas โ Shape how your AI acts and responds in specific domains
Skills โ Add specialized capabilities your AI can use
Templates โ Ensure consistent, high-quality outputs
Agents โ Enable autonomous task completion with smart decision-making
Memory โ Persistent context storage across sessions
Core Capabilities
๐ Community Element Library โ A growing number of tested personas, skills, templates, agents, and memories
โจ Create Custom Elements โ Create personas, skills, templates, agents, and memories from scratch using natural language
๐ค Open Source โ AGPL-3.0 licensed, ensuring community contributions stay free
๐ The DollhouseMCP Collection โ Install any community element with one command
๐ ๏ธ 41 Professional Tools โ Complete toolkit for element creation and management
๐ก๏ธ Security-First Validation โ All elements validated against hundreds of attack vectors
โก Hot-Swap Elements โ Change personas, skills, and templates without restarting as needed
๐ฆ Personal Portfolio โ Your library of custom AI configurations on your local computer or personal GitHub repo
Use Cases
Get Started
See Quick Start for complete setup instructions.
๐ฏ Element Types
โ Available Now
๐ญ Personas
Shape how your AI behaves and responds
Creative Writer - Imaginative storyteller for engaging narratives
Business Consultant - Strategic advisor for business decisions
Debug Detective - Systematic problem-solver for code issues
Security Analyst - Vulnerability assessment and threat analysis
Technical Analyst - Deep dive technical documentation
Use:
"Activate the creative writer persona"
๐ก Skills
Add specialized capabilities your AI can use
Code Review - Analyze code quality and suggest improvements
Data Analysis - Statistical analysis and visualization
Language Translation - Multi-language communication
API Integration - Connect and interact with external services
Testing Automation - Generate and run test suites
Use:
"Enable the code review skill"
๐ Templates
Ensure consistent, high-quality outputs
Project Proposal - Structured business proposals
Penetration Test Report - Security assessment documentation
Meeting Notes - Organized meeting summaries
Code Review - Systematic code evaluation format
Documentation - Technical documentation structure
Use:
"Use the project proposal template"
๐ค Agents
Enable autonomous task completion
Code Reviewer - Automated code quality assessment
Task Manager - Project organization and tracking
Research Assistant - Information gathering and synthesis
Academic Researcher - Scholarly research and citations
Security Fix Specialist - Vulnerability remediation
Use:
"Run the code reviewer agent"
๐ง Memory NEW in v1.9.0
Persistent context across sessions with intelligent organization
Text-based storage - Currently supports text content (PDFs, images, and other media types coming soon)
Date-based folders - Automatic YYYY-MM-DD organization prevents flat directory issues
YAML format - Human-readable structured data (vs Markdown for other elements)
Smart deduplication - SHA-256 hashing prevents duplicate storage
Search indexing - Fast queries across thousands of entries
Use:
"Create a memory for this project"
or"Remember this conversation"
Typical file sizes: Single memories up to ~100KB, folder structure enables unlimited collections
๐ Coming Soon
๐ฏ Ensembles
Combine multiple elements as one unified entity
Full-Stack Developer - Frontend + Backend + DevOps skills
Writing Suite - Creative + Technical + Editorial capabilities
Security Team - Analyst + Auditor + Remediation skills
Data Science Platform - Analysis + Visualization + ML skills
Status: In development
๐ Prompts
Reusable instruction sets
Code Review Checklist - Systematic review steps
Security Audit Guide - Vulnerability assessment process
Writing Guidelines - Style and tone instructions
Debug Workflow - Problem-solving methodology
Status: Planned
๐ง Tools
External function calls and commands
Git Operations - Version control management
Database Queries - Direct database interaction
API Calls - External service integration
File Operations - Advanced file manipulation
Status: Under consideration
๐ Memory Enhancements
Expanding memory capabilities
PDF Support - Text extraction from PDF documents
Image Analysis - Visual content understanding
Audio Transcription - Voice and sound processing
Video Understanding - Motion and scene analysis
Status: Roadmap planned
๐ฌ Natural Language Usage Examples
DollhouseMCP is designed for natural language interaction. Just describe what you want in plain English - you don't need to be overly specific, the system will figure it out.
Importing from the Community Collection
Natural Language Examples:
"Show me all the personas in the Dollhouse Collection"
"What creative writing personas are available?"
"Install the storyteller persona from the collection"
"Search for Python development skills"
"Find templates for technical documentation"
Direct Commands (if you prefer):
Managing Your Portfolio
Natural Language Examples:
"What's in my portfolio?"
"Show me all my custom personas"
"Sync my portfolio with GitHub"
"Create a backup of my elements"
"Search my portfolio for marketing templates"
Direct Commands (if you prefer):
Working with Elements
Natural Language Examples:
"Activate the code reviewer persona"
"What's currently active?"
"Switch to creative writing mode"
"Deactivate all elements"
"Show me details about the data analyst skill"
"Create a new persona for customer support"
"Edit the email template to be more formal"
Direct Commands (if you prefer):
Complete Workflow Example
Here's how a typical session might look:
Pro Tips
Be conversational:
"Help me write better code"
works as well as specific commandsStack elements:
"Activate both the code reviewer and the Python expert"
Save your favorites:
"Save this configuration as my default setup"
Share with others:
"Submit my custom persona to the community collection"
๐ฆ Installation
Choose Your Installation Method
Method 1: Local Installation (Recommended)
Create a dedicated folder for your MCP servers and install there:
Configure Claude Desktop:
Add to your config file:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Linux:
~/.config/Claude/claude_desktop_config.json
๐ก Pro tip: Replace /Users/YOUR_USERNAME
with your actual home directory path.
Method 2: Always Latest with npx
No installation needed! Configure Claude Desktop to always use the latest version:
๐ Note: The @latest
tag ensures you always get the newest version. Remove it to use npm's cached version.
Method 3: Global Installation
Configure Claude Desktop:
โ ๏ธ Warning: Only one version system-wide. Consider local installation for more flexibility.
๐ฏ Advanced: Multiple Configurations
Want separate portfolios for different contexts? Create multiple local installations:
Configure each with its own portfolio:
Now you can enable/disable different configurations in Claude Desktop as needed!
โ Verify Installation
After configuring and restarting Claude Desktop, test with:
You should see your available personas. If not, check the Troubleshooting section.
๐ Default Portfolio Location
By default, your elements are stored in:
macOS/Linux:
~/.dollhouse/portfolio/
Windows:
%USERPROFILE%\.dollhouse\portfolio\
Use the DOLLHOUSE_PORTFOLIO_DIR
environment variable to customize this location.
๐ Quick Start
Once installed, try these commands in Claude:
๐ New User? Follow our Roundtrip Workflow Guide for a complete walkthrough of discovering, customizing, and sharing AI elements with the community.
โจ Key Features
Feature | Description |
๐ญ 41 MCP Tools | Complete portfolio element management through chat interface |
๐ช GitHub Collection | Browse, search, install, and submit personas to community collection |
๐ Roundtrip Workflow | Complete cycle: discover โ customize โ share โ collaborate |
๐ GitHub Portfolio | Personal repository for storing and versioning your AI elements |
๐ค User Identity System | Environment-based attribution for persona creators |
๐ Unique ID System | Advanced ID generation:
|
๐ฌ Chat-Based Management | Create, edit, and validate personas through conversational interface |
๐ Real-time Operations | Live editing with automatic version bumping and validation |
๐ฆ NPM Installation | Install MCP servers from npm with cross-platform support and atomic operations |
๐ก๏ธ Data Protection | Copy-on-write for default personas, comprehensive backup system |
๐ Local-First Architecture | Full functionality without cloud dependency |
๐จ Portfolio System
The DollhouseMCP Portfolio system provides a comprehensive framework for managing AI elements locally and in the cloud.
Portfolio Structure
Your portfolio is organized by element type:
Note on File Types:
Markdown (.md): Used for personas, skills, templates, agents, and ensembles - human-readable with YAML frontmatter
YAML (.yaml): Used exclusively for memories - structured data optimized for context storage
Memory Organization:
Memories use automatic YYYY-MM-DD folder structure to prevent flat directory performance issues
Each memory file can grow up to ~100KB before creating a new file
Folder structure enables unlimited memory collections without degradation
Key Features
Local-First Architecture: All elements stored locally with optional cloud sync
GitHub Integration: Sync your portfolio with GitHub for backup and sharing
Version Control: Full git integration for tracking changes
Smart Detection: Automatically identifies element types from content
Flexible Naming: Use any naming convention you prefer
Portfolio Management Tools
Use the comprehensive set of MCP tools to manage your portfolio:
list_portfolio_elements
- View all elements across typessync_portfolio
- Synchronize with GitHubupload_to_portfolio
- Share elements with the communitydownload_from_portfolio
- Get elements from GitHub
For detailed portfolio documentation, see the Portfolio Guide.
๐ Security
DollhouseMCP implements enterprise-grade security measures to protect your data and ensure safe operation.
Security Features
Input Sanitization: All user inputs validated and sanitized
Path Traversal Prevention: Filesystem access strictly controlled
YAML Injection Protection: Safe parsing with validation
Command Injection Prevention: No direct shell command execution
Token Encryption: OAuth tokens encrypted at rest
Rate Limiting: API calls throttled to prevent abuse
Audit Logging: Security events tracked for analysis
Security Testing
Automated Security Scanning: GitHub Advanced Security enabled
Dependency Scanning: Automated vulnerability detection
Code Analysis: Static analysis with CodeQL
Secret Scanning: Prevents credential leaks
Reporting Security Issues
If you discover a security vulnerability, please:
DO NOT create a public GitHub issue
Open a private security advisory on GitHub
Include steps to reproduce if possible
Allow up to 48 hours for initial response
For more details, see our Security Policy.
๐ ๏ธ Development
Getting Started
Development Workflow
Create Feature Branch:
git checkout -b feature/your-feature
Make Changes: Implement your feature or fix
Run Tests:
npm test
Build:
npm run build
Submit PR: Create pull request to develop branch
Available Scripts
npm run build
- Compile TypeScriptnpm run dev
- Development mode with watchnpm test
- Run test suitenpm run lint
- Check code stylenpm run typecheck
- TypeScript type checking
Project Structure
For detailed development guides, see Development Documentation.
๐ญ Architecture
System Overview
DollhouseMCP follows a modular, extensible architecture built on the Model Context Protocol (MCP) standard.
Core Components
MCP Server
Transport: StdioServerTransport for Claude Desktop integration
Protocol: JSON-RPC 2.0 communication
Tools: 41 MCP tools for comprehensive functionality
Element System
BaseElement: Abstract base class for all elements
IElement Interface: Common contract for elements
Element Types: Personas, Skills, Templates, Agents, Memories, Ensembles
Portfolio Manager
Local Storage: File-based element storage
GitHub Sync: Git-based synchronization
Version Control: Full git integration
Security Layer
Input Validation: All inputs sanitized
Path Security: Traversal prevention
Token Management: Encrypted storage
Data Flow
Client Request โ MCP Server
Tool Routing โ Appropriate handler
Element Processing โ Element system
Storage โ Portfolio manager
Response โ Client
For detailed architecture documentation, see Architecture Guide.
๐ฏ Troubleshooting
Common Issues
MCP Server Not Connecting
Symptoms: Claude Desktop doesn't show DollhouseMCP in available servers
Solutions:
Verify configuration file location:
macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Windows:
%APPDATA%\Claude\claude_desktop_config.json
Check JSON syntax is valid
Restart Claude Desktop after configuration changes
OAuth Authentication Fails
Symptoms: Cannot authenticate with GitHub
Solutions:
Check internet connection
Verify GitHub account has proper permissions
Try using Personal Access Token instead:
export GITHUB_TOKEN=your_pat_tokenClear cached credentials and retry
Elements Not Loading
Symptoms: Portfolio appears empty
Solutions:
Check portfolio directory exists:
~/.dollhouse/portfolio/
Verify file permissions
Run
list_portfolio_elements
tool to diagnoseCheck element file format (YAML frontmatter required)
Performance Issues
Symptoms: Slow response times
Solutions:
Check portfolio size (large portfolios may be slow)
Verify adequate system resources
Consider using pagination for large lists
Check network latency for GitHub operations
Getting Help
Documentation: Full docs
Issues: GitHub Issues
Discussions: GitHub Discussions
For detailed troubleshooting, see Troubleshooting Guide.
๐ค Contributing
We welcome contributions to DollhouseMCP! Here's how you can help:
Ways to Contribute
๐ Report Bugs: Open an issue with reproduction steps
โจ Request Features: Suggest new functionality
๐ Improve Documentation: Fix typos, add examples
๐ป Submit Code: Fix bugs or implement features
๐จ Share Elements: Contribute personas, skills, templates
Development Process
Fork the Repository
gh repo fork DollhouseMCP/mcp-serverCreate Feature Branch
git checkout -b feature/your-featureMake Changes
Follow existing code style
Add tests for new functionality
Update documentation
Test Thoroughly
npm test npm run lint npm run typecheckSubmit Pull Request
Target the
develop
branchProvide clear description
Reference any related issues
Code Style
TypeScript with strict mode
ESLint configuration provided
Prettier for formatting
Comprehensive JSDoc comments
Commit Messages
Follow conventional commits:
feat:
New featurefix:
Bug fixdocs:
Documentationtest:
Testingchore:
Maintenance
Review Process
Automated CI checks must pass
Code review by maintainers
Address feedback
Merge when approved
For detailed guidelines, see CONTRIBUTING.md.
๐ Resources
Documentation
Quick Start Guide - Get up and running quickly
Portfolio Setup - Configure your portfolio
Element Development - Create custom elements
API Reference - Complete tool documentation
Architecture Guide - System design details
Security Documentation - Security measures and best practices
Repositories
Main Repository - Core MCP server
Collection - Community elements
Developer Kit - Development tools
Community
GitHub Discussions - Q&A and ideas
GitHub Issues - Bug reports and features
Discord Server - Real-time chat (coming soon)
External Resources
Model Context Protocol - MCP specification
Claude Desktop - AI assistant with MCP support
Anthropic Documentation - Claude documentation
Learning Materials
Tutorials (coming soon)
Building Your First Persona
Creating Custom Skills
Portfolio Management Best Practices
GitHub Integration Setup
Videos (coming soon)
Installation Walkthrough
Feature Demonstrations
Developer Tutorials
Support
GitHub Issues: Report issues or request features
Security Issues: Private security advisories
Discussions: Community Q&A
๐ท๏ธ Version History
v1.9.16 - October 3, 2025
Patch Release: Platform-agnostic MCP client documentation + SonarCloud code quality (19 issues)
๐ Documentation
Platform-Agnostic Documentation - Updated all documentation to reflect compatibility with ANY MCP client (#1236, #1237)
Added "MCP Client Compatibility" section explicitly stating stdio transport compatibility
Listed Claude Desktop, Claude Code, Gemini, and other MCP clients as supported platforms
Updated all "Configure Claude Desktop" headers to "Configure Your MCP Client"
Changed "Claude Desktop integration" to "MCP client integration" throughout
New comprehensive guide:
docs/guides/MCP_CLIENT_SETUP.md
Workflow Documentation - Added comprehensive workflow examples for efficient issue handling (#1235)
๐งน Code Quality
SonarCloud S7723 - Array constructor modernization (15 issues) (#1233)
SonarCloud S7758 - String method modernization (4 fixed, 2 false positives) (#1234)
Removed temporary SonarCloud utility scripts (#1232)
๐ Impact
โ Removes artificial barrier for Gemini and other MCP client users
โ 19 SonarCloud issues resolved
โ Maintains Claude Desktop as primary example while being inclusive of all MCP clients
v1.9.15 - October 1, 2025
Security Patch: Zero-width Unicode bypass vulnerability + SonarCloud cleanup
๐ Security Fix [HIGH]
Zero-width Unicode bypass vulnerability - Restored Unicode security validation (#1228, #1229)
Blocks zero-width characters (U+200B-U+200F, U+FEFF) in metadata validation
Prevents steganography and homograph attacks
Fixed
validateContent
bypass in DefaultElementProviderRestored security validation chain through ContentValidator and UnicodeValidator
๐งน Code Quality
228+ SonarCloud issues resolved across 5 issues (#1220-1224):
S7773: Modernized Number parsing methods (90 issues) -
parseInt()
โNumber.parseInt()
S7781: String.replaceAll modernization (134 issues) -
.replace(/g)
โ.replaceAll()
MEDIUM severity fixes (4 issues) - Object literals, loop counters, Promise types
False positives marked (11 issues) - Test-only patterns properly categorized
199 security hotspots evaluated - All marked SAFE, zero production concerns (#1219)
Math.random(), MD5, PATH usage validated for non-security contexts
Comprehensive documentation of safe patterns
๐ Impact
โ 1 HIGH severity security vulnerability fixed
โ All production security concerns resolved
โ Test coverage maintained at >96%
v1.9.14 - September 30, 2025
Bug Fixes: ElementFormatter and portfolio search improvements
๐ง Fixed
ElementFormatter Security Scanner False Positives - Fixed validation option being ignored (#1211, #1212)
SecureYamlParser now properly respects
validateContent: false
optionElementFormatter uses
validateContent: false
for all YAML parsing (5 locations)Local trusted files can bypass content scanning while maintaining security for untrusted sources
Portfolio Search File Extension Display - Fixed incorrect extension display (#1213, #1215)
Portfolio search now shows correct file extensions based on element type
Memories display
.yaml
extension, other elements show.md
extension
๐ Documentation
Added SONARCLOUD_QUERY_PROCEDURE.md - Critical guide for querying SonarCloud correctly
Updated CLAUDE.md with naming conventions and style guide for session notes
Added session notes documentation for PR #1215
๐ Statistics
2 Bug fixes merged (PR #1212, #1215)
10 Code quality issues resolved
2,277 tests passing with >96% coverage
Quality Gate: PASSING
Test Coverage: >96% maintained
v1.9.13 - September 29, 2025
Memory System Critical Fixes: Security scanner improvements and enhanced error reporting
๐ง Fixed
Security Scanner False Positives - Fixed memory system rejecting legitimate security documentation (#1206, #1207)
Memory files with security terms (vulnerability, exploit, attack) now load correctly
Local memory files are now pre-trusted (validateContent: false)
Silent Error Reporting - Added visible error reporting for failed memory loads
Users now see "Failed to load X memories" with detailed error messages
New getLoadStatus() diagnostic method for troubleshooting
Legacy Memory Migration - New migration tool for old .md files
Migrates to .yaml format in date-organized folders
Safe archiving of original files, dry-run mode by default
โจ Added
CLI Utility: migrate-legacy-memories.ts for legacy file migration
Diagnostic Method: getLoadStatus() for memory loading diagnostics
Error Tracking: failedLoads tracking in MemoryManager
๐ ๏ธ Code Quality
Fixed SonarCloud S3776: Reduced cognitive complexity in getLoadStatus()
Fixed SonarCloud S3358: Replaced nested ternary with if-else chain
Fixed SonarCloud S7785: Use top-level await instead of promise chain
Extracted handleLoadFailure() to eliminate code duplication
Use os.homedir() for cross-platform reliability
๐ Security
Fixed DMCP-SEC-004: Added Unicode normalization to CLI input validation
๐ Statistics
3 Critical fixes merged in PR #1207
7 Code quality issues resolved
1 Security issue fixed
Quality Gate: PASSING
Test Coverage: >96% maintained
v1.9.12 - September 29, 2025
Memory System Stability: Portfolio index and test isolation improvements
๐ง Fixed
Memory Metadata Preservation - Fixed PortfolioIndexManager overwriting memory metadata (#1196, #1197)
Memory descriptions now properly preserved instead of "Memory element"
Test Isolation - Fixed memory portfolio index tests contaminating real user portfolio (#1194, #1195)
Tests now use temporary directories
Added security validation for memory YAML parsing (size limits, type checking)
ElementFormatter Tool - Added tool for cleaning malformed elements (#1190, #1193)
๐ ๏ธ Code Quality
Fixed SonarCloud S7781: Use String#replaceAll() for modern string replacement
Fixed SonarCloud S1135: Removed TODO comments, documented test isolation patterns
๐ Security
Added content size validation (1MB limit) for memory YAML parsing
Added type safety validation for parsed memory content
Documented security trade-offs with audit suppressions
๐ Statistics
Memory portfolio index tests: 8/8 passing (was 3/8)
Closed issues: #1196, #1194, #1190, #659, #404, #919
Quality Gate: PASSING
Test Coverage: >96% maintained
v1.9.11 - September 28, 2025
SonarCloud Quality & Security: Major code quality improvements and security fixes
๐ Security Fixes
Fixed command injection vulnerabilities in GitHub Actions workflows (#1149)
Resolved ReDoS vulnerabilities in RelationshipManager (#1144)
All critical and high severity issues resolved
๐ ๏ธ Quality Improvements
82% reduction in SonarCloud reliability bugs (from 55 to 10)
Fixed unsafe throw in finally blocks (S1143)
Fixed async constructor patterns
Resolved regex precedence issues
Fixed control character usage
Removed hardcoded tokens
๐ Statistics
11 Pull Requests merged for quality fixes
Quality Gate: PASSING
Security: All critical issues resolved
Test Coverage: >96% maintained
v1.9.10 - September 27, 2025
Enhanced Capability Index & Security: Complete trigger extraction system and SonarCloud integration
โจ Major Features
Enhanced Capability Index System - NLP scoring with Jaccard similarity and Shannon entropy
Cross-Element Relationships - GraphRAG-style relationship mapping
Complete Trigger Extraction - All element types now support trigger extraction
SonarCloud Integration - Quality gate PASSING with 0% duplication
๐ Security Improvements
Fixed 16 SonarCloud BLOCKER issues
GitHub Actions command injection vulnerabilities resolved
Full SHA pinning for all Actions
PATH manipulation vulnerability fixed
๐ ๏ธ Improvements
Extended Node compatibility fixes
Enhanced Index stability improvements
Type-safe relationship parsing
Docker Hub rate limit mitigation
Test isolation and CI improvements
๐ Statistics
34 Pull Requests merged
Test Coverage: 98.17%
Security Hotspots: 100% reviewed
Code Duplication: 0% on new code
v1.9.9 - September 22, 2025
Security & Stability: Prototype pollution protection and memory timestamp fixes
โจ Features
Security Utilities: New reusable security module for prototype pollution protection
Memory Auto-Repair: Corrupted memory timestamps now auto-repair during read operations
Enhanced Validation: Comprehensive timestamp validation with detailed error reporting
๐ง Fixed
Memory Timestamps: Fixed toISOString errors when memory entries have string timestamps (#1069)
Security Badge: Fixed broken security badge link in README pointing to wrong location
Prototype Pollution: Added belt-and-suspenders protection to satisfy code scanners (#202-#205)
๐ Security
Added
securityUtils.ts
module with reusable security patternsImplemented Object.create(null) for prototype-less objects
Added Object.defineProperty() for secure property setting
Proper CodeQL suppressions for validated false positives
v1.9.8 - September 20, 2025
Memory System Complete: Full CRUD operations and enhanced memory management
โจ Features
Memory CRUD Operations: Complete create, read, update, delete functionality for memories
Memory Editing: Full support for editing memory fields including metadata and content
Memory Validation: Comprehensive validation with detailed error reporting
Enhanced Search: Improved search across all sources with duplicate detection
๐ง Fixed
Memory Display: Fixed "No content stored" issue when memories have valid content
Test Coverage: Maintained >96% test coverage with comprehensive memory tests
Documentation: Updated all documentation to reflect new memory features
v1.9.7 - September 20, 2025
NPM Package Fix: Corrected build issue from v1.9.6
๐ง Fixed
NPM Package Build: Republished with correct commit including all memory display fixes
Memory Display: Memories now correctly show content instead of "No content stored"
Note: v1.9.6 NPM package was accidentally built from wrong commit
v1.9.6 - September 20, 2025
๐ First External Contribution: Performance and security improvements from the community!
โจ Highlights
Fixed: Memory display bug - added content getter to Memory class (PR #1036)
Fixed: Flaky macOS tests on Node 22+ (PR #1038)
Enhanced: Optimized whitespace detection for better performance (PR #1037)
Security: Strengthened path traversal protection (PR #1037)
Attribution: Thanks to @jeetsingh008 for identifying improvements!
v1.9.5 - September 19, 2025
Memory YAML Parsing Fix: Resolved display issues with pure YAML memory files
๐ง Bug Fixes
Fixed: Memory files showing incorrect names for pure YAML format
Enhanced: Added comprehensive test coverage for memory file formats
Technical: Improved compatibility between SecureYamlParser and pure YAML
v1.9.4 - September 19, 2025
Memory Name Display Fix: Corrected "Unnamed Memory" display issue
๐ง Bug Fixes
Fixed: Memory elements showing as "Unnamed Memory" in list output
Fixed: Corrected metadata parsing path in SecureYamlParser
Technical: Added retention format parsing for various formats
v1.9.3 - September 19, 2025
Memory Element MCP Support: Complete MCP tool handler integration
๐ง Bug Fixes
Fixed: Added Memory element support to all MCP tool handlers
Fixed: Resolved "Unknown element type 'memories'" errors
Technical: Added Memory case handling to 8 critical methods
v1.9.2 - September 19, 2025
Branch Synchronization: Documentation and configuration alignment
๐ง Improvements
Fixed: Resolved divergence between main and develop branches
Enhanced: Updated documentation to reflect all features
Technical: Merged 58 commits from develop branch
v1.9.1 - September 19, 2025
Memory Element Hotfix: Fixed validation and tool descriptions
๐ง Bug Fixes
Fixed: Added 'memories' to validation arrays
Fixed: Updated collection tool descriptions
Technical: Clean hotfix for memory element support
v1.9.0 - September 19, 2025
๐ Memory Element Release: Persistent context storage with enterprise-grade features
โจ New Features
Memory Element: Complete implementation of persistent context storage (PR #1000 - The Milestone PR!)
Date-based Organization: Automatic folder structure (YYYY-MM-DD) prevents flat directory issues
Content Deduplication: SHA-256 hashing prevents duplicate storage (Issue #994)
Search Indexing: Fast queries across thousands of entries with O(log n) performance (Issue #984)
Privacy Levels: Three-tier access control (public, private, sensitive)
Retention Policies: Automatic cleanup based on age and capacity
๐ง Improvements
Performance Optimizations: 60-second cache for date folder operations
Collision Handling: Automatic version suffixes for same-named files
Atomic Operations: FileLockManager prevents corruption and race conditions
Sanitization Caching: SHA-256 checksums reduce CPU usage by ~40% during deserialization
Retry Logic: Search index building with exponential backoff
๐ก๏ธ Security
Comprehensive Input Validation: All memory content sanitized with DOMPurify
Path Traversal Protection: Robust validation in MemoryManager
Size Limits: DoS protection with 1MB memory and 100KB entry limits
Audit Logging: Complete security event tracking
๐งช Testing
89 Memory Tests: Comprehensive coverage across 4 test suites
Concurrent Access Tests: Thread safety verification
Security Coverage: XSS, Unicode attacks, path traversal
CI Improvements: Fixed GitHub integration test conflicts (PR #1001)
v1.8.1 - September 15, 2025
CI Reliability Improvements: Fixed persistent test failures across platforms
๐ง Bug Fixes
GitHub API 409 Conflicts: Enhanced retry mechanism with jitter for parallel CI jobs
Windows Performance Tests: Platform-specific timing thresholds for CI environments
Test Stability: Resolved flaky tests in Extended Node Compatibility workflow
v1.8.0 - September 15, 2025
Major Portfolio System Enhancements: Full GitHub portfolio synchronization
โจ New Features
Portfolio Sync: Complete bidirectional sync with GitHub portfolios
Pull Functionality: Download elements from GitHub portfolios (3 sync modes)
Configurable Repos: Portfolio repository names now configurable
Configuration Wizard: Now manual-only (removed auto-trigger for better UX)
๐ง Improvements
Tool Clarity: Renamed conflicting tools for better user experience
Rate Limiting: Fixed redundant token validation causing API limits
GitHub Integration: Comprehensive repository management
v1.7.4 - September 12, 2025
Hotfix Release: Critical build and registration fixes
๐ง Bug Fixes
Build Infrastructure: Fixed missing TypeScript files in dist
Tool Registration: Resolved MCP tool availability issues
Skill System: Fixed skill registration and activation
Test Framework: Restored test infrastructure functionality
v1.7.3 - September 9, 2025
Security & Configuration Release: Prototype pollution protection and config management
๐ก๏ธ Security
Prototype Pollution Protection: Comprehensive validation against injection attacks
YAML Security: Maintained FAILSAFE_SCHEMA with security documentation
Security Audit: Achieved 0 security findings across all severity levels
โจ Improvements
Configuration Management: Complete overhaul with atomic operations
Test Coverage: Comprehensive security and configuration tests
Input Normalization: All inputs normalized at MCP request layer
v1.7.2 - September 7, 2025
Security Patch Release: Critical logging vulnerability fixes
๐ก๏ธ Security Fixes
Clear-text Logging Prevention: Comprehensive sanitization of sensitive data
OAuth Token Protection: Prevents exposure of tokens in console output
API Key Sanitization: Masks all credentials before logging
v1.7.1 - September 3, 2025
Maintenance Release: Documentation and compatibility improvements
๐ง Improvements
Documentation: Updated for better clarity and accuracy
Compatibility: Enhanced cross-platform support
Bug Fixes: Various minor fixes and optimizations
v1.7.0 - August 30, 2025
Major Feature Release: Enhanced portfolio and collection systems
โจ New Features
Portfolio Management: Improved local portfolio organization
Collection Integration: Better integration with community collection
Security Enhancements: Critical security fixes from code review
v1.6.11 - August 28, 2025
Test Reliability & Collection Fixes: Improved test suite stability and fixed collection system
๐ง Bug Fixes
Collection Index URL: Fixed to use GitHub Pages for better reliability
E2E Test Tokens: Improved token prioritization for CI environments
Response Format: Enhanced compatibility with various response formats
Type Safety: Improved TypeScript types throughout test suite
โจ Improvements
Added helper functions for better code organization
Enhanced test reliability in CI/CD pipelines
General code quality improvements
v1.6.10 - August 28, 2025
Collection Submission Fix: Critical fix for collection submission pipeline
๐ง Bug Fixes
Collection Submission: Fixed workflow failing due to missing element types
Local Path Parameter: Added missing localPath parameter to submission tool
Duplicate Detection: Added detection for duplicate portfolio uploads and collection issues
โจ Improvements
Added comprehensive QA tests for collection submission validation
Cleaned up QA documentation files
Updated all documentation to v1.6.10
v1.6.9 - August 26, 2025
Critical Fixes: Fixed OAuth helper NPM packaging and performance testing workflow
๐ง Bug Fixes
OAuth NPM Packaging: Fixed missing
oauth-helper.mjs
file in NPM distributionFile was present in repository but not included in published package
OAuth authentication now works correctly for NPM users
Performance Tests: Fixed CI workflow running all tests instead of performance tests
Performance monitoring now works correctly in GitHub Actions
v1.6.3 - August 25, 2025
OAuth Authentication Fix: Fixed invalid OAuth client ID and improved error handling
๐ง Bug Fixes
OAuth Client ID: Updated from incorrect ID to correct
Ov23li9gyNZP6m9aJ2EP
Error Messages: Improved clarity of OAuth error messages for better debugging
Setup Tool: Fixed
setup_github_auth
tool to properly handle authentication flow
v1.6.2 - August 25, 2025
Critical Hotfix: Fixed OAuth default client ID not being used in setup_github_auth
tool
๐ง Bug Fixes
OAuth Default Client: Fixed
setup_github_auth
tool not using default client ID when none providedAuthentication Flow: Restored ability to authenticate without manual client ID entry
๐ Documentation
Added troubleshooting guide for OAuth issues
Updated setup instructions with clearer OAuth configuration steps
v1.6.1 - August 25, 2025
โ ๏ธ Breaking Changes:
๐ Serialization Format Change -
BaseElement.serialize()
now returns markdown with YAML frontmatter instead of JSON
๐ง Bug Fixes
Serialization Format: Fixed
BaseElement.serialize()
to return markdown formatChanged from JSON string to markdown with YAML frontmatter
Maintains consistency with existing persona format
Fixes portfolio round-trip workflow
โจ Improvements
Code Quality: Extracted validation methods into ValidationService
Error Handling: Improved validation error messages with specific field information
Test Coverage: Added comprehensive tests for markdown serialization
v1.6.0 - August 25, 2025
๐ Major Release: Portfolio System & OAuth Integration
This release introduces the complete portfolio management system with GitHub OAuth authentication, enabling secure cloud-based element synchronization and management.
โจ New Features
๐ GitHub OAuth Authentication
OAuth App Integration: Full OAuth flow with GitHub for secure authentication
Personal Access Token Support: Alternative authentication method for CI/CD
Token Management: Secure storage and rotation of authentication tokens
Multi-Account Support: Handle multiple GitHub accounts seamlessly
๐ฆ Portfolio Management System
Cloud Sync: Automatic synchronization between local and GitHub portfolios
Version Control: Full git integration for portfolio elements
Conflict Resolution: Smart merging of local and remote changes
Batch Operations: Upload/download multiple elements efficiently
๐ ๏ธ New MCP Tools (42 total)
setup_github_auth
: Interactive GitHub OAuth setupcheck_github_auth
: Verify authentication statusrefresh_github_token
: Rotate OAuth tokenssync_portfolio
: Bidirectional portfolio synchronizationupload_to_portfolio
: Upload local elements to GitHubdownload_from_portfolio
: Download elements from GitHubsubmit_to_portfolio
: Submit elements for reviewAnd 30 more tools for complete portfolio management
๐ง Bug Fixes
Element Detection: Fixed smart detection of element types
YAML Parsing: Improved handling of complex YAML structures
Path Resolution: Fixed Windows path compatibility issues
Token Security: Enhanced token storage encryption
๐ Documentation
Comprehensive OAuth setup guide
Portfolio management tutorials
Troubleshooting guides for common issues
API documentation for all new tools
๐ Security
OAuth token encryption at rest
Secure token transmission
Rate limiting for API calls
Audit logging for all operations
For complete release history prior to v1.6.0, see the GitHub Releases page.
๐ License
This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0) with Platform Stability Commitments.
What This Means
โ You CAN:
Use the software for personal projects
Use the software for commercial projects
Modify the source code
Distribute the software
Use personas and elements you create
โ ๏ธ You MUST:
Include the license and copyright notice
State changes made to the code
Disclose your source code when distributing
Use the same AGPL-3.0 license for derivatives
Make network use source available (AGPL requirement)
โ You CANNOT:
Hold us liable for damages
Use our trademarks without permission
Claim warranty or guarantee of fitness
Resell commercially
Platform Stability Commitments
We provide additional guarantees beyond the AGPL-3.0:
90-day advance notice for monetization policy changes
12-month revenue sharing locks for content creators
Full data portability - export all your content anytime
180-day transition period for platform ownership changes
Community advisory input on major policy decisions
Contributor License Agreement
By contributing to DollhouseMCP, you agree that:
You have the right to grant us license to your contribution
Your contribution is licensed under AGPL-3.0
You grant us additional rights to use your contribution in our commercial offerings
You retain copyright to your contribution
For the complete license text, see LICENSE.
Questions?
If you have questions about the license or what you can do with DollhouseMCP:
Documentation: License FAQ
GitHub Issue: Open an issue with the
license
labelDiscussions: Ask in GitHub Discussions
Copyright ยฉ 2025 DollhouseMCP. All rights reserved.
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Tools
A comprehensive Model Context Protocol server that enables dynamic AI persona management with GitHub-powered marketplace integration, allowing Claude and other compatible AI assistants to activate different behavioral personas with community sharing capabilities.
- Project Status
- Build & Quality
- Platform Support
- Technology
- Open Source, Community-Powered AI Customization
- Create, Edit, and Share Customization Elements for Your AI Platforms
- Elements That Customize Your AI's Capabilities and Actions
- ๐ฏ Element Types
- ๐ฌ Natural Language Usage Examples
- ๐ฆ Installation
- ๐ Quick Start
- โจ Key Features
- ๐จ Portfolio System
- ๐ Security
- ๐ ๏ธ Development
- ๐ญ Architecture
- ๐ฏ Troubleshooting
- ๐ค Contributing
- ๐ Resources
- ๐ท๏ธ Version History
- ๐ License
Related MCP Servers
- -securityFlicense-qualityA comprehensive suite of Model Context Protocol servers designed to extend AI agent Claude's capabilities with integrations for knowledge management, reasoning, advanced search, news access, and workspace tools.Last updated -5
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants like Claude to interact with Google Cloud Platform environments through natural language, allowing users to query and manage GCP resources during conversations.Last updated -9232168MIT License
- -securityAlicense-qualityA Model Context Protocol server that connects Claude and other MCP clients to Aider, enabling AI assistants to efficiently edit files, create new files, and interact with git repositories through natural language.Last updated -34The Unlicense
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants like Claude to interact directly with Home Assistant, allowing them to query device states, control smart home entities, and perform automation tasks.Last updated -12197MIT License