ungroup-items
Uncluster items in a specific group on a Miro board by separating them into individual elements, with an option to remove the group's items permanently.
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 | |
| deleteItems | No | Indicates whether the items should be removed. By default, false. | |
| groupId | Yes | ID of the group that you want to ungroup |
Implementation Reference
- src/tools/ungroupItems.ts:14-34 (handler)The asynchronous handler function that validates inputs, calls MiroClient.getApi().unGroup to ungroup the items, and returns a 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)Zod-based input schema defining required boardId and groupId strings, and optional boolean deleteItems.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)
- src/index.ts:82-82 (registration)Imports the ungroup-items tool definition for registration.import ungroupItemsTool from './tools/ungroupItems.js';