@dollhousemcp/mcp-server 1.9.13 → 1.9.14

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.
package/README.md.backup CHANGED
@@ -1,17 +1,323 @@
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/graphs/traffic)
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/develop/test/__tests__)
13
+ [![Enterprise-Grade Security](https://img.shields.io/badge/Security-Enterprise%20Grade-purple)](https://github.com/DollhouseMCP/mcp-server/blob/develop/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
 
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
+
15
321
  ## 📦 Installation
16
322
 
17
323
  ### Choose Your Installation Method
@@ -226,73 +532,946 @@ 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
230
540
 
231
- DollhouseMCP supports multiple element types for customizing AI behavior:
541
+ Your portfolio is organized by element type:
232
542
 
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 |
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
601
+
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
606
+
607
+ ### Reporting Security Issues
608
+
609
+ If you discover a security vulnerability, please:
610
+
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
242
678
 
243
- Your portfolio lives in `~/.dollhouse/portfolio/` with elements organized by type.
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
244
683
 
245
- ## 🔧 Troubleshooting
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
722
+
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
731
+
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:
257
763
 
258
- ### Need Help?
764
+ ### Ways to Contribute
259
765
 
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)
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.14 - September 30, 2025
877
+
878
+ **Bug Fixes**: ElementFormatter and portfolio search improvements
879
+
880
+ #### 🔧 Fixed
881
+ - **ElementFormatter Security Scanner False Positives** - Fixed validation option being ignored (#1211, #1212)
882
+ - SecureYamlParser now properly respects `validateContent: false` option
883
+ - ElementFormatter uses `validateContent: false` for all YAML parsing (5 locations)
884
+ - Local trusted files can bypass content scanning while maintaining security for untrusted sources
885
+ - Improved memory name generation: derives from filenames instead of auto-generated IDs
886
+ - Example: `sonarcloud-rules-reference` instead of `mem_1759077319164_w9m9fk56y`
887
+
888
+ - **Portfolio Search File Extension Display** - Fixed incorrect extension display (#1213, #1215)
889
+ - Portfolio search now shows correct file extensions based on element type
890
+ - Memories display `.yaml` extension, other elements show `.md` extension
891
+ - Added `getFileExtension()` public method to PortfolioManager
892
+ - No breaking changes, display-only fix
893
+
894
+ #### 🛠️ Code Quality
895
+ - Fixed 10 SonarCloud issues in Docker test files:
896
+ - S7018: Sorted apt packages alphabetically
897
+ - S7031: Merged consecutive RUN instructions
898
+ - S7772: Added `node:` prefix for built-in modules (4 occurrences)
899
+ - S2486: Added proper error logging for JSON parse exceptions
900
+ - S7780: Used String.raw for regex patterns (2 occurrences)
901
+ - Added comprehensive test coverage for portfolio search file extensions
902
+
903
+ #### 📚 Documentation
904
+ - Added SONARCLOUD_QUERY_PROCEDURE.md - Critical guide for querying SonarCloud correctly
905
+ - Updated CLAUDE.md with naming conventions and style guide for session notes
906
+ - Added session notes documentation for PR #1215
907
+
908
+ #### 📊 Statistics
909
+ - 2 Bug fixes merged (PR #1212, #1215)
910
+ - 10 Code quality issues resolved
911
+ - 2,277 tests passing with >96% coverage
912
+ - Quality Gate: PASSING
913
+ - Test Coverage: >96% maintained
914
+
915
+ ---
916
+
917
+ ### v1.9.13 - September 29, 2025
918
+
919
+ **Memory System Critical Fixes**: Security scanner improvements and enhanced error reporting
920
+
921
+ #### 🔧 Fixed
922
+ - **Security Scanner False Positives** - Fixed memory system rejecting legitimate security documentation (#1206, #1207)
923
+ - Memory files with security terms (vulnerability, exploit, attack) now load correctly
924
+ - Local memory files are now pre-trusted (validateContent: false)
925
+ - **Silent Error Reporting** - Added visible error reporting for failed memory loads
926
+ - Users now see "Failed to load X memories" with detailed error messages
927
+ - New getLoadStatus() diagnostic method for troubleshooting
928
+ - **Legacy Memory Migration** - New migration tool for old .md files
929
+ - Migrates to .yaml format in date-organized folders
930
+ - Safe archiving of original files, dry-run mode by default
931
+
932
+ #### ✨ Added
933
+ - CLI Utility: migrate-legacy-memories.ts for legacy file migration
934
+ - Diagnostic Method: getLoadStatus() for memory loading diagnostics
935
+ - Error Tracking: failedLoads tracking in MemoryManager
936
+
937
+ #### 🛠️ Code Quality
938
+ - Fixed SonarCloud S3776: Reduced cognitive complexity in getLoadStatus()
939
+ - Fixed SonarCloud S3358: Replaced nested ternary with if-else chain
940
+ - Fixed SonarCloud S7785: Use top-level await instead of promise chain
941
+ - Extracted handleLoadFailure() to eliminate code duplication
942
+ - Use os.homedir() for cross-platform reliability
943
+
944
+ #### 🔒 Security
945
+ - Fixed DMCP-SEC-004: Added Unicode normalization to CLI input validation
946
+
947
+ #### 📊 Statistics
948
+ - 3 Critical fixes merged in PR #1207
949
+ - 7 Code quality issues resolved
950
+ - 1 Security issue fixed
951
+ - Quality Gate: PASSING
952
+ - Test Coverage: >96% maintained
953
+
954
+ ---
955
+
956
+ ### v1.9.12 - September 29, 2025
957
+
958
+ **Memory System Stability**: Portfolio index and test isolation improvements
959
+
960
+ #### 🔧 Fixed
961
+ - **Memory Metadata Preservation** - Fixed PortfolioIndexManager overwriting memory metadata (#1196, #1197)
962
+ - Memory descriptions now properly preserved instead of "Memory element"
963
+ - **Test Isolation** - Fixed memory portfolio index tests contaminating real user portfolio (#1194, #1195)
964
+ - Tests now use temporary directories
965
+ - Added security validation for memory YAML parsing (size limits, type checking)
966
+ - **ElementFormatter Tool** - Added tool for cleaning malformed elements (#1190, #1193)
967
+
968
+ #### 🛠️ Code Quality
969
+ - Fixed SonarCloud S7781: Use String#replaceAll() for modern string replacement
970
+ - Fixed SonarCloud S1135: Removed TODO comments, documented test isolation patterns
971
+
972
+ #### 🔒 Security
973
+ - Added content size validation (1MB limit) for memory YAML parsing
974
+ - Added type safety validation for parsed memory content
975
+ - Documented security trade-offs with audit suppressions
976
+
977
+ #### 📊 Statistics
978
+ - Memory portfolio index tests: 8/8 passing (was 3/8)
979
+ - Closed issues: #1196, #1194, #1190, #659, #404, #919
980
+ - Quality Gate: PASSING
981
+ - Test Coverage: >96% maintained
982
+
983
+ ---
984
+
985
+ ### v1.9.11 - September 28, 2025
986
+
987
+ **SonarCloud Quality & Security**: Major code quality improvements and security fixes
988
+
989
+ #### 🔒 Security Fixes
990
+ - Fixed command injection vulnerabilities in GitHub Actions workflows (#1149)
991
+ - Resolved ReDoS vulnerabilities in RelationshipManager (#1144)
992
+ - All critical and high severity issues resolved
993
+
994
+ #### 🛠️ Quality Improvements
995
+ - **82% reduction in SonarCloud reliability bugs** (from 55 to 10)
996
+ - Fixed unsafe throw in finally blocks (S1143)
997
+ - Fixed async constructor patterns
998
+ - Resolved regex precedence issues
999
+ - Fixed control character usage
1000
+ - Removed hardcoded tokens
1001
+
1002
+ #### 📊 Statistics
1003
+ - 11 Pull Requests merged for quality fixes
1004
+ - Quality Gate: PASSING
1005
+ - Security: All critical issues resolved
1006
+ - Test Coverage: >96% maintained
1007
+
1008
+ ### v1.9.10 - September 27, 2025
1009
+
1010
+ **Enhanced Capability Index & Security**: Complete trigger extraction system and SonarCloud integration
1011
+
1012
+ #### ✨ Major Features
1013
+ - **Enhanced Capability Index System** - NLP scoring with Jaccard similarity and Shannon entropy
1014
+ - **Cross-Element Relationships** - GraphRAG-style relationship mapping
1015
+ - **Complete Trigger Extraction** - All element types now support trigger extraction
1016
+ - **SonarCloud Integration** - Quality gate PASSING with 0% duplication
1017
+
1018
+ #### 🔒 Security Improvements
1019
+ - Fixed 16 SonarCloud BLOCKER issues
1020
+ - GitHub Actions command injection vulnerabilities resolved
1021
+ - Full SHA pinning for all Actions
1022
+ - PATH manipulation vulnerability fixed
1023
+
1024
+ #### 🛠️ Improvements
1025
+ - Extended Node compatibility fixes
1026
+ - Enhanced Index stability improvements
1027
+ - Type-safe relationship parsing
1028
+ - Docker Hub rate limit mitigation
1029
+ - Test isolation and CI improvements
1030
+
1031
+ #### 📊 Statistics
1032
+ - 34 Pull Requests merged
1033
+ - Test Coverage: 98.17%
1034
+ - Security Hotspots: 100% reviewed
1035
+ - Code Duplication: 0% on new code
1036
+
1037
+ ---
1038
+
1039
+ ### v1.9.9 - September 22, 2025
1040
+
1041
+ **Security & Stability**: Prototype pollution protection and memory timestamp fixes
1042
+
1043
+ #### ✨ Features
1044
+ - **Security Utilities**: New reusable security module for prototype pollution protection
1045
+ - **Memory Auto-Repair**: Corrupted memory timestamps now auto-repair during read operations
1046
+ - **Enhanced Validation**: Comprehensive timestamp validation with detailed error reporting
1047
+
1048
+ #### 🔧 Fixed
1049
+ - **Memory Timestamps**: Fixed toISOString errors when memory entries have string timestamps (#1069)
1050
+ - **Security Badge**: Fixed broken security badge link in README pointing to wrong location
1051
+ - **Prototype Pollution**: Added belt-and-suspenders protection to satisfy code scanners (#202-#205)
1052
+
1053
+ #### 🔒 Security
1054
+ - Added `securityUtils.ts` module with reusable security patterns
1055
+ - Implemented Object.create(null) for prototype-less objects
1056
+ - Added Object.defineProperty() for secure property setting
1057
+ - Proper CodeQL suppressions for validated false positives
1058
+
1059
+ ---
1060
+
1061
+ ### v1.9.8 - September 20, 2025
1062
+
1063
+ **Memory System Complete**: Full CRUD operations and enhanced memory management
1064
+
1065
+ #### ✨ Features
1066
+ - **Memory CRUD Operations**: Complete create, read, update, delete functionality for memories
1067
+ - **Memory Editing**: Full support for editing memory fields including metadata and content
1068
+ - **Memory Validation**: Comprehensive validation with detailed error reporting
1069
+ - **Enhanced Search**: Improved search across all sources with duplicate detection
1070
+
1071
+ #### 🔧 Fixed
1072
+ - **Memory Display**: Fixed "No content stored" issue when memories have valid content
1073
+ - **Test Coverage**: Maintained >96% test coverage with comprehensive memory tests
1074
+ - **Documentation**: Updated all documentation to reflect new memory features
1075
+
1076
+ ---
1077
+
1078
+ ### v1.9.7 - September 20, 2025
1079
+
1080
+ **NPM Package Fix**: Corrected build issue from v1.9.6
1081
+
1082
+ #### 🔧 Fixed
1083
+ - **NPM Package Build**: Republished with correct commit including all memory display fixes
1084
+ - **Memory Display**: Memories now correctly show content instead of "No content stored"
1085
+ - Note: v1.9.6 NPM package was accidentally built from wrong commit
1086
+
1087
+ ---
1088
+
1089
+ ### v1.9.6 - September 20, 2025
1090
+
1091
+ **🎉 First External Contribution**: Performance and security improvements from the community!
1092
+
1093
+ #### ✨ Highlights
1094
+ - **Fixed**: Memory display bug - added content getter to Memory class (PR #1036)
1095
+ - **Fixed**: Flaky macOS tests on Node 22+ (PR #1038)
1096
+ - **Enhanced**: Optimized whitespace detection for better performance (PR #1037)
1097
+ - **Security**: Strengthened path traversal protection (PR #1037)
1098
+ - **Attribution**: Thanks to @jeetsingh008 for identifying improvements!
1099
+
1100
+ ---
1101
+
1102
+ ### v1.9.5 - September 19, 2025
1103
+
1104
+ **Memory YAML Parsing Fix**: Resolved display issues with pure YAML memory files
1105
+
1106
+ #### 🔧 Bug Fixes
1107
+ - **Fixed**: Memory files showing incorrect names for pure YAML format
1108
+ - **Enhanced**: Added comprehensive test coverage for memory file formats
1109
+ - **Technical**: Improved compatibility between SecureYamlParser and pure YAML
1110
+
1111
+ ---
1112
+
1113
+ ### v1.9.4 - September 19, 2025
1114
+
1115
+ **Memory Name Display Fix**: Corrected "Unnamed Memory" display issue
1116
+
1117
+ #### 🔧 Bug Fixes
1118
+ - **Fixed**: Memory elements showing as "Unnamed Memory" in list output
1119
+ - **Fixed**: Corrected metadata parsing path in SecureYamlParser
1120
+ - **Technical**: Added retention format parsing for various formats
1121
+
1122
+ ---
1123
+
1124
+ ### v1.9.3 - September 19, 2025
1125
+
1126
+ **Memory Element MCP Support**: Complete MCP tool handler integration
1127
+
1128
+ #### 🔧 Bug Fixes
1129
+ - **Fixed**: Added Memory element support to all MCP tool handlers
1130
+ - **Fixed**: Resolved "Unknown element type 'memories'" errors
1131
+ - **Technical**: Added Memory case handling to 8 critical methods
1132
+
1133
+ ---
1134
+
1135
+ ### v1.9.2 - September 19, 2025
1136
+
1137
+ **Branch Synchronization**: Documentation and configuration alignment
1138
+
1139
+ #### 🔧 Improvements
1140
+ - **Fixed**: Resolved divergence between main and develop branches
1141
+ - **Enhanced**: Updated documentation to reflect all features
1142
+ - **Technical**: Merged 58 commits from develop branch
1143
+
1144
+ ---
1145
+
1146
+ ### v1.9.1 - September 19, 2025
1147
+
1148
+ **Memory Element Hotfix**: Fixed validation and tool descriptions
1149
+
1150
+ #### 🔧 Bug Fixes
1151
+ - **Fixed**: Added 'memories' to validation arrays
1152
+ - **Fixed**: Updated collection tool descriptions
1153
+ - **Technical**: Clean hotfix for memory element support
1154
+
1155
+ ---
1156
+
1157
+ ### v1.9.0 - September 19, 2025
1158
+
1159
+ **🎉 Memory Element Release**: Persistent context storage with enterprise-grade features
1160
+
1161
+ #### ✨ New Features
1162
+ - **Memory Element**: Complete implementation of persistent context storage (PR #1000 - The Milestone PR!)
1163
+ - **Date-based Organization**: Automatic folder structure (YYYY-MM-DD) prevents flat directory issues
1164
+ - **Content Deduplication**: SHA-256 hashing prevents duplicate storage (Issue #994)
1165
+ - **Search Indexing**: Fast queries across thousands of entries with O(log n) performance (Issue #984)
1166
+ - **Privacy Levels**: Three-tier access control (public, private, sensitive)
1167
+ - **Retention Policies**: Automatic cleanup based on age and capacity
1168
+
1169
+ #### 🔧 Improvements
1170
+ - **Performance Optimizations**: 60-second cache for date folder operations
1171
+ - **Collision Handling**: Automatic version suffixes for same-named files
1172
+ - **Atomic Operations**: FileLockManager prevents corruption and race conditions
1173
+ - **Sanitization Caching**: SHA-256 checksums reduce CPU usage by ~40% during deserialization
1174
+ - **Retry Logic**: Search index building with exponential backoff
1175
+
1176
+ #### 🛡️ Security
1177
+ - **Comprehensive Input Validation**: All memory content sanitized with DOMPurify
1178
+ - **Path Traversal Protection**: Robust validation in MemoryManager
1179
+ - **Size Limits**: DoS protection with 1MB memory and 100KB entry limits
1180
+ - **Audit Logging**: Complete security event tracking
1181
+
1182
+ #### 🧪 Testing
1183
+ - **89 Memory Tests**: Comprehensive coverage across 4 test suites
1184
+ - **Concurrent Access Tests**: Thread safety verification
1185
+ - **Security Coverage**: XSS, Unicode attacks, path traversal
1186
+ - **CI Improvements**: Fixed GitHub integration test conflicts (PR #1001)
1187
+
1188
+ ---
1189
+
1190
+ ### v1.8.1 - September 15, 2025
1191
+
1192
+ **CI Reliability Improvements**: Fixed persistent test failures across platforms
1193
+
1194
+ #### 🔧 Bug Fixes
1195
+ - **GitHub API 409 Conflicts**: Enhanced retry mechanism with jitter for parallel CI jobs
1196
+ - **Windows Performance Tests**: Platform-specific timing thresholds for CI environments
1197
+ - **Test Stability**: Resolved flaky tests in Extended Node Compatibility workflow
1198
+
1199
+ ---
1200
+
1201
+ ### v1.8.0 - September 15, 2025
1202
+
1203
+ **Major Portfolio System Enhancements**: Full GitHub portfolio synchronization
1204
+
1205
+ #### ✨ New Features
1206
+ - **Portfolio Sync**: Complete bidirectional sync with GitHub portfolios
1207
+ - **Pull Functionality**: Download elements from GitHub portfolios (3 sync modes)
1208
+ - **Configurable Repos**: Portfolio repository names now configurable
1209
+ - **Configuration Wizard**: Now manual-only (removed auto-trigger for better UX)
1210
+
1211
+ #### 🔧 Improvements
1212
+ - **Tool Clarity**: Renamed conflicting tools for better user experience
1213
+ - **Rate Limiting**: Fixed redundant token validation causing API limits
1214
+ - **GitHub Integration**: Comprehensive repository management
1215
+
1216
+ ---
1217
+
1218
+ ### v1.7.4 - September 12, 2025
1219
+
1220
+ **Hotfix Release**: Critical build and registration fixes
1221
+
1222
+ #### 🔧 Bug Fixes
1223
+ - **Build Infrastructure**: Fixed missing TypeScript files in dist
1224
+ - **Tool Registration**: Resolved MCP tool availability issues
1225
+ - **Skill System**: Fixed skill registration and activation
1226
+ - **Test Framework**: Restored test infrastructure functionality
1227
+
1228
+ ---
1229
+
1230
+ ### v1.7.3 - September 9, 2025
1231
+
1232
+ **Security & Configuration Release**: Prototype pollution protection and config management
1233
+
1234
+ #### 🛡️ Security
1235
+ - **Prototype Pollution Protection**: Comprehensive validation against injection attacks
1236
+ - **YAML Security**: Maintained FAILSAFE_SCHEMA with security documentation
1237
+ - **Security Audit**: Achieved 0 security findings across all severity levels
1238
+
1239
+ #### ✨ Improvements
1240
+ - **Configuration Management**: Complete overhaul with atomic operations
1241
+ - **Test Coverage**: Comprehensive security and configuration tests
1242
+ - **Input Normalization**: All inputs normalized at MCP request layer
1243
+
1244
+ ---
1245
+
1246
+ ### v1.7.2 - September 7, 2025
1247
+
1248
+ **Security Patch Release**: Critical logging vulnerability fixes
1249
+
1250
+ #### 🛡️ Security Fixes
1251
+ - **Clear-text Logging Prevention**: Comprehensive sanitization of sensitive data
1252
+ - **OAuth Token Protection**: Prevents exposure of tokens in console output
1253
+ - **API Key Sanitization**: Masks all credentials before logging
1254
+
1255
+ ---
1256
+
1257
+ ### v1.7.1 - September 3, 2025
1258
+
1259
+ **Maintenance Release**: Documentation and compatibility improvements
1260
+
1261
+ #### 🔧 Improvements
1262
+ - **Documentation**: Updated for better clarity and accuracy
1263
+ - **Compatibility**: Enhanced cross-platform support
1264
+ - **Bug Fixes**: Various minor fixes and optimizations
1265
+
1266
+ ---
1267
+
1268
+ ### v1.7.0 - August 30, 2025
1269
+
1270
+ **Major Feature Release**: Enhanced portfolio and collection systems
1271
+
1272
+ #### ✨ New Features
1273
+ - **Portfolio Management**: Improved local portfolio organization
1274
+ - **Collection Integration**: Better integration with community collection
1275
+ - **Security Enhancements**: Critical security fixes from code review
1276
+
1277
+ ---
1278
+
1279
+ ### v1.6.11 - August 28, 2025
1280
+
1281
+ **Test Reliability & Collection Fixes**: Improved test suite stability and fixed collection system
1282
+
1283
+ #### 🔧 Bug Fixes
1284
+ - **Collection Index URL**: Fixed to use GitHub Pages for better reliability
1285
+ - **E2E Test Tokens**: Improved token prioritization for CI environments
1286
+ - **Response Format**: Enhanced compatibility with various response formats
1287
+ - **Type Safety**: Improved TypeScript types throughout test suite
1288
+
1289
+ #### ✨ Improvements
1290
+ - Added helper functions for better code organization
1291
+ - Enhanced test reliability in CI/CD pipelines
1292
+ - General code quality improvements
1293
+
1294
+ ---
1295
+
1296
+ ### v1.6.10 - August 28, 2025
1297
+
1298
+ **Collection Submission Fix**: Critical fix for collection submission pipeline
1299
+
1300
+ #### 🔧 Bug Fixes
1301
+ - **Collection Submission**: Fixed workflow failing due to missing element types
1302
+ - **Local Path Parameter**: Added missing localPath parameter to submission tool
1303
+ - **Duplicate Detection**: Added detection for duplicate portfolio uploads and collection issues
1304
+
1305
+ #### ✨ Improvements
1306
+ - Added comprehensive QA tests for collection submission validation
1307
+ - Cleaned up QA documentation files
1308
+ - Updated all documentation to v1.6.10
1309
+
1310
+ ---
1311
+
1312
+ ### v1.6.9 - August 26, 2025
1313
+
1314
+ **Critical Fixes**: Fixed OAuth helper NPM packaging and performance testing workflow
1315
+
1316
+ #### 🔧 Bug Fixes
1317
+ - **OAuth NPM Packaging**: Fixed missing `oauth-helper.mjs` file in NPM distribution
1318
+ - File was present in repository but not included in published package
1319
+ - OAuth authentication now works correctly for NPM users
1320
+ - **Performance Tests**: Fixed CI workflow running all tests instead of performance tests
1321
+ - Performance monitoring now works correctly in GitHub Actions
1322
+
1323
+ ---
1324
+
1325
+ ### v1.6.3 - August 25, 2025
1326
+
1327
+ **OAuth Authentication Fix**: Fixed invalid OAuth client ID and improved error handling
1328
+
1329
+ #### 🔧 Bug Fixes
1330
+ - **OAuth Client ID**: Updated from incorrect ID to correct `Ov23li9gyNZP6m9aJ2EP`
1331
+ - **Error Messages**: Improved clarity of OAuth error messages for better debugging
1332
+ - **Setup Tool**: Fixed `setup_github_auth` tool to properly handle authentication flow
1333
+
1334
+ ---
1335
+
1336
+ ### v1.6.2 - August 25, 2025
1337
+
1338
+ **Critical Hotfix**: Fixed OAuth default client ID not being used in `setup_github_auth` tool
1339
+
1340
+ #### 🔧 Bug Fixes
1341
+ - **OAuth Default Client**: Fixed `setup_github_auth` tool not using default client ID when none provided
1342
+ - **Authentication Flow**: Restored ability to authenticate without manual client ID entry
1343
+
1344
+ #### 📝 Documentation
1345
+ - Added troubleshooting guide for OAuth issues
1346
+ - Updated setup instructions with clearer OAuth configuration steps
1347
+
1348
+ ---
1349
+
1350
+ ### v1.6.1 - August 25, 2025
1351
+
1352
+ **⚠️ Breaking Changes**:
1353
+ - 🔄 **Serialization Format Change** - `BaseElement.serialize()` now returns markdown with YAML frontmatter instead of JSON
1354
+
1355
+ #### 🔧 Bug Fixes
1356
+ - **Serialization Format**: Fixed `BaseElement.serialize()` to return markdown format
1357
+ - Changed from JSON string to markdown with YAML frontmatter
1358
+ - Maintains consistency with existing persona format
1359
+ - Fixes portfolio round-trip workflow
1360
+
1361
+ #### ✨ Improvements
1362
+ - **Code Quality**: Extracted validation methods into ValidationService
1363
+ - **Error Handling**: Improved validation error messages with specific field information
1364
+ - **Test Coverage**: Added comprehensive tests for markdown serialization
1365
+
1366
+ ---
1367
+
1368
+ ### v1.6.0 - August 25, 2025
1369
+
1370
+ **🚀 Major Release: Portfolio System & OAuth Integration**
1371
+
1372
+ This release introduces the complete portfolio management system with GitHub OAuth authentication, enabling secure cloud-based element synchronization and management.
1373
+
1374
+ #### ✨ New Features
1375
+
1376
+ ##### 🔐 GitHub OAuth Authentication
1377
+ - **OAuth App Integration**: Full OAuth flow with GitHub for secure authentication
1378
+ - **Personal Access Token Support**: Alternative authentication method for CI/CD
1379
+ - **Token Management**: Secure storage and rotation of authentication tokens
1380
+ - **Multi-Account Support**: Handle multiple GitHub accounts seamlessly
1381
+
1382
+ ##### 📦 Portfolio Management System
1383
+ - **Cloud Sync**: Automatic synchronization between local and GitHub portfolios
1384
+ - **Version Control**: Full git integration for portfolio elements
1385
+ - **Conflict Resolution**: Smart merging of local and remote changes
1386
+ - **Batch Operations**: Upload/download multiple elements efficiently
1387
+
1388
+ ##### 🛠️ New MCP Tools (42 total)
1389
+ - `setup_github_auth`: Interactive GitHub OAuth setup
1390
+ - `check_github_auth`: Verify authentication status
1391
+ - `refresh_github_token`: Rotate OAuth tokens
1392
+ - `sync_portfolio`: Bidirectional portfolio synchronization
1393
+ - `upload_to_portfolio`: Upload local elements to GitHub
1394
+ - `download_from_portfolio`: Download elements from GitHub
1395
+ - `submit_to_portfolio`: Submit elements for review
1396
+ - And 30 more tools for complete portfolio management
1397
+
1398
+ #### 🔧 Bug Fixes
1399
+ - **Element Detection**: Fixed smart detection of element types
1400
+ - **YAML Parsing**: Improved handling of complex YAML structures
1401
+ - **Path Resolution**: Fixed Windows path compatibility issues
1402
+ - **Token Security**: Enhanced token storage encryption
1403
+
1404
+ #### 📝 Documentation
1405
+ - Comprehensive OAuth setup guide
1406
+ - Portfolio management tutorials
1407
+ - Troubleshooting guides for common issues
1408
+ - API documentation for all new tools
1409
+
1410
+ #### 🔒 Security
1411
+ - OAuth token encryption at rest
1412
+ - Secure token transmission
1413
+ - Rate limiting for API calls
1414
+ - Audit logging for all operations
1415
+
1416
+ ---
1417
+
1418
+ For complete release history prior to v1.6.0, see the [GitHub Releases](https://github.com/DollhouseMCP/mcp-server/releases) page.
1419
+
1420
+ ## 📜 License
1421
+
1422
+ This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)** with Platform Stability Commitments.
1423
+
1424
+ ### What This Means
1425
+
1426
+ #### ✅ You CAN:
1427
+ - Use the software for personal projects
1428
+ - Use the software for commercial projects
1429
+ - Modify the source code
1430
+ - Distribute the software
1431
+ - Use personas and elements you create
1432
+
1433
+ #### ⚠️ You MUST:
1434
+ - Include the license and copyright notice
1435
+ - State changes made to the code
1436
+ - Disclose your source code when distributing
1437
+ - Use the same AGPL-3.0 license for derivatives
1438
+ - **Make network use source available** (AGPL requirement)
1439
+
1440
+ #### ❌ You CANNOT:
1441
+ - Hold us liable for damages
1442
+ - Use our trademarks without permission
1443
+ - Claim warranty or guarantee of fitness
1444
+ - Resell commercially
1445
+
1446
+ ### Platform Stability Commitments
1447
+
1448
+ We provide additional guarantees beyond the AGPL-3.0:
1449
+
1450
+ - **90-day advance notice** for monetization policy changes
1451
+ - **12-month revenue sharing locks** for content creators
1452
+ - **Full data portability** - export all your content anytime
1453
+ - **180-day transition period** for platform ownership changes
1454
+ - **Community advisory input** on major policy decisions
1455
+
1456
+ ### Contributor License Agreement
1457
+
1458
+ By contributing to DollhouseMCP, you agree that:
1459
+
1460
+ 1. You have the right to grant us license to your contribution
1461
+ 2. Your contribution is licensed under AGPL-3.0
1462
+ 3. You grant us additional rights to use your contribution in our commercial offerings
1463
+ 4. You retain copyright to your contribution
283
1464
 
284
- ## 📄 License
1465
+ For the complete license text, see [LICENSE](LICENSE).
285
1466
 
286
- DollhouseMCP is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).
1467
+ ### Questions?
287
1468
 
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
1469
+ If you have questions about the license or what you can do with DollhouseMCP:
293
1470
 
294
- See [LICENSE](LICENSE) for full terms.
1471
+ - **Documentation**: [License FAQ](docs/LICENSE_FAQ.md)
1472
+ - **GitHub Issue**: Open an issue with the `license` label
1473
+ - **Discussions**: Ask in [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
295
1474
 
296
1475
  ---
297
1476
 
298
- *Built with ❤️ by the DollhouseMCP team*
1477
+ *Copyright © 2025 DollhouseMCP. All rights reserved.*