@dollhousemcp/mcp-server 1.9.0 → 1.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +47 -0
  2. package/README.github.md +68 -33
  3. package/README.md +3 -3
  4. package/README.md.backup +964 -52
  5. package/README.npm.md +3 -3
  6. package/dist/generated/version.d.ts +2 -2
  7. package/dist/generated/version.js +3 -3
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +10 -4
  10. package/dist/security/audit/SecurityAuditor.js +2 -2
  11. package/dist/server/tools/CollectionTools.js +7 -7
  12. package/package.json +1 -1
  13. package/dist/config/ConfigWizardDisplay.d.ts +0 -64
  14. package/dist/config/ConfigWizardDisplay.d.ts.map +0 -1
  15. package/dist/config/ConfigWizardDisplay.js +0 -150
  16. package/dist/config/WizardFirstResponse.d.ts +0 -25
  17. package/dist/config/WizardFirstResponse.d.ts.map +0 -1
  18. package/dist/config/WizardFirstResponse.js +0 -118
  19. package/dist/scripts/scripts/run-config-wizard.js +0 -57
  20. package/dist/scripts/src/config/ConfigManager.js +0 -799
  21. package/dist/scripts/src/config/ConfigWizard.js +0 -368
  22. package/dist/scripts/src/errors/SecurityError.js +0 -47
  23. package/dist/scripts/src/security/constants.js +0 -28
  24. package/dist/scripts/src/security/contentValidator.js +0 -415
  25. package/dist/scripts/src/security/errors.js +0 -32
  26. package/dist/scripts/src/security/regexValidator.js +0 -217
  27. package/dist/scripts/src/security/secureYamlParser.js +0 -272
  28. package/dist/scripts/src/security/securityMonitor.js +0 -111
  29. package/dist/scripts/src/security/validators/unicodeValidator.js +0 -315
  30. package/dist/scripts/src/utils/logger.js +0 -288
  31. package/dist/tools/getWelcomeMessage.d.ts +0 -41
  32. package/dist/tools/getWelcomeMessage.d.ts.map +0 -1
  33. package/dist/tools/getWelcomeMessage.js +0 -109
package/README.md.backup CHANGED
@@ -1,18 +1,324 @@
1
1
  # DollhouseMCP
2
2
 
3
- [![npm version](https://img.shields.io/npm/v/@dollhousemcp/mcp-server.svg)](https://www.npmjs.com/package/@dollhousemcp/mcp-server)
3
+ ## Project Status
4
4
  [![MCP Compatible](https://img.shields.io/badge/MCP-Compatible-green)](https://modelcontextprotocol.io)
5
+ [![npm version](https://img.shields.io/npm/v/@dollhousemcp/mcp-server.svg)](https://www.npmjs.com/package/@dollhousemcp/mcp-server)
5
6
  [![License: AGPL-3.0](https://img.shields.io/badge/License-AGPL--3.0-blue.svg)](https://www.gnu.org/licenses/agpl-3.0)
7
+ [![GitHub Views](https://komarev.com/ghpvc/?username=DollhouseMCP&repo=mcp-server&label=Repository+Views&style=flat)](https://github.com/DollhouseMCP/mcp-server)
8
+
9
+ ## Build & Quality
6
10
  [![Core Build & Test](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml)
11
+ [![Build Artifacts](https://github.com/DollhouseMCP/mcp-server/actions/workflows/build-artifacts.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/build-artifacts.yml)
12
+ [![Test Coverage](https://img.shields.io/badge/Coverage-1858%2B%20Tests-green)](https://github.com/DollhouseMCP/mcp-server/tree/main/__tests__)
13
+ [![Enterprise-Grade Security](https://img.shields.io/badge/Security-Enterprise%20Grade-purple)](docs/SECURITY.md)
14
+
15
+ ## Platform Support
16
+ [![Windows Build Status](https://img.shields.io/badge/Windows-✓_Tested-0078D4?logo=windows&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Windows CI Build Status")
17
+ [![macOS Build Status](https://img.shields.io/badge/macOS-✓_Tested-000000?logo=apple&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "macOS CI Build Status")
18
+ [![Linux Build Status](https://img.shields.io/badge/Linux-✓_Tested-FCC624?logo=linux&logoColor=black)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/core-build-test.yml?query=branch:main "Linux CI Build Status")
19
+ [![Docker](https://img.shields.io/badge/Docker-Ready-2496ED?logo=docker&logoColor=white)](https://github.com/DollhouseMCP/mcp-server/blob/main/Dockerfile)
20
+
21
+ ## Technology
22
+ [![TypeScript](https://img.shields.io/badge/TypeScript-007ACC?logo=typescript&logoColor=white)](https://www.typescriptlang.org/)
23
+ [![Node.js](https://img.shields.io/badge/Node.js-339933?logo=nodedotjs&logoColor=white)](https://nodejs.org/)
24
+ [![Extended Node Compatibility](https://github.com/DollhouseMCP/mcp-server/actions/workflows/extended-node-compatibility.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/extended-node-compatibility.yml)
25
+ [![Docker Testing](https://github.com/DollhouseMCP/mcp-server/actions/workflows/docker-testing.yml/badge.svg)](https://github.com/DollhouseMCP/mcp-server/actions/workflows/docker-testing.yml)
7
26
 
8
- A comprehensive Model Context Protocol (MCP) server that enables dynamic AI persona management with an integrated GitHub-powered collection. DollhouseMCP allows Claude and other compatible AI assistants to activate different behavioral personas while supporting community sharing and monetization.
27
+ ---
9
28
 
10
29
  **🌐 Repository**: https://github.com/DollhouseMCP/mcp-server
11
30
  **🏪 Collection**: https://github.com/DollhouseMCP/collection
12
31
  **📦 NPM Package**: https://www.npmjs.com/package/@dollhousemcp/mcp-server
13
32
  **🌍 Website**: https://dollhousemcp.com
14
33
 
15
- ## 🚀 Quick Start
34
+ ---
35
+
36
+ <div align="center">
37
+ <img src="docs/assets/dollhouse-logo.png" alt="DollhouseMCP" width="200" />
38
+
39
+ # Open Source, Community-Powered AI Customization
40
+
41
+ ### Create, Edit, and Share Customization Elements for Your AI Platforms
42
+
43
+ [![Install](https://img.shields.io/badge/Install-npm%20install%20@dollhousemcp/mcp--server-blue?style=for-the-badge)](https://www.npmjs.com/package/@dollhousemcp/mcp-server)
44
+ [![Collection](https://img.shields.io/badge/Browse-Community%20Collection-purple?style=for-the-badge)](https://github.com/DollhouseMCP/collection)
45
+ [![Contribute](https://img.shields.io/badge/Share-Your%20Elements-green?style=for-the-badge)](https://github.com/DollhouseMCP/mcp-server#contributing)
46
+ </div>
47
+
48
+ ---
49
+
50
+ ## Elements That Customize Your AI's Capabilities and Actions
51
+
52
+ **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.
53
+
54
+ ### What Are Customization Elements?
55
+
56
+ - **Personas** – Shape how your AI acts and responds in specific domains
57
+ - **Skills** – Add specialized capabilities your AI can use
58
+ - **Templates** – Ensure consistent, high-quality outputs
59
+ - **Agents** – Enable autonomous task completion with smart decision-making
60
+ - **Memory** – Persistent context storage across sessions
61
+
62
+ ### Core Capabilities
63
+
64
+ - **🌍 Community Element Library** – A growing number of tested personas, skills, templates, agents, and memories
65
+ - **✨ Create Custom Elements** – Create personas, skills, templates, agents, and memories from scratch using natural language
66
+ - **🤝 Open Source** – AGPL-3.0 licensed, ensuring community contributions stay free
67
+ - **📚 The DollhouseMCP Collection** – Install any community element with one command
68
+ - **🛠️ 41 Professional Tools** – Complete toolkit for element creation and management
69
+ - **🛡️ Security-First Validation** – All elements validated against hundreds of attack vectors
70
+ - **⚡ Hot-Swap Elements** – Change personas, skills, and templates without restarting as needed
71
+ - **📦 Personal Portfolio** – Your library of custom AI configurations on your local computer or personal GitHub repo
72
+
73
+ ### Use Cases
74
+
75
+ <table>
76
+ <tr>
77
+ <td width="25%" align="center">
78
+ <h4>👨‍💻 For Developers</h4>
79
+ <p>Use community-powered code review personas and debugging skills. Share your language-specific optimizations.</p>
80
+ </td>
81
+ <td width="25%" align="center">
82
+ <h4>✍️ For Writers</h4>
83
+ <p>Access community-crafted writing styles and templates. Contribute your genre expertise.</p>
84
+ </td>
85
+ <td width="25%" align="center">
86
+ <h4>🎯 For Professionals</h4>
87
+ <p>Leverage community-built industry elements. Share your domain knowledge.</p>
88
+ </td>
89
+ <td width="25%" align="center">
90
+ <h4>🌟 For Everyone</h4>
91
+ <p>Give your AI any personality you want. Describe it, modify it, save it to your portfolio, share it with the world.</p>
92
+ </td>
93
+ </tr>
94
+ </table>
95
+
96
+ ### Get Started
97
+
98
+ ```bash
99
+ npm install @dollhousemcp/mcp-server
100
+ ```
101
+ See [Quick Start](#-quick-start) for complete setup instructions.
102
+
103
+ ---
104
+
105
+ ## 🎯 Element Types
106
+
107
+ ### ✅ Available Now
108
+
109
+ <table>
110
+ <tr>
111
+ <td width="50%">
112
+
113
+ #### 🎭 Personas
114
+ Shape how your AI behaves and responds
115
+ - **Creative Writer** - Imaginative storyteller for engaging narratives
116
+ - **Business Consultant** - Strategic advisor for business decisions
117
+ - **Debug Detective** - Systematic problem-solver for code issues
118
+ - **Security Analyst** - Vulnerability assessment and threat analysis
119
+ - **Technical Analyst** - Deep dive technical documentation
120
+ - **Use**: `"Activate the creative writer persona"`
121
+
122
+ </td>
123
+ <td width="50%">
124
+
125
+ #### 💡 Skills
126
+ Add specialized capabilities your AI can use
127
+ - **Code Review** - Analyze code quality and suggest improvements
128
+ - **Data Analysis** - Statistical analysis and visualization
129
+ - **Language Translation** - Multi-language communication
130
+ - **API Integration** - Connect and interact with external services
131
+ - **Testing Automation** - Generate and run test suites
132
+ - **Use**: `"Enable the code review skill"`
133
+
134
+ </td>
135
+ </tr>
136
+ <tr>
137
+ <td width="50%">
138
+
139
+ #### 📝 Templates
140
+ Ensure consistent, high-quality outputs
141
+ - **Project Proposal** - Structured business proposals
142
+ - **Penetration Test Report** - Security assessment documentation
143
+ - **Meeting Notes** - Organized meeting summaries
144
+ - **Code Review** - Systematic code evaluation format
145
+ - **Documentation** - Technical documentation structure
146
+ - **Use**: `"Use the project proposal template"`
147
+
148
+ </td>
149
+ <td width="50%">
150
+
151
+ #### 🤖 Agents
152
+ Enable autonomous task completion
153
+ - **Code Reviewer** - Automated code quality assessment
154
+ - **Task Manager** - Project organization and tracking
155
+ - **Research Assistant** - Information gathering and synthesis
156
+ - **Academic Researcher** - Scholarly research and citations
157
+ - **Security Fix Specialist** - Vulnerability remediation
158
+ - **Use**: `"Run the code reviewer agent"`
159
+
160
+ </td>
161
+ </tr>
162
+ <tr>
163
+ <td colspan="2">
164
+
165
+ #### 🧠 Memory <span style="background-color: #4CAF50; color: white; padding: 2px 6px; border-radius: 3px; font-size: 0.8em;">NEW in v1.9.0</span>
166
+ Persistent context across sessions with intelligent organization
167
+ - **Text-based storage** - Currently supports text content (PDFs, images, and other media types coming soon)
168
+ - **Date-based folders** - Automatic YYYY-MM-DD organization prevents flat directory issues
169
+ - **YAML format** - Human-readable structured data (vs Markdown for other elements)
170
+ - **Smart deduplication** - SHA-256 hashing prevents duplicate storage
171
+ - **Search indexing** - Fast queries across thousands of entries
172
+ - **Use**: `"Create a memory for this project"` or `"Remember this conversation"`
173
+
174
+ **Typical file sizes**: Single memories up to ~100KB, folder structure enables unlimited collections
175
+
176
+ </td>
177
+ </tr>
178
+ </table>
179
+
180
+ ### 🚀 Coming Soon
181
+
182
+ <table>
183
+ <tr>
184
+ <td width="50%">
185
+
186
+ #### 🎯 Ensembles
187
+ Combine multiple elements as one unified entity
188
+ - **Full-Stack Developer** - Frontend + Backend + DevOps skills
189
+ - **Writing Suite** - Creative + Technical + Editorial capabilities
190
+ - **Security Team** - Analyst + Auditor + Remediation skills
191
+ - **Data Science Platform** - Analysis + Visualization + ML skills
192
+ - **Status**: In development
193
+
194
+ </td>
195
+ <td width="50%">
196
+
197
+ #### 📋 Prompts
198
+ Reusable instruction sets
199
+ - **Code Review Checklist** - Systematic review steps
200
+ - **Security Audit Guide** - Vulnerability assessment process
201
+ - **Writing Guidelines** - Style and tone instructions
202
+ - **Debug Workflow** - Problem-solving methodology
203
+ - **Status**: Planned
204
+
205
+ </td>
206
+ </tr>
207
+ <tr>
208
+ <td width="50%">
209
+
210
+ #### 🔧 Tools
211
+ External function calls and commands
212
+ - **Git Operations** - Version control management
213
+ - **Database Queries** - Direct database interaction
214
+ - **API Calls** - External service integration
215
+ - **File Operations** - Advanced file manipulation
216
+ - **Status**: Under consideration
217
+
218
+ </td>
219
+ <td width="50%">
220
+
221
+ #### 📚 Memory Enhancements
222
+ Expanding memory capabilities
223
+ - **PDF Support** - Text extraction from PDF documents
224
+ - **Image Analysis** - Visual content understanding
225
+ - **Audio Transcription** - Voice and sound processing
226
+ - **Video Understanding** - Motion and scene analysis
227
+ - **Status**: Roadmap planned
228
+
229
+ </td>
230
+ </tr>
231
+ </table>
232
+
233
+ ## 💬 Natural Language Usage Examples
234
+
235
+ 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.
236
+
237
+ ### Importing from the Community Collection
238
+
239
+ **Natural Language Examples:**
240
+ - `"Show me all the personas in the Dollhouse Collection"`
241
+ - `"What creative writing personas are available?"`
242
+ - `"Install the storyteller persona from the collection"`
243
+ - `"Search for Python development skills"`
244
+ - `"Find templates for technical documentation"`
245
+
246
+ **Direct Commands (if you prefer):**
247
+ ```bash
248
+ browse_collection type="personas"
249
+ search_collection "creative writing"
250
+ install_content "personas/storyteller.md"
251
+ ```
252
+
253
+ ### Managing Your Portfolio
254
+
255
+ **Natural Language Examples:**
256
+ - `"What's in my portfolio?"`
257
+ - `"Show me all my custom personas"`
258
+ - `"Sync my portfolio with GitHub"`
259
+ - `"Create a backup of my elements"`
260
+ - `"Search my portfolio for marketing templates"`
261
+
262
+ **Direct Commands (if you prefer):**
263
+ ```bash
264
+ portfolio_status
265
+ list_elements type="personas"
266
+ sync_portfolio
267
+ search_portfolio "marketing"
268
+ ```
269
+
270
+ ### Working with Elements
271
+
272
+ **Natural Language Examples:**
273
+ - `"Activate the code reviewer persona"`
274
+ - `"What's currently active?"`
275
+ - `"Switch to creative writing mode"`
276
+ - `"Deactivate all elements"`
277
+ - `"Show me details about the data analyst skill"`
278
+ - `"Create a new persona for customer support"`
279
+ - `"Edit the email template to be more formal"`
280
+
281
+ **Direct Commands (if you prefer):**
282
+ ```bash
283
+ activate_element "code-reviewer" type="personas"
284
+ get_active_elements
285
+ deactivate_element type="personas"
286
+ get_element_details "data-analyst" type="skills"
287
+ create_element type="personas" name="customer-support"
288
+ ```
289
+
290
+ ### Complete Workflow Example
291
+
292
+ Here's how a typical session might look:
293
+
294
+ ```
295
+ You: "I need help with creative writing"
296
+ Assistant: "I'll help you with creative writing. Let me check what personas are available..."
297
+
298
+ You: "Show me creative writing personas in the collection"
299
+ Assistant: [Shows list of available creative writing personas]
300
+
301
+ You: "Install and activate the storyteller persona"
302
+ Assistant: "I've installed and activated the Storyteller persona. I'm now ready to help craft engaging narratives..."
303
+
304
+ You: "Actually, let me create my own persona for science fiction writing"
305
+ Assistant: "I'll help you create a custom science fiction writing persona. What characteristics would you like?"
306
+
307
+ You: "Make it focus on hard sci-fi with attention to scientific accuracy"
308
+ Assistant: [Creates custom persona with specified traits]
309
+
310
+ You: "Save that to my portfolio as 'Hard SciFi Writer'"
311
+ Assistant: "I've saved 'Hard SciFi Writer' to your portfolio. You can activate it anytime."
312
+ ```
313
+
314
+ ### Pro Tips
315
+
316
+ - **Be conversational**: `"Help me write better code"` works as well as specific commands
317
+ - **Stack elements**: `"Activate both the code reviewer and the Python expert"`
318
+ - **Save your favorites**: `"Save this configuration as my default setup"`
319
+ - **Share with others**: `"Submit my custom persona to the community collection"`
320
+
321
+ ## 📦 Installation
16
322
 
17
323
  ### Choose Your Installation Method
18
324
 
@@ -178,7 +484,7 @@ After configuring and restarting Claude Desktop, test with:
178
484
  list_elements type="personas"
179
485
  ```
180
486
 
181
- You should see your available personas. If not, check the [Troubleshooting](#troubleshooting) section.
487
+ You should see your available personas. If not, check the [Troubleshooting](#-troubleshooting) section.
182
488
 
183
489
  ---
184
490
 
@@ -190,7 +496,7 @@ By default, your elements are stored in:
190
496
 
191
497
  Use the `DOLLHOUSE_PORTFOLIO_DIR` environment variable to customize this location.
192
498
 
193
- ## 🎯 Getting Started
499
+ ## 🚀 Quick Start
194
500
 
195
501
  Once installed, try these commands in Claude:
196
502
 
@@ -226,73 +532,679 @@ search_collection query="python" type="skills"
226
532
  | 🛡️ **Data Protection** | Copy-on-write for default personas, comprehensive backup system |
227
533
  | 🏠 **Local-First Architecture** | Full functionality without cloud dependency |
228
534
 
229
- ## 🎨 Portfolio Elements
535
+ ## 🎨 Portfolio System
536
+
537
+ The DollhouseMCP Portfolio system provides a comprehensive framework for managing AI elements locally and in the cloud.
538
+
539
+ ### Portfolio Structure
540
+
541
+ Your portfolio is organized by element type:
542
+
543
+ ```
544
+ ~/.dollhouse/portfolio/
545
+ ├── personas/ # Behavioral profiles (Markdown files)
546
+ ├── skills/ # Discrete capabilities (Markdown files)
547
+ ├── templates/ # Reusable content structures (Markdown files)
548
+ ├── agents/ # Goal-oriented actors (Markdown files)
549
+ ├── memories/ # Persistent context (YAML files with date folders)
550
+ │ ├── 2025-09-18/
551
+ │ │ └── project-context.yaml
552
+ │ └── 2025-09-19/
553
+ │ ├── meeting-notes.yaml
554
+ │ └── code-review.yaml
555
+ └── ensembles/ # Element combinations (Markdown files)
556
+ ```
557
+
558
+ **Note on File Types:**
559
+ - **Markdown (.md)**: Used for personas, skills, templates, agents, and ensembles - human-readable with YAML frontmatter
560
+ - **YAML (.yaml)**: Used exclusively for memories - structured data optimized for context storage
561
+
562
+ **Memory Organization:**
563
+ - Memories use automatic **YYYY-MM-DD** folder structure to prevent flat directory performance issues
564
+ - Each memory file can grow up to ~100KB before creating a new file
565
+ - Folder structure enables unlimited memory collections without degradation
566
+
567
+ ### Key Features
568
+
569
+ - **Local-First Architecture**: All elements stored locally with optional cloud sync
570
+ - **GitHub Integration**: Sync your portfolio with GitHub for backup and sharing
571
+ - **Version Control**: Full git integration for tracking changes
572
+ - **Smart Detection**: Automatically identifies element types from content
573
+ - **Flexible Naming**: Use any naming convention you prefer
574
+
575
+ ### Portfolio Management Tools
576
+
577
+ Use the comprehensive set of MCP tools to manage your portfolio:
578
+
579
+ - `list_portfolio_elements` - View all elements across types
580
+ - `sync_portfolio` - Synchronize with GitHub
581
+ - `upload_to_portfolio` - Share elements with the community
582
+ - `download_from_portfolio` - Get elements from GitHub
583
+
584
+ For detailed portfolio documentation, see the [Portfolio Guide](docs/guides/PORTFOLIO_SETUP_GUIDE.md).
585
+
586
+ ## 🔒 Security
587
+
588
+ DollhouseMCP implements enterprise-grade security measures to protect your data and ensure safe operation.
589
+
590
+ ### Security Features
591
+
592
+ - **Input Sanitization**: All user inputs validated and sanitized
593
+ - **Path Traversal Prevention**: Filesystem access strictly controlled
594
+ - **YAML Injection Protection**: Safe parsing with validation
595
+ - **Command Injection Prevention**: No direct shell command execution
596
+ - **Token Encryption**: OAuth tokens encrypted at rest
597
+ - **Rate Limiting**: API calls throttled to prevent abuse
598
+ - **Audit Logging**: Security events tracked for analysis
599
+
600
+ ### Security Testing
230
601
 
231
- DollhouseMCP supports multiple element types for customizing AI behavior:
602
+ - **Automated Security Scanning**: GitHub Advanced Security enabled
603
+ - **Dependency Scanning**: Automated vulnerability detection
604
+ - **Code Analysis**: Static analysis with CodeQL
605
+ - **Secret Scanning**: Prevents credential leaks
232
606
 
233
- | Element | Purpose | Status |
234
- |---------|---------|--------|
235
- | 🎭 **Personas** | Define AI personality, tone, and behavioral characteristics | ✅ Available |
236
- | 🛠️ **Skills** | Add specific capabilities like code review, data analysis, or creative writing | ✅ Available |
237
- | 📝 **Templates** | Create reusable response formats for emails, reports, documentation | ✅ Available |
238
- | 🤖 **Agents** | Build autonomous assistants that can pursue goals and make decisions | ✅ Available |
239
- | 💬 **Prompts** | Pre-configured conversation starters and structured interactions | 🔄 Coming Soon |
240
- | 🧠 **Memory** | Persistent context storage with retention policies and search capabilities | 🔄 Coming Soon |
241
- | 🎯 **Ensemble** | Orchestrate multiple elements together as one unified entity | 🔄 Coming Soon |
607
+ ### Reporting Security Issues
242
608
 
243
- Your portfolio lives in `~/.dollhouse/portfolio/` with elements organized by type.
609
+ If you discover a security vulnerability, please:
244
610
 
245
- ## 🔧 Troubleshooting
611
+ 1. **DO NOT** create a public GitHub issue
612
+ 2. Open a private security advisory on GitHub
613
+ 3. Include steps to reproduce if possible
614
+ 4. Allow up to 48 hours for initial response
615
+
616
+ For more details, see our [Security Policy](SECURITY.md).
617
+
618
+ ## 🛠️ Development
619
+
620
+ ### Getting Started
621
+
622
+ ```bash
623
+ # Clone the repository
624
+ git clone https://github.com/DollhouseMCP/mcp-server.git
625
+ cd mcp-server
626
+
627
+ # Install dependencies
628
+ npm install
629
+
630
+ # Build the project
631
+ npm run build
632
+
633
+ # Run tests
634
+ npm test
635
+ ```
636
+
637
+ ### Development Workflow
638
+
639
+ 1. **Create Feature Branch**: `git checkout -b feature/your-feature`
640
+ 2. **Make Changes**: Implement your feature or fix
641
+ 3. **Run Tests**: `npm test`
642
+ 4. **Build**: `npm run build`
643
+ 5. **Submit PR**: Create pull request to develop branch
644
+
645
+ ### Available Scripts
646
+
647
+ - `npm run build` - Compile TypeScript
648
+ - `npm run dev` - Development mode with watch
649
+ - `npm test` - Run test suite
650
+ - `npm run lint` - Check code style
651
+ - `npm run typecheck` - TypeScript type checking
652
+
653
+ ### Project Structure
654
+
655
+ ```
656
+ src/
657
+ ├── index.ts # Main server entry
658
+ ├── tools/ # MCP tool implementations
659
+ ├── utils/ # Utility functions
660
+ ├── types/ # TypeScript definitions
661
+ └── elements/ # Element system
662
+ ```
663
+
664
+ For detailed development guides, see [Development Documentation](docs/development/).
665
+
666
+ ## 🏭 Architecture
667
+
668
+ ### System Overview
669
+
670
+ DollhouseMCP follows a modular, extensible architecture built on the Model Context Protocol (MCP) standard.
671
+
672
+ ### Core Components
673
+
674
+ #### MCP Server
675
+ - **Transport**: StdioServerTransport for Claude Desktop integration
676
+ - **Protocol**: JSON-RPC 2.0 communication
677
+ - **Tools**: 41 MCP tools for comprehensive functionality
678
+
679
+ #### Element System
680
+ - **BaseElement**: Abstract base class for all elements
681
+ - **IElement Interface**: Common contract for elements
682
+ - **Element Types**: Personas, Skills, Templates, Agents, Memories, Ensembles
683
+
684
+ #### Portfolio Manager
685
+ - **Local Storage**: File-based element storage
686
+ - **GitHub Sync**: Git-based synchronization
687
+ - **Version Control**: Full git integration
688
+
689
+ #### Security Layer
690
+ - **Input Validation**: All inputs sanitized
691
+ - **Path Security**: Traversal prevention
692
+ - **Token Management**: Encrypted storage
693
+
694
+ ### Data Flow
695
+
696
+ 1. **Client Request** → MCP Server
697
+ 2. **Tool Routing** → Appropriate handler
698
+ 3. **Element Processing** → Element system
699
+ 4. **Storage** → Portfolio manager
700
+ 5. **Response** → Client
701
+
702
+ For detailed architecture documentation, see [Architecture Guide](docs/ARCHITECTURE.md).
703
+
704
+ ## 🎯 Troubleshooting
246
705
 
247
706
  ### Common Issues
248
707
 
249
- | Issue | Solution |
250
- |-------|----------|
251
- | **Personas not loading** | Check `~/.dollhouse/portfolio/personas/` directory exists |
252
- | **Server won't start** | Ensure Node.js v20+ is installed: `node --version` |
253
- | **Collection not working** | Check internet connection and GitHub API access |
254
- | **Tools not appearing in Claude** | Restart Claude Desktop completely after config changes |
255
- | **"Cannot find module" errors** | Reinstall: `npm install -g @dollhousemcp/mcp-server@latest` |
256
- | **Rate limit errors** | Wait 60 seconds; GitHub API has hourly limits |
708
+ #### MCP Server Not Connecting
709
+
710
+ **Symptoms**: Claude Desktop doesn't show DollhouseMCP in available servers
711
+
712
+ **Solutions**:
713
+ 1. Verify configuration file location:
714
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
715
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
716
+ 2. Check JSON syntax is valid
717
+ 3. Restart Claude Desktop after configuration changes
718
+
719
+ #### OAuth Authentication Fails
720
+
721
+ **Symptoms**: Cannot authenticate with GitHub
257
722
 
258
- ### Need Help?
723
+ **Solutions**:
724
+ 1. Check internet connection
725
+ 2. Verify GitHub account has proper permissions
726
+ 3. Try using Personal Access Token instead:
727
+ ```bash
728
+ export GITHUB_TOKEN=your_pat_token
729
+ ```
730
+ 4. Clear cached credentials and retry
259
731
 
260
- - 📖 [Full Troubleshooting Guide](docs/TROUBLESHOOTING.md)
261
- - 💬 [GitHub Issues](https://github.com/DollhouseMCP/mcp-server/issues)
262
- - 💭 [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
732
+ #### Elements Not Loading
733
+
734
+ **Symptoms**: Portfolio appears empty
735
+
736
+ **Solutions**:
737
+ 1. Check portfolio directory exists: `~/.dollhouse/portfolio/`
738
+ 2. Verify file permissions
739
+ 3. Run `list_portfolio_elements` tool to diagnose
740
+ 4. Check element file format (YAML frontmatter required)
741
+
742
+ #### Performance Issues
743
+
744
+ **Symptoms**: Slow response times
745
+
746
+ **Solutions**:
747
+ 1. Check portfolio size (large portfolios may be slow)
748
+ 2. Verify adequate system resources
749
+ 3. Consider using pagination for large lists
750
+ 4. Check network latency for GitHub operations
751
+
752
+ ### Getting Help
753
+
754
+ - **Documentation**: [Full docs](https://github.com/DollhouseMCP/mcp-server/tree/main/docs)
755
+ - **Issues**: [GitHub Issues](https://github.com/DollhouseMCP/mcp-server/issues)
756
+ - **Discussions**: [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
757
+
758
+ For detailed troubleshooting, see [Troubleshooting Guide](docs/troubleshooting/).
759
+
760
+ ## 🤝 Contributing
761
+
762
+ We welcome contributions to DollhouseMCP! Here's how you can help:
763
+
764
+ ### Ways to Contribute
765
+
766
+ - **🐛 Report Bugs**: Open an issue with reproduction steps
767
+ - **✨ Request Features**: Suggest new functionality
768
+ - **📝 Improve Documentation**: Fix typos, add examples
769
+ - **💻 Submit Code**: Fix bugs or implement features
770
+ - **🎨 Share Elements**: Contribute personas, skills, templates
771
+
772
+ ### Development Process
773
+
774
+ 1. **Fork the Repository**
775
+ ```bash
776
+ gh repo fork DollhouseMCP/mcp-server
777
+ ```
778
+
779
+ 2. **Create Feature Branch**
780
+ ```bash
781
+ git checkout -b feature/your-feature
782
+ ```
783
+
784
+ 3. **Make Changes**
785
+ - Follow existing code style
786
+ - Add tests for new functionality
787
+ - Update documentation
788
+
789
+ 4. **Test Thoroughly**
790
+ ```bash
791
+ npm test
792
+ npm run lint
793
+ npm run typecheck
794
+ ```
795
+
796
+ 5. **Submit Pull Request**
797
+ - Target the `develop` branch
798
+ - Provide clear description
799
+ - Reference any related issues
800
+
801
+ ### Code Style
802
+
803
+ - TypeScript with strict mode
804
+ - ESLint configuration provided
805
+ - Prettier for formatting
806
+ - Comprehensive JSDoc comments
807
+
808
+ ### Commit Messages
809
+
810
+ Follow conventional commits:
811
+ - `feat:` New feature
812
+ - `fix:` Bug fix
813
+ - `docs:` Documentation
814
+ - `test:` Testing
815
+ - `chore:` Maintenance
816
+
817
+ ### Review Process
818
+
819
+ 1. Automated CI checks must pass
820
+ 2. Code review by maintainers
821
+ 3. Address feedback
822
+ 4. Merge when approved
823
+
824
+ For detailed guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
263
825
 
264
826
  ## 📚 Resources
265
827
 
266
828
  ### Documentation
267
- - [Roundtrip Workflow Guide](docs/guides/ROUNDTRIP_WORKFLOW_USER_GUIDE.md)
268
- - [Portfolio Setup Guide](docs/guides/PORTFOLIO_SETUP_GUIDE.md)
269
- - [Element Detection Guide](docs/guides/ELEMENT_DETECTION_GUIDE.md)
270
- - [PersonaTools Migration Guide](docs/PERSONATOOLS_MIGRATION_GUIDE.md)
271
- - [API Documentation](docs/API.md)
829
+
830
+ - **[Quick Start Guide](docs/QUICK_START.md)** - Get up and running quickly
831
+ - **[Portfolio Setup](docs/guides/PORTFOLIO_SETUP_GUIDE.md)** - Configure your portfolio
832
+ - **[Element Development](docs/ELEMENT_DEVELOPER_GUIDE.md)** - Create custom elements
833
+ - **[API Reference](docs/API_REFERENCE.md)** - Complete tool documentation
834
+ - **[Architecture Guide](docs/ARCHITECTURE.md)** - System design details
835
+ - **[Security Documentation](docs/SECURITY.md)** - Security measures and best practices
836
+
837
+ ### Repositories
838
+
839
+ - **[Main Repository](https://github.com/DollhouseMCP/mcp-server)** - Core MCP server
840
+ - **[Collection](https://github.com/DollhouseMCP/collection)** - Community elements
841
+ - **[Developer Kit](https://github.com/DollhouseMCP/developer-kit)** - Development tools
272
842
 
273
843
  ### Community
274
- - [GitHub Repository](https://github.com/DollhouseMCP/mcp-server)
275
- - [NPM Package](https://www.npmjs.com/package/@dollhousemcp/mcp-server)
276
- - [Community Collection](https://github.com/DollhouseMCP/collection)
277
- - [Discord Community](https://discord.gg/dollhousemcp) (coming soon)
278
844
 
279
- ### Development
280
- - [Contributing Guide](CONTRIBUTING.md)
281
- - [Security Policy](SECURITY.md)
282
- - [Full Changelog](CHANGELOG.md)
845
+ - **[GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)** - Q&A and ideas
846
+ - **[GitHub Issues](https://github.com/DollhouseMCP/mcp-server/issues)** - Bug reports and features
847
+ - **[Discord Server](#)** - Real-time chat (coming soon)
848
+
849
+ ### External Resources
850
+
851
+ - **[Model Context Protocol](https://modelcontextprotocol.io)** - MCP specification
852
+ - **[Claude Desktop](https://claude.ai/download)** - AI assistant with MCP support
853
+ - **[Anthropic Documentation](https://docs.anthropic.com)** - Claude documentation
854
+
855
+ ### Learning Materials
856
+
857
+ - **Tutorials** (coming soon)
858
+ - Building Your First Persona
859
+ - Creating Custom Skills
860
+ - Portfolio Management Best Practices
861
+ - GitHub Integration Setup
862
+
863
+ - **Videos** (coming soon)
864
+ - Installation Walkthrough
865
+ - Feature Demonstrations
866
+ - Developer Tutorials
867
+
868
+ ### Support
869
+
870
+ - **GitHub Issues**: [Report issues or request features](https://github.com/DollhouseMCP/mcp-server/issues)
871
+ - **Security Issues**: [Private security advisories](https://github.com/DollhouseMCP/mcp-server/security/advisories)
872
+ - **Discussions**: [Community Q&A](https://github.com/DollhouseMCP/mcp-server/discussions)
873
+
874
+ ## 🏷️ Version History
875
+
876
+ ### v1.9.1 - September 19, 2025
877
+
878
+ **Hotfix Release**: Critical memory element support fix
879
+
880
+ #### 🔧 Bug Fixes
881
+ - **Fixed memory element validation** - Resolves "Invalid type 'memories'" error when browsing collection
882
+ - **Updated tool descriptions** - All MCP tools now properly recognize memory elements
883
+ - **Fixed element type handling** - Added missing switch cases for memory elements in index.ts
884
+
885
+ #### 📋 Technical Details
886
+ - Issue #1019 resolved - Memory elements can now be browsed and installed from collection
887
+ - Clean hotfix approach with minimal changes (2 commits)
888
+ - Cherry-picked fix from develop to maintain stable release
889
+
890
+ ### v1.9.0 - September 17, 2025
891
+
892
+ **🎉 Memory Element Release**: Persistent context storage with enterprise-grade features
893
+
894
+ #### ✨ New Features
895
+ - **Memory Element**: Complete implementation of persistent context storage (PR #1000 - The Milestone PR!)
896
+ - **Date-based Organization**: Automatic folder structure (YYYY-MM-DD) prevents flat directory issues
897
+ - **Content Deduplication**: SHA-256 hashing prevents duplicate storage (Issue #994)
898
+ - **Search Indexing**: Fast queries across thousands of entries with O(log n) performance (Issue #984)
899
+ - **Privacy Levels**: Three-tier access control (public, private, sensitive)
900
+ - **Retention Policies**: Automatic cleanup based on age and capacity
901
+
902
+ #### 🔧 Improvements
903
+ - **Performance Optimizations**: 60-second cache for date folder operations
904
+ - **Collision Handling**: Automatic version suffixes for same-named files
905
+ - **Atomic Operations**: FileLockManager prevents corruption and race conditions
906
+ - **Sanitization Caching**: SHA-256 checksums reduce CPU usage by ~40% during deserialization
907
+ - **Retry Logic**: Search index building with exponential backoff
908
+
909
+ #### 🛡️ Security
910
+ - **Comprehensive Input Validation**: All memory content sanitized with DOMPurify
911
+ - **Path Traversal Protection**: Robust validation in MemoryManager
912
+ - **Size Limits**: DoS protection with 1MB memory and 100KB entry limits
913
+ - **Audit Logging**: Complete security event tracking
914
+
915
+ #### 🧪 Testing
916
+ - **89 Memory Tests**: Comprehensive coverage across 4 test suites
917
+ - **Concurrent Access Tests**: Thread safety verification
918
+ - **Security Coverage**: XSS, Unicode attacks, path traversal
919
+ - **CI Improvements**: Fixed GitHub integration test conflicts (PR #1001)
920
+
921
+ ---
922
+
923
+ ### v1.8.1 - September 15, 2025
924
+
925
+ **CI Reliability Improvements**: Fixed persistent test failures across platforms
926
+
927
+ #### 🔧 Bug Fixes
928
+ - **GitHub API 409 Conflicts**: Enhanced retry mechanism with jitter for parallel CI jobs
929
+ - **Windows Performance Tests**: Platform-specific timing thresholds for CI environments
930
+ - **Test Stability**: Resolved flaky tests in Extended Node Compatibility workflow
931
+
932
+ ---
933
+
934
+ ### v1.8.0 - September 15, 2025
935
+
936
+ **Major Portfolio System Enhancements**: Full GitHub portfolio synchronization
937
+
938
+ #### ✨ New Features
939
+ - **Portfolio Sync**: Complete bidirectional sync with GitHub portfolios
940
+ - **Pull Functionality**: Download elements from GitHub portfolios (3 sync modes)
941
+ - **Configurable Repos**: Portfolio repository names now configurable
942
+ - **Configuration Wizard**: Now manual-only (removed auto-trigger for better UX)
943
+
944
+ #### 🔧 Improvements
945
+ - **Tool Clarity**: Renamed conflicting tools for better user experience
946
+ - **Rate Limiting**: Fixed redundant token validation causing API limits
947
+ - **GitHub Integration**: Comprehensive repository management
948
+
949
+ ---
950
+
951
+ ### v1.7.4 - September 12, 2025
952
+
953
+ **Hotfix Release**: Critical build and registration fixes
954
+
955
+ #### 🔧 Bug Fixes
956
+ - **Build Infrastructure**: Fixed missing TypeScript files in dist
957
+ - **Tool Registration**: Resolved MCP tool availability issues
958
+ - **Skill System**: Fixed skill registration and activation
959
+ - **Test Framework**: Restored test infrastructure functionality
960
+
961
+ ---
962
+
963
+ ### v1.7.3 - September 9, 2025
964
+
965
+ **Security & Configuration Release**: Prototype pollution protection and config management
966
+
967
+ #### 🛡️ Security
968
+ - **Prototype Pollution Protection**: Comprehensive validation against injection attacks
969
+ - **YAML Security**: Maintained FAILSAFE_SCHEMA with security documentation
970
+ - **Security Audit**: Achieved 0 security findings across all severity levels
971
+
972
+ #### ✨ Improvements
973
+ - **Configuration Management**: Complete overhaul with atomic operations
974
+ - **Test Coverage**: Comprehensive security and configuration tests
975
+ - **Input Normalization**: All inputs normalized at MCP request layer
976
+
977
+ ---
978
+
979
+ ### v1.7.2 - September 7, 2025
980
+
981
+ **Security Patch Release**: Critical logging vulnerability fixes
982
+
983
+ #### 🛡️ Security Fixes
984
+ - **Clear-text Logging Prevention**: Comprehensive sanitization of sensitive data
985
+ - **OAuth Token Protection**: Prevents exposure of tokens in console output
986
+ - **API Key Sanitization**: Masks all credentials before logging
987
+
988
+ ---
989
+
990
+ ### v1.7.1 - September 3, 2025
991
+
992
+ **Maintenance Release**: Documentation and compatibility improvements
993
+
994
+ #### 🔧 Improvements
995
+ - **Documentation**: Updated for better clarity and accuracy
996
+ - **Compatibility**: Enhanced cross-platform support
997
+ - **Bug Fixes**: Various minor fixes and optimizations
998
+
999
+ ---
1000
+
1001
+ ### v1.7.0 - August 30, 2025
1002
+
1003
+ **Major Feature Release**: Enhanced portfolio and collection systems
1004
+
1005
+ #### ✨ New Features
1006
+ - **Portfolio Management**: Improved local portfolio organization
1007
+ - **Collection Integration**: Better integration with community collection
1008
+ - **Security Enhancements**: Critical security fixes from code review
1009
+
1010
+ ---
1011
+
1012
+ ### v1.6.11 - August 28, 2025
1013
+
1014
+ **Test Reliability & Collection Fixes**: Improved test suite stability and fixed collection system
1015
+
1016
+ #### 🔧 Bug Fixes
1017
+ - **Collection Index URL**: Fixed to use GitHub Pages for better reliability
1018
+ - **E2E Test Tokens**: Improved token prioritization for CI environments
1019
+ - **Response Format**: Enhanced compatibility with various response formats
1020
+ - **Type Safety**: Improved TypeScript types throughout test suite
1021
+
1022
+ #### ✨ Improvements
1023
+ - Added helper functions for better code organization
1024
+ - Enhanced test reliability in CI/CD pipelines
1025
+ - General code quality improvements
1026
+
1027
+ ---
1028
+
1029
+ ### v1.6.10 - August 28, 2025
1030
+
1031
+ **Collection Submission Fix**: Critical fix for collection submission pipeline
1032
+
1033
+ #### 🔧 Bug Fixes
1034
+ - **Collection Submission**: Fixed workflow failing due to missing element types
1035
+ - **Local Path Parameter**: Added missing localPath parameter to submission tool
1036
+ - **Duplicate Detection**: Added detection for duplicate portfolio uploads and collection issues
1037
+
1038
+ #### ✨ Improvements
1039
+ - Added comprehensive QA tests for collection submission validation
1040
+ - Cleaned up QA documentation files
1041
+ - Updated all documentation to v1.6.10
1042
+
1043
+ ---
1044
+
1045
+ ### v1.6.9 - August 26, 2025
1046
+
1047
+ **Critical Fixes**: Fixed OAuth helper NPM packaging and performance testing workflow
1048
+
1049
+ #### 🔧 Bug Fixes
1050
+ - **OAuth NPM Packaging**: Fixed missing `oauth-helper.mjs` file in NPM distribution
1051
+ - File was present in repository but not included in published package
1052
+ - OAuth authentication now works correctly for NPM users
1053
+ - **Performance Tests**: Fixed CI workflow running all tests instead of performance tests
1054
+ - Performance monitoring now works correctly in GitHub Actions
1055
+
1056
+ ---
1057
+
1058
+ ### v1.6.3 - August 25, 2025
1059
+
1060
+ **OAuth Authentication Fix**: Fixed invalid OAuth client ID and improved error handling
1061
+
1062
+ #### 🔧 Bug Fixes
1063
+ - **OAuth Client ID**: Updated from incorrect ID to correct `Ov23li9gyNZP6m9aJ2EP`
1064
+ - **Error Messages**: Improved clarity of OAuth error messages for better debugging
1065
+ - **Setup Tool**: Fixed `setup_github_auth` tool to properly handle authentication flow
1066
+
1067
+ ---
1068
+
1069
+ ### v1.6.2 - August 25, 2025
1070
+
1071
+ **Critical Hotfix**: Fixed OAuth default client ID not being used in `setup_github_auth` tool
1072
+
1073
+ #### 🔧 Bug Fixes
1074
+ - **OAuth Default Client**: Fixed `setup_github_auth` tool not using default client ID when none provided
1075
+ - **Authentication Flow**: Restored ability to authenticate without manual client ID entry
1076
+
1077
+ #### 📝 Documentation
1078
+ - Added troubleshooting guide for OAuth issues
1079
+ - Updated setup instructions with clearer OAuth configuration steps
1080
+
1081
+ ---
1082
+
1083
+ ### v1.6.1 - August 25, 2025
1084
+
1085
+ **⚠️ Breaking Changes**:
1086
+ - 🔄 **Serialization Format Change** - `BaseElement.serialize()` now returns markdown with YAML frontmatter instead of JSON
1087
+
1088
+ #### 🔧 Bug Fixes
1089
+ - **Serialization Format**: Fixed `BaseElement.serialize()` to return markdown format
1090
+ - Changed from JSON string to markdown with YAML frontmatter
1091
+ - Maintains consistency with existing persona format
1092
+ - Fixes portfolio round-trip workflow
1093
+
1094
+ #### ✨ Improvements
1095
+ - **Code Quality**: Extracted validation methods into ValidationService
1096
+ - **Error Handling**: Improved validation error messages with specific field information
1097
+ - **Test Coverage**: Added comprehensive tests for markdown serialization
1098
+
1099
+ ---
1100
+
1101
+ ### v1.6.0 - August 25, 2025
1102
+
1103
+ **🚀 Major Release: Portfolio System & OAuth Integration**
1104
+
1105
+ This release introduces the complete portfolio management system with GitHub OAuth authentication, enabling secure cloud-based element synchronization and management.
1106
+
1107
+ #### ✨ New Features
1108
+
1109
+ ##### 🔐 GitHub OAuth Authentication
1110
+ - **OAuth App Integration**: Full OAuth flow with GitHub for secure authentication
1111
+ - **Personal Access Token Support**: Alternative authentication method for CI/CD
1112
+ - **Token Management**: Secure storage and rotation of authentication tokens
1113
+ - **Multi-Account Support**: Handle multiple GitHub accounts seamlessly
1114
+
1115
+ ##### 📦 Portfolio Management System
1116
+ - **Cloud Sync**: Automatic synchronization between local and GitHub portfolios
1117
+ - **Version Control**: Full git integration for portfolio elements
1118
+ - **Conflict Resolution**: Smart merging of local and remote changes
1119
+ - **Batch Operations**: Upload/download multiple elements efficiently
1120
+
1121
+ ##### 🛠️ New MCP Tools (42 total)
1122
+ - `setup_github_auth`: Interactive GitHub OAuth setup
1123
+ - `check_github_auth`: Verify authentication status
1124
+ - `refresh_github_token`: Rotate OAuth tokens
1125
+ - `sync_portfolio`: Bidirectional portfolio synchronization
1126
+ - `upload_to_portfolio`: Upload local elements to GitHub
1127
+ - `download_from_portfolio`: Download elements from GitHub
1128
+ - `submit_to_portfolio`: Submit elements for review
1129
+ - And 30 more tools for complete portfolio management
1130
+
1131
+ #### 🔧 Bug Fixes
1132
+ - **Element Detection**: Fixed smart detection of element types
1133
+ - **YAML Parsing**: Improved handling of complex YAML structures
1134
+ - **Path Resolution**: Fixed Windows path compatibility issues
1135
+ - **Token Security**: Enhanced token storage encryption
1136
+
1137
+ #### 📝 Documentation
1138
+ - Comprehensive OAuth setup guide
1139
+ - Portfolio management tutorials
1140
+ - Troubleshooting guides for common issues
1141
+ - API documentation for all new tools
1142
+
1143
+ #### 🔒 Security
1144
+ - OAuth token encryption at rest
1145
+ - Secure token transmission
1146
+ - Rate limiting for API calls
1147
+ - Audit logging for all operations
1148
+
1149
+ ---
1150
+
1151
+ For complete release history prior to v1.6.0, see the [GitHub Releases](https://github.com/DollhouseMCP/mcp-server/releases) page.
1152
+
1153
+ ## 📜 License
1154
+
1155
+ This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)** with Platform Stability Commitments.
1156
+
1157
+ ### What This Means
1158
+
1159
+ #### ✅ You CAN:
1160
+ - Use the software for personal projects
1161
+ - Use the software for commercial projects
1162
+ - Modify the source code
1163
+ - Distribute the software
1164
+ - Use personas and elements you create
1165
+
1166
+ #### ⚠️ You MUST:
1167
+ - Include the license and copyright notice
1168
+ - State changes made to the code
1169
+ - Disclose your source code when distributing
1170
+ - Use the same AGPL-3.0 license for derivatives
1171
+ - **Make network use source available** (AGPL requirement)
1172
+
1173
+ #### ❌ You CANNOT:
1174
+ - Hold us liable for damages
1175
+ - Use our trademarks without permission
1176
+ - Claim warranty or guarantee of fitness
1177
+ - Resell commercially
1178
+
1179
+ ### Platform Stability Commitments
1180
+
1181
+ We provide additional guarantees beyond the AGPL-3.0:
1182
+
1183
+ - **90-day advance notice** for monetization policy changes
1184
+ - **12-month revenue sharing locks** for content creators
1185
+ - **Full data portability** - export all your content anytime
1186
+ - **180-day transition period** for platform ownership changes
1187
+ - **Community advisory input** on major policy decisions
1188
+
1189
+ ### Contributor License Agreement
1190
+
1191
+ By contributing to DollhouseMCP, you agree that:
1192
+
1193
+ 1. You have the right to grant us license to your contribution
1194
+ 2. Your contribution is licensed under AGPL-3.0
1195
+ 3. You grant us additional rights to use your contribution in our commercial offerings
1196
+ 4. You retain copyright to your contribution
283
1197
 
284
- ## 📄 License
1198
+ For the complete license text, see [LICENSE](LICENSE).
285
1199
 
286
- DollhouseMCP is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
1200
+ ### Questions?
287
1201
 
288
- ### What this means:
289
- - ✅ **Free to use** for personal and commercial purposes
290
- - ✅ **Modify and distribute** with the same license
291
- - ✅ **Network use** requires source code disclosure
292
- - ✅ **Platform stability** commitments protect users
1202
+ If you have questions about the license or what you can do with DollhouseMCP:
293
1203
 
294
- See [LICENSE](LICENSE) for full terms.
1204
+ - **Documentation**: [License FAQ](docs/LICENSE_FAQ.md)
1205
+ - **GitHub Issue**: Open an issue with the `license` label
1206
+ - **Discussions**: Ask in [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
295
1207
 
296
1208
  ---
297
1209
 
298
- *Built with ❤️ by the DollhouseMCP team*
1210
+ *Copyright © 2025 DollhouseMCP. All rights reserved.*