edit_element
Modify specific fields of personas, skills, templates, agents, memories, or ensembles in DollhouseMCP. Update details like descriptions, metadata, or content to customize AI behaviors effectively.
Instructions
Edit an existing element of any type
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| field | Yes | The field to edit (e.g., 'description', 'metadata.author', 'content') | |
| name | Yes | The element name to edit | |
| type | Yes | The element type | |
| value | Yes | The new value for the field |
Implementation Reference
- src/server/tools/ElementTools.ts:278-313 (registration)Registration of the 'edit_element' tool, including name, description, input schema, and handler that delegates to server.editElement(args){ tool: { name: "edit_element", description: "Edit an existing element of any type", inputSchema: { type: "object", properties: { name: { type: "string", description: "The element name to edit", }, type: { type: "string", description: "The element type", enum: Object.values(ElementType), }, field: { type: "string", description: "The field to edit (e.g., 'description', 'metadata.author', 'content')", }, value: { description: "The new value for the field", oneOf: [ { type: "string" }, { type: "number" }, { type: "boolean" }, { type: "object" }, { type: "array" }, ], }, }, required: ["name", "type", "field", "value"], }, }, handler: (args: EditElementArgs) => server.editElement(args) },
- TypeScript interface defining the input arguments for the edit_element toolinterface EditElementArgs { name: string; type: string; field: string; value: any; }
- src/server/types.ts:25-25 (schema)Interface definition for the server.editElement method called by the tool handlereditElement(args: {name: string; type: string; field: string; value: any}): Promise<any>;
- src/server/ServerSetup.ts:52-54 (registration)Main tool registry registration that includes the edit_element tool via getElementTools(instance)// Register element tools (new generic tools for all element types) this.toolRegistry.registerMany(getElementTools(instance));
- src/server/tools/ElementTools.ts:312-312 (handler)The handler function that executes the tool logic by calling server.editElement with the provided argumentshandler: (args: EditElementArgs) => server.editElement(args)