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.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 -9193165MIT 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 -12184MIT License