ungroup-items
Break apart grouped items on a Miro board to edit or reposition individual elements separately.
Instructions
Ungroup a specific group on a Miro board
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | ID of the board that contains the group | |
| groupId | Yes | ID of the group that you want to ungroup | |
| deleteItems | No | Indicates whether the items should be removed. By default, false. |
Implementation Reference
- src/tools/ungroupItems.ts:14-34 (handler)The handler function that executes the tool logic: validates boardId and groupId, optionally sets deleteItems, calls MiroClient.getApi().unGroup(), and returns success or error response.fn: async ({ boardId, groupId, deleteItems }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } if (!groupId) { return ServerResponse.error("Group ID is required"); } const options: any = {}; if (deleteItems !== undefined) options.deleteItems = deleteItems; await MiroClient.getApi().unGroup(boardId, groupId, options); return ServerResponse.text(JSON.stringify({ success: true, message: "Group successfully ungrouped" }, null, 2)); } catch (error) { process.stderr.write(`Error ungrouping items: ${error}\n`); return ServerResponse.error(error); } }
- src/tools/ungroupItems.ts:10-13 (schema)Input schema defined using Zod for the tool parameters: boardId (string, required), groupId (string, required), deleteItems (boolean, optional).boardId: z.string().describe("ID of the board that contains the group"), groupId: z.string().describe("ID of the group that you want to ungroup"), deleteItems: z.boolean().optional().nullish().describe("Indicates whether the items should be removed. By default, false.") },
- src/index.ts:183-183 (registration)Registers the ungroupItemsTool with the ToolBootstrapper instance..register(ungroupItemsTool)