Skip to main content
Glama

update-embed-item

Modify an existing embed item on a Miro board by updating its configuration, position, or dimensions.

Instructions

Update an existing embed item on a Miro board

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
boardIdYesUnique identifier (ID) of the board that contains the embed
itemIdYesUnique identifier (ID) of the embed that you want to update
dataNoThe updated configuration of the embed
positionNoUpdated position of the embed on the board
geometryNoUpdated dimensions of the embed

Implementation Reference

  • The handler function that executes the tool logic by validating inputs and calling MiroClient.getApi().updateEmbedItem to update the embed item.
    fn: async ({ boardId, itemId, data, position, geometry }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } if (!itemId) { return ServerResponse.error("Item ID is required"); } const updateRequest: Record<string, any> = {}; if (data) { updateRequest.data = data; } if (position) { updateRequest.position = position; } if (geometry) { updateRequest.geometry = geometry; } const result = await MiroClient.getApi().updateEmbedItem(boardId, itemId, updateRequest); return ServerResponse.text(JSON.stringify(result, null, 2)); } catch (error) { return ServerResponse.error(error); } }
  • Zod schema defining the input parameters for the tool: boardId, itemId, data, position, and geometry with validation rules.
    args: { boardId: z.string().describe("Unique identifier (ID) of the board that contains the embed"), itemId: z.string().describe("Unique identifier (ID) of the embed that you want to update"), data: z.object({ mode: z.string().optional().nullish().describe("Updated mode of the embed (normal, inline, etc.)") }).optional().nullish().describe("The updated configuration of the embed"), position: z.object({ x: z.number().describe("Updated X coordinate of the embed"), y: z.number().describe("Updated Y coordinate of the embed"), origin: z.string().optional().nullish().describe("Origin of the embed (center, top-left, etc.)"), relativeTo: z.string().optional().nullish().describe("Reference point (canvas_center, etc.)") }).optional().nullish().describe("Updated position of the embed on the board"), geometry: z.object({ width: z.number().optional().nullish().describe("Updated width of the embed"), height: z.number().optional().nullish().describe("Updated height of the embed") }) .optional().nullish() .refine(data => !data || data.width !== undefined || data.height !== undefined, { message: "Either width or height must be provided if geometry is set" }) .refine(data => !data || !(data.width !== undefined && data.height !== undefined), { message: "Only one of width or height should be provided for items with fixed aspect ratio" }) .describe("Updated dimensions of the embed") },
  • src/index.ts:163-163 (registration)
    Registration of the updateEmbedItemTool with the ToolBootstrapper server.
    .register(updateEmbedItemTool)
  • src/index.ts:63-63 (registration)
    Import of the updateEmbedItemTool for registration.
    import updateEmbedItemTool from './tools/updateEmbedItem.js';
Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/k-jarzyna/mcp-miro'

If you have feedback or need assistance with the MCP directory API, please join our Discord server