Skip to main content
Glama

DollhouseMCP

by DollhouseMCP
EDIT_PERSONA_INVESTIGATION.md2.2 kB
# Edit Persona Investigation - July 8, 2025 ## Summary of Findings ### Initial Confusion - Initially couldn't find `edit_persona` implementation - Multiple references to it in help text suggested it should exist - Discovered the modular structure with tools defined in `src/server/tools/` ### Actual Status 1. **edit_persona IS implemented** - Defined in `src/server/tools/PersonaTools.ts` (lines 129-151) - Implementation in `src/index.ts` (lines 785-900) - Fully functional with proper parameters 2. **Current Behavior** - Modifies persona files IN PLACE - Updates metadata fields or instructions - Automatically increments version numbers - Reloads personas after editing 3. **The Critical Flaw** - NO protection for default personas - Directly modifies files like `creative-writer.md` - Creates git conflicts on updates - User changes may be lost when pulling updates ## Risk Analysis ### Safe Scenarios - Using `create_persona` - Always creates new files with unique names - Editing user-created personas - No git conflict risk ### Risky Scenarios - Using `edit_persona` on default personas - Direct modification - Manual editing of default persona files - Same risk ## Recommended Solution When `edit_persona` is called on a default persona: 1. Check if the file is in the DEFAULT_PERSONAS list 2. If yes, create a copy with a unique filename 3. Edit the copy instead of the original 4. Inform the user a copy was created ## Code References ### Tool Definition - File: `src/server/tools/PersonaTools.ts:129-151` ### Implementation - File: `src/index.ts:785-900` ### Missing Protection - No check for default personas - No copy-on-write behavior - Direct file modification ## Action Items 1. **Issue #145** - Updated to reflect actual problem (not missing, but flawed) 2. **Issue #144** - Backup system should include all personas 3. **Issue #146** - Continue API audit to find other issues ## Lessons Learned 1. Always check modular structure - tools may be defined separately 2. Test actual behavior, not just code presence 3. Default content protection is critical for updatable systems 4. Copy-on-write pattern should be used for system files

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/DollhouseMCP/DollhouseMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server