@dollhousemcp/mcp-server 1.6.11 → 1.7.1

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.
@@ -0,0 +1,1043 @@
1
+ # DollhouseMCP
2
+
3
+ ## Project Status
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)
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
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)
26
+
27
+ ---
28
+
29
+ **🌐 Repository**: https://github.com/DollhouseMCP/mcp-server
30
+ **🏪 Collection**: https://github.com/DollhouseMCP/collection
31
+ **📦 NPM Package**: https://www.npmjs.com/package/@dollhousemcp/mcp-server
32
+ **🌍 Website**: https://dollhousemcp.com (planned)
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, and agents for automation—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
+
61
+ ### Core Capabilities
62
+
63
+ - **🌍 Community Element Library** – A growing number of tested personas, skills, templates, and agents
64
+ - **✨ Create Custom Elements** – Create personas, skills, templates, and agents from scratch using natural language
65
+ - **🤝 Open Source** – AGPL-3.0 licensed, ensuring community contributions stay free
66
+ - **📚 The DollhouseMCP Collection** – Install any community element with one command
67
+ - **🛠️ 41 Professional Tools** – Complete toolkit for element creation and management
68
+ - **🛡️ Security-First Validation** – All elements validated against hundreds of attack vectors
69
+ - **⚡ Hot-Swap Elements** – Change personas, skills, and templates without restarting as needed
70
+ - **📦 Personal Portfolio** – Your library of custom AI configurations on your local computer or personal GitHub repo
71
+
72
+ ### Use Cases
73
+
74
+ <table>
75
+ <tr>
76
+ <td width="25%" align="center">
77
+ <h4>👨‍💻 For Developers</h4>
78
+ <p>Use community-powered code review personas and debugging skills. Share your language-specific optimizations.</p>
79
+ </td>
80
+ <td width="25%" align="center">
81
+ <h4>✍️ For Writers</h4>
82
+ <p>Access community-crafted writing styles and templates. Contribute your genre expertise.</p>
83
+ </td>
84
+ <td width="25%" align="center">
85
+ <h4>🎯 For Professionals</h4>
86
+ <p>Leverage community-built industry elements. Share your domain knowledge.</p>
87
+ </td>
88
+ <td width="25%" align="center">
89
+ <h4>🌟 For Everyone</h4>
90
+ <p>Give your AI any personality you want. Describe it, modify it, save it to your portfolio, share it with the world.</p>
91
+ </td>
92
+ </tr>
93
+ </table>
94
+
95
+ ### Get Started
96
+
97
+ ```bash
98
+ npm install @dollhousemcp/mcp-server
99
+ ```
100
+ See [Quick Start](#quick-start) for complete setup instructions.
101
+
102
+ ---
103
+
104
+ ## 🎯 Element Types: Available Now & Coming Soon
105
+
106
+ ### ✅ Available Now
107
+
108
+ <table>
109
+ <tr>
110
+ <td width="50%">
111
+
112
+ #### 🎭 Personas
113
+ Shape how your AI behaves and responds
114
+ - **Creative Writer** - Imaginative storyteller for engaging narratives
115
+ - **Business Consultant** - Strategic advisor for business decisions
116
+ - **Debug Detective** - Systematic problem-solver for code issues
117
+ - **Security Analyst** - Vulnerability assessment and threat analysis
118
+ - **Technical Analyst** - Deep dive technical documentation
119
+ - **Use**: `"Activate the creative writer persona"`
120
+
121
+ </td>
122
+ <td width="50%">
123
+
124
+ #### 💡 Skills
125
+ Add specialized capabilities your AI can use
126
+ - **Code Review** - Analyze code quality and suggest improvements
127
+ - **Data Analysis** - Statistical analysis and visualization
128
+ - **Language Translation** - Multi-language communication
129
+ - **API Integration** - Connect and interact with external services
130
+ - **Testing Automation** - Generate and run test suites
131
+ - **Use**: `"Enable the code review skill"`
132
+
133
+ </td>
134
+ </tr>
135
+ <tr>
136
+ <td width="50%">
137
+
138
+ #### 📝 Templates
139
+ Ensure consistent, high-quality outputs
140
+ - **Project Proposal** - Structured business proposals
141
+ - **Penetration Test Report** - Security assessment documentation
142
+ - **Meeting Notes** - Organized meeting summaries
143
+ - **Code Review** - Systematic code evaluation format
144
+ - **Documentation** - Technical documentation structure
145
+ - **Use**: `"Use the project proposal template"`
146
+
147
+ </td>
148
+ <td width="50%">
149
+
150
+ #### 🤖 Agents
151
+ Enable autonomous task completion
152
+ - **Code Reviewer** - Automated code quality assessment
153
+ - **Task Manager** - Project organization and tracking
154
+ - **Research Assistant** - Information gathering and synthesis
155
+ - **Academic Researcher** - Scholarly research and citations
156
+ - **Security Fix Specialist** - Vulnerability remediation
157
+ - **Use**: `"Run the code reviewer agent"`
158
+
159
+ </td>
160
+ </tr>
161
+ </table>
162
+
163
+ ### 🔄 Coming Soon
164
+
165
+ <table>
166
+ <tr>
167
+ <td width="50%">
168
+
169
+ #### 🧠 Memory
170
+ Persistent context across sessions
171
+ - **Project Context** - Remember project details and decisions
172
+ - **Learning Progress** - Track skill development over time
173
+ - **Personal Preferences** - Store user-specific settings
174
+ - **Conversation History** - Maintain dialogue continuity
175
+ - **Status**: Coming Soon
176
+
177
+ </td>
178
+ <td width="50%">
179
+
180
+ #### 🎯 Ensembles
181
+ Combine multiple elements as one unified entity
182
+ - **Full-Stack Developer** - Frontend + Backend + DevOps skills
183
+ - **Writing Suite** - Creative + Technical + Editorial capabilities
184
+ - **Security Team** - Analyst + Auditor + Remediation skills
185
+ - **Data Science Platform** - Analysis + Visualization + ML skills
186
+ - **Status**: Coming Soon
187
+
188
+ </td>
189
+ </tr>
190
+ <tr>
191
+ <td width="50%">
192
+
193
+ #### 🔧 Tools
194
+ External function calls and commands
195
+ - **Git Operations** - Version control management
196
+ - **Database Queries** - Direct database interaction
197
+ - **API Calls** - External service integration
198
+ - **File Operations** - Advanced file manipulation
199
+ - **Status**: Planned
200
+
201
+ </td>
202
+ <td width="50%">
203
+
204
+ #### 📋 Prompts
205
+ Reusable instruction sets
206
+ - **Code Review Checklist** - Systematic review steps
207
+ - **Security Audit Guide** - Vulnerability assessment process
208
+ - **Writing Guidelines** - Style and tone instructions
209
+ - **Debug Workflow** - Problem-solving methodology
210
+ - **Status**: Planned
211
+
212
+ </td>
213
+ </tr>
214
+ </table>
215
+
216
+ ## 💬 Natural Language Usage Examples
217
+
218
+ 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.
219
+
220
+ ### Importing from the Community Collection
221
+
222
+ **Natural Language Examples:**
223
+ - `"Show me all the personas in the Dollhouse Collection"`
224
+ - `"What creative writing personas are available?"`
225
+ - `"Install the storyteller persona from the collection"`
226
+ - `"Search for Python development skills"`
227
+ - `"Find templates for technical documentation"`
228
+
229
+ **Direct Commands (if you prefer):**
230
+ ```bash
231
+ browse_collection type="personas"
232
+ search_collection "creative writing"
233
+ install_content "personas/storyteller.md"
234
+ ```
235
+
236
+ ### Managing Your Portfolio
237
+
238
+ **Natural Language Examples:**
239
+ - `"What's in my portfolio?"`
240
+ - `"Show me all my custom personas"`
241
+ - `"Sync my portfolio with GitHub"`
242
+ - `"Create a backup of my elements"`
243
+ - `"Search my portfolio for marketing templates"`
244
+
245
+ **Direct Commands (if you prefer):**
246
+ ```bash
247
+ portfolio_status
248
+ list_elements type="personas"
249
+ sync_portfolio
250
+ search_portfolio "marketing"
251
+ ```
252
+
253
+ ### Working with Elements
254
+
255
+ **Natural Language Examples:**
256
+ - `"Activate the code reviewer persona"`
257
+ - `"What's currently active?"`
258
+ - `"Switch to creative writing mode"`
259
+ - `"Deactivate all elements"`
260
+ - `"Show me details about the data analyst skill"`
261
+ - `"Create a new persona for customer support"`
262
+ - `"Edit the email template to be more formal"`
263
+
264
+ **Direct Commands (if you prefer):**
265
+ ```bash
266
+ activate_element "code-reviewer" type="personas"
267
+ get_active_elements
268
+ deactivate_element type="personas"
269
+ get_element_details "data-analyst" type="skills"
270
+ create_element type="personas" name="customer-support"
271
+ ```
272
+
273
+ ### Complete Workflow Example
274
+
275
+ Here's how a typical session might look:
276
+
277
+ ```
278
+ You: "I need help with creative writing"
279
+ Assistant: "I'll help you with creative writing. Let me check what personas are available..."
280
+
281
+ You: "Show me creative writing personas in the collection"
282
+ Assistant: [Shows list of available creative writing personas]
283
+
284
+ You: "Install and activate the storyteller persona"
285
+ Assistant: "I've installed and activated the Storyteller persona. I'm now ready to help craft engaging narratives..."
286
+
287
+ You: "Actually, let me create my own persona for science fiction writing"
288
+ Assistant: "I'll help you create a custom science fiction writing persona. What characteristics would you like?"
289
+
290
+ You: "Make it focus on hard sci-fi with attention to scientific accuracy"
291
+ Assistant: [Creates custom persona with specified traits]
292
+
293
+ You: "Save that to my portfolio as 'Hard SciFi Writer'"
294
+ Assistant: "I've saved 'Hard SciFi Writer' to your portfolio. You can activate it anytime."
295
+ ```
296
+
297
+ ### Pro Tips
298
+
299
+ - **Be conversational**: `"Help me write better code"` works as well as specific commands
300
+ - **Stack elements**: `"Activate both the code reviewer and the Python expert"`
301
+ - **Save your favorites**: `"Save this configuration as my default setup"`
302
+ - **Share with others**: `"Submit my custom persona to the community collection"`
303
+
304
+ ## 🚀 Quick Start
305
+
306
+ ### Choose Your Installation Method
307
+
308
+ <table>
309
+ <tr>
310
+ <th>Method</th>
311
+ <th>Best For</th>
312
+ <th>Pros</th>
313
+ <th>Cons</th>
314
+ </tr>
315
+ <tr>
316
+ <td><strong>Local Install</strong><br>(Recommended)</td>
317
+ <td>Most users, multiple configs, customization</td>
318
+ <td>✅ Multiple setups<br>✅ Easy backup<br>✅ No permissions</td>
319
+ <td>❌ Longer path in config</td>
320
+ </tr>
321
+ <tr>
322
+ <td><strong>npx</strong></td>
323
+ <td>Quick testing, always latest</td>
324
+ <td>✅ No install<br>✅ Always updated</td>
325
+ <td>❌ Slower startup<br>❌ Needs internet</td>
326
+ </tr>
327
+ <tr>
328
+ <td><strong>Global Install</strong></td>
329
+ <td>Single shared instance</td>
330
+ <td>✅ Short command</td>
331
+ <td>❌ Only one version<br>❌ Needs sudo/admin</td>
332
+ </tr>
333
+ </table>
334
+
335
+ ---
336
+
337
+ ### Method 1: Local Installation (Recommended)
338
+
339
+ Create a dedicated folder for your MCP servers and install there:
340
+
341
+ ```bash
342
+ # Create MCP servers directory
343
+ mkdir ~/mcp-servers
344
+ cd ~/mcp-servers
345
+
346
+ # Install DollhouseMCP
347
+ npm install @dollhousemcp/mcp-server
348
+ ```
349
+
350
+ **Configure Claude Desktop:**
351
+
352
+ Add to your config file:
353
+ - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
354
+ - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
355
+ - **Linux**: `~/.config/Claude/claude_desktop_config.json`
356
+
357
+ ```json
358
+ {
359
+ "mcpServers": {
360
+ "dollhousemcp": {
361
+ "command": "node",
362
+ "args": ["/Users/YOUR_USERNAME/mcp-servers/node_modules/@dollhousemcp/mcp-server/dist/index.js"]
363
+ }
364
+ }
365
+ }
366
+ ```
367
+
368
+ 💡 **Pro tip**: Replace `/Users/YOUR_USERNAME` with your actual home directory path.
369
+
370
+ ---
371
+
372
+ ### Method 2: Always Latest with npx
373
+
374
+ No installation needed! Configure Claude Desktop to always use the latest version:
375
+
376
+ ```json
377
+ {
378
+ "mcpServers": {
379
+ "dollhousemcp": {
380
+ "command": "npx",
381
+ "args": ["@dollhousemcp/mcp-server@latest"]
382
+ }
383
+ }
384
+ }
385
+ ```
386
+
387
+ 📝 **Note**: The `@latest` tag ensures you always get the newest version. Remove it to use npm's cached version.
388
+
389
+ ---
390
+
391
+ ### Method 3: Global Installation
392
+
393
+ ```bash
394
+ # Install globally (may require sudo/admin)
395
+ npm install -g @dollhousemcp/mcp-server
396
+ ```
397
+
398
+ **Configure Claude Desktop:**
399
+
400
+ ```json
401
+ {
402
+ "mcpServers": {
403
+ "dollhousemcp": {
404
+ "command": "dollhousemcp"
405
+ }
406
+ }
407
+ }
408
+ ```
409
+
410
+ ⚠️ **Warning**: Only one version system-wide. Consider local installation for more flexibility.
411
+
412
+ ---
413
+
414
+ ### 🎯 Advanced: Multiple Configurations
415
+
416
+ Want separate portfolios for different contexts? Create multiple local installations:
417
+
418
+ ```bash
419
+ # Personal assistant
420
+ mkdir ~/mcp-servers/personal
421
+ cd ~/mcp-servers/personal
422
+ npm install @dollhousemcp/mcp-server
423
+
424
+ # Work assistant
425
+ mkdir ~/mcp-servers/work
426
+ cd ~/mcp-servers/work
427
+ npm install @dollhousemcp/mcp-server
428
+
429
+ # Creative writing
430
+ mkdir ~/mcp-servers/creative
431
+ cd ~/mcp-servers/creative
432
+ npm install @dollhousemcp/mcp-server
433
+ ```
434
+
435
+ **Configure each with its own portfolio:**
436
+
437
+ ```json
438
+ {
439
+ "mcpServers": {
440
+ "dollhouse-personal": {
441
+ "command": "node",
442
+ "args": ["/Users/YOU/mcp-servers/personal/node_modules/@dollhousemcp/mcp-server/dist/index.js"],
443
+ "env": {
444
+ "DOLLHOUSE_PORTFOLIO_DIR": "/Users/YOU/portfolios/personal"
445
+ }
446
+ },
447
+ "dollhouse-work": {
448
+ "command": "node",
449
+ "args": ["/Users/YOU/mcp-servers/work/node_modules/@dollhousemcp/mcp-server/dist/index.js"],
450
+ "env": {
451
+ "DOLLHOUSE_PORTFOLIO_DIR": "/Users/YOU/portfolios/work"
452
+ }
453
+ }
454
+ }
455
+ }
456
+ ```
457
+
458
+ Now you can enable/disable different configurations in Claude Desktop as needed!
459
+
460
+ ---
461
+
462
+ ### ✅ Verify Installation
463
+
464
+ After configuring and restarting Claude Desktop, test with:
465
+
466
+ ```
467
+ list_elements type="personas"
468
+ ```
469
+
470
+ You should see your available personas. If not, check the [Troubleshooting](#troubleshooting) section.
471
+
472
+ ---
473
+
474
+ ### 📁 Default Portfolio Location
475
+
476
+ By default, your elements are stored in:
477
+ - **macOS/Linux**: `~/.dollhouse/portfolio/`
478
+ - **Windows**: `%USERPROFILE%\.dollhouse\portfolio\`
479
+
480
+ Use the `DOLLHOUSE_PORTFOLIO_DIR` environment variable to customize this location.
481
+
482
+ ## 🎯 Getting Started
483
+
484
+ Once installed, try these commands in Claude:
485
+
486
+ ```bash
487
+ # Browse available personas
488
+ list_elements type="personas"
489
+
490
+ # Activate a persona
491
+ activate_element name="creative-writer" type="personas"
492
+
493
+ # Browse the community collection
494
+ browse_collection type="personas"
495
+
496
+ # Search for specific content
497
+ search_collection query="python" type="skills"
498
+ ```
499
+
500
+ > **📘 New User?** Follow our [Roundtrip Workflow Guide](docs/guides/ROUNDTRIP_WORKFLOW_USER_GUIDE.md) for a complete walkthrough of discovering, customizing, and sharing AI elements with the community.
501
+
502
+ ## ✨ Key Features
503
+
504
+ | Feature | Description |
505
+ |---------|-------------|
506
+ | 🎭 **41 MCP Tools** | Complete portfolio element management through chat interface |
507
+ | 🏪 **GitHub Collection** | Browse, search, install, and submit personas to community collection |
508
+ | 🔄 **Roundtrip Workflow** | Complete cycle: discover → customize → share → collaborate |
509
+ | 📁 **GitHub Portfolio** | Personal repository for storing and versioning your AI elements |
510
+ | 👤 **User Identity System** | Environment-based attribution for persona creators |
511
+ | 🆔 **Unique ID System** | Advanced ID generation: `{type}_{name}_{author}_{YYYYMMDD}-{HHMMSS}` |
512
+ | 💬 **Chat-Based Management** | Create, edit, and validate personas through conversational interface |
513
+ | 🔄 **Real-time Operations** | Live editing with automatic version bumping and validation |
514
+ | 📦 **NPM Installation** | Install MCP servers from npm with cross-platform support and atomic operations |
515
+ | 🛡️ **Data Protection** | Copy-on-write for default personas, comprehensive backup system |
516
+ | 🏠 **Local-First Architecture** | Full functionality without cloud dependency |
517
+
518
+ ## 🎨 Portfolio System
519
+
520
+ The DollhouseMCP Portfolio system provides a comprehensive framework for managing AI elements locally and in the cloud.
521
+
522
+ ### Portfolio Structure
523
+
524
+ Your portfolio is organized by element type:
525
+
526
+ ```
527
+ ~/.dollhouse/portfolio/
528
+ ├── personas/ # Behavioral profiles
529
+ ├── skills/ # Discrete capabilities
530
+ ├── templates/ # Reusable content structures
531
+ ├── agents/ # Goal-oriented actors
532
+ ├── memories/ # Persistent context
533
+ └── ensembles/ # Element combinations
534
+ ```
535
+
536
+ ### Key Features
537
+
538
+ - **Local-First Architecture**: All elements stored locally with optional cloud sync
539
+ - **GitHub Integration**: Sync your portfolio with GitHub for backup and sharing
540
+ - **Version Control**: Full git integration for tracking changes
541
+ - **Smart Detection**: Automatically identifies element types from content
542
+ - **Flexible Naming**: Use any naming convention you prefer
543
+
544
+ ### Portfolio Management Tools
545
+
546
+ Use the comprehensive set of MCP tools to manage your portfolio:
547
+
548
+ - `list_portfolio_elements` - View all elements across types
549
+ - `sync_portfolio` - Synchronize with GitHub
550
+ - `upload_to_portfolio` - Share elements with the community
551
+ - `download_from_portfolio` - Get elements from GitHub
552
+
553
+ For detailed portfolio documentation, see the [Portfolio Guide](docs/guides/PORTFOLIO_SETUP_GUIDE.md).
554
+
555
+ ## 🔒 Security
556
+
557
+ DollhouseMCP implements enterprise-grade security measures to protect your data and ensure safe operation.
558
+
559
+ ### Security Features
560
+
561
+ - **Input Sanitization**: All user inputs validated and sanitized
562
+ - **Path Traversal Prevention**: Filesystem access strictly controlled
563
+ - **YAML Injection Protection**: Safe parsing with validation
564
+ - **Command Injection Prevention**: No direct shell command execution
565
+ - **Token Encryption**: OAuth tokens encrypted at rest
566
+ - **Rate Limiting**: API calls throttled to prevent abuse
567
+ - **Audit Logging**: Security events tracked for analysis
568
+
569
+ ### Security Testing
570
+
571
+ - **Automated Security Scanning**: GitHub Advanced Security enabled
572
+ - **Dependency Scanning**: Automated vulnerability detection
573
+ - **Code Analysis**: Static analysis with CodeQL
574
+ - **Secret Scanning**: Prevents credential leaks
575
+
576
+ ### Reporting Security Issues
577
+
578
+ If you discover a security vulnerability, please:
579
+
580
+ 1. **DO NOT** create a public GitHub issue
581
+ 2. Open a private security advisory on GitHub
582
+ 3. Include steps to reproduce if possible
583
+ 4. Allow up to 48 hours for initial response
584
+
585
+ For more details, see our [Security Policy](SECURITY.md).
586
+
587
+ ## 🛠️ Development
588
+
589
+ ### Getting Started
590
+
591
+ ```bash
592
+ # Clone the repository
593
+ git clone https://github.com/DollhouseMCP/mcp-server.git
594
+ cd mcp-server
595
+
596
+ # Install dependencies
597
+ npm install
598
+
599
+ # Build the project
600
+ npm run build
601
+
602
+ # Run tests
603
+ npm test
604
+ ```
605
+
606
+ ### Development Workflow
607
+
608
+ 1. **Create Feature Branch**: `git checkout -b feature/your-feature`
609
+ 2. **Make Changes**: Implement your feature or fix
610
+ 3. **Run Tests**: `npm test`
611
+ 4. **Build**: `npm run build`
612
+ 5. **Submit PR**: Create pull request to develop branch
613
+
614
+ ### Available Scripts
615
+
616
+ - `npm run build` - Compile TypeScript
617
+ - `npm run dev` - Development mode with watch
618
+ - `npm test` - Run test suite
619
+ - `npm run lint` - Check code style
620
+ - `npm run typecheck` - TypeScript type checking
621
+
622
+ ### Project Structure
623
+
624
+ ```
625
+ src/
626
+ ├── index.ts # Main server entry
627
+ ├── tools/ # MCP tool implementations
628
+ ├── utils/ # Utility functions
629
+ ├── types/ # TypeScript definitions
630
+ └── elements/ # Element system
631
+ ```
632
+
633
+ For detailed development guides, see [Development Documentation](docs/development/).
634
+
635
+ ## 🏭 Architecture
636
+
637
+ ### System Overview
638
+
639
+ DollhouseMCP follows a modular, extensible architecture built on the Model Context Protocol (MCP) standard.
640
+
641
+ ### Core Components
642
+
643
+ #### MCP Server
644
+ - **Transport**: StdioServerTransport for Claude Desktop integration
645
+ - **Protocol**: JSON-RPC 2.0 communication
646
+ - **Tools**: 41 MCP tools for comprehensive functionality
647
+
648
+ #### Element System
649
+ - **BaseElement**: Abstract base class for all elements
650
+ - **IElement Interface**: Common contract for elements
651
+ - **Element Types**: Personas, Skills, Templates, Agents, Memories, Ensembles
652
+
653
+ #### Portfolio Manager
654
+ - **Local Storage**: File-based element storage
655
+ - **GitHub Sync**: Git-based synchronization
656
+ - **Version Control**: Full git integration
657
+
658
+ #### Security Layer
659
+ - **Input Validation**: All inputs sanitized
660
+ - **Path Security**: Traversal prevention
661
+ - **Token Management**: Encrypted storage
662
+
663
+ ### Data Flow
664
+
665
+ 1. **Client Request** → MCP Server
666
+ 2. **Tool Routing** → Appropriate handler
667
+ 3. **Element Processing** → Element system
668
+ 4. **Storage** → Portfolio manager
669
+ 5. **Response** → Client
670
+
671
+ For detailed architecture documentation, see [Architecture Guide](docs/ARCHITECTURE.md).
672
+
673
+ ## 🎯 Troubleshooting
674
+
675
+ ### Common Issues
676
+
677
+ #### MCP Server Not Connecting
678
+
679
+ **Symptoms**: Claude Desktop doesn't show DollhouseMCP in available servers
680
+
681
+ **Solutions**:
682
+ 1. Verify configuration file location:
683
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
684
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
685
+ 2. Check JSON syntax is valid
686
+ 3. Restart Claude Desktop after configuration changes
687
+
688
+ #### OAuth Authentication Fails
689
+
690
+ **Symptoms**: Cannot authenticate with GitHub
691
+
692
+ **Solutions**:
693
+ 1. Check internet connection
694
+ 2. Verify GitHub account has proper permissions
695
+ 3. Try using Personal Access Token instead:
696
+ ```bash
697
+ export GITHUB_TOKEN=your_pat_token
698
+ ```
699
+ 4. Clear cached credentials and retry
700
+
701
+ #### Elements Not Loading
702
+
703
+ **Symptoms**: Portfolio appears empty
704
+
705
+ **Solutions**:
706
+ 1. Check portfolio directory exists: `~/.dollhouse/portfolio/`
707
+ 2. Verify file permissions
708
+ 3. Run `list_portfolio_elements` tool to diagnose
709
+ 4. Check element file format (YAML frontmatter required)
710
+
711
+ #### Performance Issues
712
+
713
+ **Symptoms**: Slow response times
714
+
715
+ **Solutions**:
716
+ 1. Check portfolio size (large portfolios may be slow)
717
+ 2. Verify adequate system resources
718
+ 3. Consider using pagination for large lists
719
+ 4. Check network latency for GitHub operations
720
+
721
+ ### Getting Help
722
+
723
+ - **Documentation**: [Full docs](https://github.com/DollhouseMCP/mcp-server/tree/main/docs)
724
+ - **Issues**: [GitHub Issues](https://github.com/DollhouseMCP/mcp-server/issues)
725
+ - **Discussions**: [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
726
+
727
+ For detailed troubleshooting, see [Troubleshooting Guide](docs/troubleshooting/).
728
+
729
+ ## 🤝 Contributing
730
+
731
+ We welcome contributions to DollhouseMCP! Here's how you can help:
732
+
733
+ ### Ways to Contribute
734
+
735
+ - **🐛 Report Bugs**: Open an issue with reproduction steps
736
+ - **✨ Request Features**: Suggest new functionality
737
+ - **📝 Improve Documentation**: Fix typos, add examples
738
+ - **💻 Submit Code**: Fix bugs or implement features
739
+ - **🎨 Share Elements**: Contribute personas, skills, templates
740
+
741
+ ### Development Process
742
+
743
+ 1. **Fork the Repository**
744
+ ```bash
745
+ gh repo fork DollhouseMCP/mcp-server
746
+ ```
747
+
748
+ 2. **Create Feature Branch**
749
+ ```bash
750
+ git checkout -b feature/your-feature
751
+ ```
752
+
753
+ 3. **Make Changes**
754
+ - Follow existing code style
755
+ - Add tests for new functionality
756
+ - Update documentation
757
+
758
+ 4. **Test Thoroughly**
759
+ ```bash
760
+ npm test
761
+ npm run lint
762
+ npm run typecheck
763
+ ```
764
+
765
+ 5. **Submit Pull Request**
766
+ - Target the `develop` branch
767
+ - Provide clear description
768
+ - Reference any related issues
769
+
770
+ ### Code Style
771
+
772
+ - TypeScript with strict mode
773
+ - ESLint configuration provided
774
+ - Prettier for formatting
775
+ - Comprehensive JSDoc comments
776
+
777
+ ### Commit Messages
778
+
779
+ Follow conventional commits:
780
+ - `feat:` New feature
781
+ - `fix:` Bug fix
782
+ - `docs:` Documentation
783
+ - `test:` Testing
784
+ - `chore:` Maintenance
785
+
786
+ ### Review Process
787
+
788
+ 1. Automated CI checks must pass
789
+ 2. Code review by maintainers
790
+ 3. Address feedback
791
+ 4. Merge when approved
792
+
793
+ For detailed guidelines, see [CONTRIBUTING.md](CONTRIBUTING.md).
794
+
795
+ ## 📚 Resources
796
+
797
+ ### Documentation
798
+
799
+ - **[Quick Start Guide](docs/QUICK_START.md)** - Get up and running quickly
800
+ - **[Portfolio Setup](docs/guides/PORTFOLIO_SETUP_GUIDE.md)** - Configure your portfolio
801
+ - **[Element Development](docs/ELEMENT_DEVELOPER_GUIDE.md)** - Create custom elements
802
+ - **[API Reference](docs/API_REFERENCE.md)** - Complete tool documentation
803
+ - **[Architecture Guide](docs/ARCHITECTURE.md)** - System design details
804
+ - **[Security Documentation](docs/SECURITY.md)** - Security measures and best practices
805
+
806
+ ### Repositories
807
+
808
+ - **[Main Repository](https://github.com/DollhouseMCP/mcp-server)** - Core MCP server
809
+ - **[Collection](https://github.com/DollhouseMCP/collection)** - Community elements
810
+ - **[Developer Kit](https://github.com/DollhouseMCP/developer-kit)** - Development tools
811
+
812
+ ### Community
813
+
814
+ - **[GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)** - Q&A and ideas
815
+ - **[GitHub Issues](https://github.com/DollhouseMCP/mcp-server/issues)** - Bug reports and features
816
+ - **[Discord Server](#)** - Real-time chat (coming soon)
817
+
818
+ ### External Resources
819
+
820
+ - **[Model Context Protocol](https://modelcontextprotocol.io)** - MCP specification
821
+ - **[Claude Desktop](https://claude.ai/download)** - AI assistant with MCP support
822
+ - **[Anthropic Documentation](https://docs.anthropic.com)** - Claude documentation
823
+
824
+ ### Learning Materials
825
+
826
+ - **Tutorials** (coming soon)
827
+ - Building Your First Persona
828
+ - Creating Custom Skills
829
+ - Portfolio Management Best Practices
830
+ - GitHub Integration Setup
831
+
832
+ - **Videos** (coming soon)
833
+ - Installation Walkthrough
834
+ - Feature Demonstrations
835
+ - Developer Tutorials
836
+
837
+ ### Support
838
+
839
+ - **GitHub Issues**: [Report issues or request features](https://github.com/DollhouseMCP/mcp-server/issues)
840
+ - **Security Issues**: [Private security advisories](https://github.com/DollhouseMCP/mcp-server/security/advisories)
841
+ - **Discussions**: [Community Q&A](https://github.com/DollhouseMCP/mcp-server/discussions)
842
+
843
+ ## 🏷️ Version History
844
+
845
+ ### v1.6.11 - August 28, 2025
846
+
847
+ **Test Reliability & Collection Fixes**: Improved test suite stability and fixed collection system
848
+
849
+ #### 🔧 Bug Fixes
850
+ - **Collection Index URL**: Fixed to use GitHub Pages for better reliability
851
+ - **E2E Test Tokens**: Improved token prioritization for CI environments
852
+ - **Response Format**: Enhanced compatibility with various response formats
853
+ - **Type Safety**: Improved TypeScript types throughout test suite
854
+
855
+ #### ✨ Improvements
856
+ - Added helper functions for better code organization
857
+ - Enhanced test reliability in CI/CD pipelines
858
+ - General code quality improvements
859
+
860
+ ---
861
+
862
+ ### v1.6.10 - August 28, 2025
863
+
864
+ **Collection Submission Fix**: Critical fix for collection submission pipeline
865
+
866
+ #### 🔧 Bug Fixes
867
+ - **Collection Submission**: Fixed workflow failing due to missing element types
868
+ - **Local Path Parameter**: Added missing localPath parameter to submission tool
869
+ - **Duplicate Detection**: Added detection for duplicate portfolio uploads and collection issues
870
+
871
+ #### ✨ Improvements
872
+ - Added comprehensive QA tests for collection submission validation
873
+ - Cleaned up QA documentation files
874
+ - Updated all documentation to v1.6.10
875
+
876
+ ---
877
+
878
+ ### v1.6.9 - August 26, 2025
879
+
880
+ **Critical Fixes**: Fixed OAuth helper NPM packaging and performance testing workflow
881
+
882
+ #### 🔧 Bug Fixes
883
+ - **OAuth NPM Packaging**: Fixed missing `oauth-helper.mjs` file in NPM distribution
884
+ - File was present in repository but not included in published package
885
+ - OAuth authentication now works correctly for NPM users
886
+ - **Performance Tests**: Fixed CI workflow running all tests instead of performance tests
887
+ - Performance monitoring now works correctly in GitHub Actions
888
+
889
+ ---
890
+
891
+ ### v1.6.3 - August 25, 2025
892
+
893
+ **OAuth Authentication Fix**: Fixed invalid OAuth client ID and improved error handling
894
+
895
+ #### 🔧 Bug Fixes
896
+ - **OAuth Client ID**: Updated from incorrect ID to correct `Ov23li9gyNZP6m9aJ2EP`
897
+ - **Error Messages**: Improved clarity of OAuth error messages for better debugging
898
+ - **Setup Tool**: Fixed `setup_github_auth` tool to properly handle authentication flow
899
+
900
+ ---
901
+
902
+ ### v1.6.2 - August 25, 2025
903
+
904
+ **Critical Hotfix**: Fixed OAuth default client ID not being used in `setup_github_auth` tool
905
+
906
+ #### 🔧 Bug Fixes
907
+ - **OAuth Default Client**: Fixed `setup_github_auth` tool not using default client ID when none provided
908
+ - **Authentication Flow**: Restored ability to authenticate without manual client ID entry
909
+
910
+ #### 📝 Documentation
911
+ - Added troubleshooting guide for OAuth issues
912
+ - Updated setup instructions with clearer OAuth configuration steps
913
+
914
+ ---
915
+
916
+ ### v1.6.1 - August 25, 2025
917
+
918
+ **⚠️ Breaking Changes**:
919
+ - 🔄 **Serialization Format Change** - `BaseElement.serialize()` now returns markdown with YAML frontmatter instead of JSON
920
+
921
+ #### 🔧 Bug Fixes
922
+ - **Serialization Format**: Fixed `BaseElement.serialize()` to return markdown format
923
+ - Changed from JSON string to markdown with YAML frontmatter
924
+ - Maintains consistency with existing persona format
925
+ - Fixes portfolio round-trip workflow
926
+
927
+ #### ✨ Improvements
928
+ - **Code Quality**: Extracted validation methods into ValidationService
929
+ - **Error Handling**: Improved validation error messages with specific field information
930
+ - **Test Coverage**: Added comprehensive tests for markdown serialization
931
+
932
+ ---
933
+
934
+ ### v1.6.0 - August 25, 2025
935
+
936
+ **🚀 Major Release: Portfolio System & OAuth Integration**
937
+
938
+ This release introduces the complete portfolio management system with GitHub OAuth authentication, enabling secure cloud-based element synchronization and management.
939
+
940
+ #### ✨ New Features
941
+
942
+ ##### 🔐 GitHub OAuth Authentication
943
+ - **OAuth App Integration**: Full OAuth flow with GitHub for secure authentication
944
+ - **Personal Access Token Support**: Alternative authentication method for CI/CD
945
+ - **Token Management**: Secure storage and rotation of authentication tokens
946
+ - **Multi-Account Support**: Handle multiple GitHub accounts seamlessly
947
+
948
+ ##### 📦 Portfolio Management System
949
+ - **Cloud Sync**: Automatic synchronization between local and GitHub portfolios
950
+ - **Version Control**: Full git integration for portfolio elements
951
+ - **Conflict Resolution**: Smart merging of local and remote changes
952
+ - **Batch Operations**: Upload/download multiple elements efficiently
953
+
954
+ ##### 🛠️ New MCP Tools (42 total)
955
+ - `setup_github_auth`: Interactive GitHub OAuth setup
956
+ - `check_github_auth`: Verify authentication status
957
+ - `refresh_github_token`: Rotate OAuth tokens
958
+ - `sync_portfolio`: Bidirectional portfolio synchronization
959
+ - `upload_to_portfolio`: Upload local elements to GitHub
960
+ - `download_from_portfolio`: Download elements from GitHub
961
+ - `submit_to_portfolio`: Submit elements for review
962
+ - And 30 more tools for complete portfolio management
963
+
964
+ #### 🔧 Bug Fixes
965
+ - **Element Detection**: Fixed smart detection of element types
966
+ - **YAML Parsing**: Improved handling of complex YAML structures
967
+ - **Path Resolution**: Fixed Windows path compatibility issues
968
+ - **Token Security**: Enhanced token storage encryption
969
+
970
+ #### 📝 Documentation
971
+ - Comprehensive OAuth setup guide
972
+ - Portfolio management tutorials
973
+ - Troubleshooting guides for common issues
974
+ - API documentation for all new tools
975
+
976
+ #### 🔒 Security
977
+ - OAuth token encryption at rest
978
+ - Secure token transmission
979
+ - Rate limiting for API calls
980
+ - Audit logging for all operations
981
+
982
+ ---
983
+
984
+ For complete release history prior to v1.6.0, see the [GitHub Releases](https://github.com/DollhouseMCP/mcp-server/releases) page.
985
+
986
+ ## 📜 License
987
+
988
+ This project is licensed under the **GNU Affero General Public License v3.0 (AGPL-3.0)** with Platform Stability Commitments.
989
+
990
+ ### What This Means
991
+
992
+ #### ✅ You CAN:
993
+ - Use the software for personal projects
994
+ - Use the software for commercial projects
995
+ - Modify the source code
996
+ - Distribute the software
997
+ - Use personas and elements you create
998
+
999
+ #### ⚠️ You MUST:
1000
+ - Include the license and copyright notice
1001
+ - State changes made to the code
1002
+ - Disclose your source code when distributing
1003
+ - Use the same AGPL-3.0 license for derivatives
1004
+ - **Make network use source available** (AGPL requirement)
1005
+
1006
+ #### ❌ You CANNOT:
1007
+ - Hold us liable for damages
1008
+ - Use our trademarks without permission
1009
+ - Claim warranty or guarantee of fitness
1010
+ - Resell commercially
1011
+
1012
+ ### Platform Stability Commitments
1013
+
1014
+ We provide additional guarantees beyond the AGPL-3.0:
1015
+
1016
+ - **90-day advance notice** for monetization policy changes
1017
+ - **12-month revenue sharing locks** for content creators
1018
+ - **Full data portability** - export all your content anytime
1019
+ - **180-day transition period** for platform ownership changes
1020
+ - **Community advisory input** on major policy decisions
1021
+
1022
+ ### Contributor License Agreement
1023
+
1024
+ By contributing to DollhouseMCP, you agree that:
1025
+
1026
+ 1. You have the right to grant us license to your contribution
1027
+ 2. Your contribution is licensed under AGPL-3.0
1028
+ 3. You grant us additional rights to use your contribution in our commercial offerings
1029
+ 4. You retain copyright to your contribution
1030
+
1031
+ For the complete license text, see [LICENSE](LICENSE).
1032
+
1033
+ ### Questions?
1034
+
1035
+ If you have questions about the license or what you can do with DollhouseMCP:
1036
+
1037
+ - **Documentation**: [License FAQ](docs/LICENSE_FAQ.md)
1038
+ - **GitHub Issue**: Open an issue with the `license` label
1039
+ - **Discussions**: Ask in [GitHub Discussions](https://github.com/DollhouseMCP/mcp-server/discussions)
1040
+
1041
+ ---
1042
+
1043
+ *Copyright © 2025 DollhouseMCP. All rights reserved.*