Skip to main content
Glama

Miro MCP

by k-jarzyna
updateImageItemUsingFileFromDevice.ts3.04 kB
import MiroClient from '../client.js'; import { z } from 'zod'; import { ServerResponse } from '../server-response.js'; import { ToolSchema } from '../tool.js'; import { UploadFileFromDeviceData } from '@mirohq/miro-api/dist/model/uploadFileFromDeviceData.js'; import { RequestFile } from '@mirohq/miro-api/dist/model/models.js'; import * as fs from 'fs'; import FormData from 'form-data'; const updateImageItemUsingFileFromDeviceTool: ToolSchema = { name: "update-image-item-using-file", description: "Update an existing image item on a Miro board using file from device", args: { boardId: z.string().describe("Unique identifier (ID) of the board where you want to update the item"), itemId: z.string().describe("Unique identifier (ID) of the image that you want to update"), filePath: z.string().describe("Path to the new image file on the device"), title: z.string().optional().nullish().describe("Updated title of the image"), position: z.object({ x: z.number().optional().nullish().describe("Updated X coordinate of the image"), y: z.number().optional().nullish().describe("Updated Y coordinate of the image"), origin: z.string().optional().nullish().describe("Updated origin of the image (center, top-left, etc.)"), relativeTo: z.string().optional().nullish().describe("Updated reference point (canvas_center, etc.)") }).optional().nullish().describe("Updated position of the image on the board") }, fn: async ({ boardId, itemId, filePath, title, position }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } if (!itemId) { return ServerResponse.error("Item ID is required"); } if (!filePath) { return ServerResponse.error("File path is required"); } // Implementacja aktualizacji obrazu z pliku lokalnego nie jest możliwa bezpośrednio w MCP // ponieważ wymaga dostępu do systemu plików klienta oraz konstruktora FormData const instructionsForUser = { message: "Aktualizacja obrazu z pliku lokalnego nie jest obecnie obsługiwana bezpośrednio w MCP Miro.", alternatives: [ "1. Użyj funkcji 'update-image-item' z URL do obrazu.", "2. Alternatywnie, możesz użyć bezpośrednio API Miro przez SDK lub żądania HTTP:", " - Utwórz formularz FormData", " - Dodaj plik do formularza", " - Wyślij żądanie PATCH do https://api.miro.com/v2/boards/{boardId}/images/{itemId}", " - Dodaj nagłówek 'Content-Type: multipart/form-data' oraz token autoryzacyjny" ], documentation: "Więcej informacji znajdziesz w dokumentacji API Miro: https://developers.miro.com/reference/update-image-item-using-file-from-device" }; return ServerResponse.text(JSON.stringify(instructionsForUser, null, 2)); } catch (error) { return ServerResponse.error(error); } } } export default updateImageItemUsingFileFromDeviceTool;

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