create_element
Defines and generates a new custom element for AI persona management, including personas, skills, templates, and more, on the DollhouseMCP server. Specify name, type, description, and optional content or metadata.
Instructions
Create a new element of any type
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| content | No | Element content (required for some types) | |
| description | Yes | Element description | |
| metadata | No | Additional metadata specific to element type | |
| name | Yes | The element name | |
| type | Yes | The element type |
Implementation Reference
- src/server/tools/ElementTools.ts:243-276 (handler)MCP tool 'create_element' handler implementation - thin wrapper that delegates to server.createElement(args) with typed arguments. Includes input schema validation.tool: { name: "create_element", description: "Create a new element of any type", inputSchema: { type: "object", properties: { name: { type: "string", description: "The element name", }, type: { type: "string", description: "The element type", enum: Object.values(ElementType), }, description: { type: "string", description: "Element description", }, content: { type: "string", description: "Element content (required for some types)", }, metadata: { type: "object", description: "Additional metadata specific to element type", additionalProperties: true, }, }, required: ["name", "type", "description"], }, }, handler: (args: CreateElementArgs) => server.createElement(args) },
- TypeScript interface defining the input parameters for the create_element tool.interface CreateElementArgs { name: string; description: string; type: string; content?: string; metadata?: Record<string, any>; }
- src/server/ServerSetup.ts:52-53 (registration)Registers all element tools, including 'create_element', by calling getElementTools and registering with ToolRegistry.// Register element tools (new generic tools for all element types) this.toolRegistry.registerMany(getElementTools(instance));
- src/server/ServerSetup.ts:9-9 (registration)Imports the getElementTools function used to register the create_element tool.import { getElementTools } from './tools/ElementTools.js';
- src/server/types.ts:24-24 (schema)IToolHandler interface defining the createElement method signature used by the tool handler.createElement(args: {name: string; type: string; description: string; content?: string; metadata?: Record<string, any>}): Promise<any>;