Skip to main content
Glama

update-card-item

Modify card details on Miro boards by updating titles, descriptions, assignees, due dates, positions, dimensions, or styles.

Instructions

Update an existing card item on a Miro board

Input Schema

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

Implementation Reference

  • The main handler function that executes the tool logic: validates inputs, constructs CardUpdateRequest, calls MiroClient.updateCardItem API, and returns formatted response or error.
    fn: async ({ boardId, itemId, data, position, geometry, style }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } if (!itemId) { return ServerResponse.error("Item ID is required"); } const updateData = new CardUpdateRequest(); if (data) { const cardData = new CardData(); if (data.title !== undefined) cardData.title = data.title; if (data.description !== undefined) cardData.description = data.description; if (data.assigneeId !== undefined) cardData.assigneeId = data.assigneeId; if (data.dueDate !== undefined) { cardData.dueDate = new Date(data.dueDate); } updateData.data = cardData; } if (position) { updateData.position = position; } if (geometry) { updateData.geometry = geometry; } if (style) { updateData.style = style; } const result = await MiroClient.getApi().updateCardItem(boardId, itemId, updateData); return ServerResponse.text(JSON.stringify(result, null, 2)); } catch (error) { return ServerResponse.error(error); } }
  • Zod-based input schema defining parameters for boardId, itemId, optional data (title, description, etc.), position, geometry, and style.
    args: { boardId: z.string().describe("Unique identifier (ID) of the board that contains the card"), itemId: z.string().describe("Unique identifier (ID) of the card that you want to update"), data: z.object({ title: z.string().optional().nullish().describe("Updated title of the card"), description: z.string().optional().nullish().describe("Updated description of the card"), assigneeId: z.string().optional().nullish().describe("Updated user ID of the assignee"), dueDate: z.string().optional().nullish().describe("Updated due date for the card (ISO 8601 format)") }).optional().nullish().describe("The updated content and configuration of the card"), position: z.object({ x: z.number().describe("Updated X coordinate of the card"), y: z.number().describe("Updated Y coordinate of the card") }).optional().nullish().describe("Updated position of the card on the board"), geometry: z.object({ width: z.number().optional().nullish().describe("Updated width of the card"), height: z.number().optional().nullish().describe("Updated height of the card"), rotation: z.number().optional().nullish().describe("Updated rotation angle of the card") }).optional().nullish().describe("Updated dimensions of the card"), style: z.object({ cardTheme: z.string().optional().nullish().describe("Updated color of the card") }).optional().nullish().describe("Updated style configuration of the card") },
  • src/index.ts:127-127 (registration)
    Registration of the updateCardItemTool in the ToolBootstrapper instance to make it available to the MCP server.
    .register(updateCardItemTool)
  • src/index.ts:26-26 (registration)
    Import statement loading the tool definition from its source file.
    import updateCardItemTool from './tools/updateCardItem.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