delete_element
Remove specific elements from a Revit model by specifying their element IDs, streamlining model cleanup and updates using the Revit MCP Server.
Instructions
Delete one or more elements from the Revit model by their element IDs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| elementIds | Yes | The IDs of the elements to delete |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"elementIds": {
"description": "The IDs of the elements to delete",
"items": {
"type": "string"
},
"type": "array"
}
},
"required": [
"elementIds"
],
"type": "object"
}
Implementation Reference
- src/tools/delete_element.ts:14-44 (handler)The handler function for the 'delete_element' MCP tool. It takes elementIds, sends a delete_element command to the Revit client, and returns the response as text or an error message.async (args, extra) => { const params = { elementIds: args.elementIds, }; try { const response = await withRevitConnection(async (revitClient) => { return await revitClient.sendCommand("delete_element", params); }); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `delete element failed: ${ error instanceof Error ? error.message : String(error) }`, }, ], }; } }
- src/tools/delete_element.ts:9-13 (schema)Input schema using Zod: an array of strings for elementIds.{ elementIds: z .array(z.string()) .describe("The IDs of the elements to delete"), },
- src/tools/delete_element.ts:5-46 (registration)The registration function for the 'delete_element' tool, called dynamically by src/tools/register.ts. It registers the tool name, description, schema, and handler on the MCP server.export function registerDeleteElementTool(server: McpServer) { server.tool( "delete_element", "Delete one or more elements from the Revit model by their element IDs.", { elementIds: z .array(z.string()) .describe("The IDs of the elements to delete"), }, async (args, extra) => { const params = { elementIds: args.elementIds, }; try { const response = await withRevitConnection(async (revitClient) => { return await revitClient.sendCommand("delete_element", params); }); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } catch (error) { return { content: [ { type: "text", text: `delete element failed: ${ error instanceof Error ? error.message : String(error) }`, }, ], }; } } ); }