Skip to main content
Glama

copy-board

Duplicate a Miro board with customizable settings like name, description, and sharing policy. Assign the copied board to a specified team for collaboration.

Instructions

Create a copy of an existing Miro board with optional new settings

Input Schema

NameRequiredDescriptionDefault
copyFromYesUnique identifier (ID) of the board that you want to copy
descriptionNoDescription for the new copied board
nameNoName for the new copied board
sharingPolicyNoSharing policy for the new copied board
teamIdNoTeam ID to assign the new copied board to

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "copyFrom": { "description": "Unique identifier (ID) of the board that you want to copy", "type": "string" }, "description": { "description": "Description for the new copied board", "type": "string" }, "name": { "description": "Name for the new copied board", "type": "string" }, "sharingPolicy": { "description": "Sharing policy for the new copied board", "enum": [ "private", "view", "comment", "edit" ], "type": "string" }, "teamId": { "description": "Team ID to assign the new copied board to", "type": "string" } }, "required": [ "copyFrom" ], "type": "object" }

Implementation Reference

  • The handler function executing the copy-board tool logic, copying a Miro board with optional new name, description, sharing policy, and team ID.
    fn: async ({ copyFrom, name, description, sharingPolicy, teamId }) => { try { if (!copyFrom) { return ServerResponse.error("Source board ID is required"); } const copyBoardChanges = {}; if (name) copyBoardChanges['name'] = name; if (description !== undefined) copyBoardChanges['description'] = description; if (sharingPolicy) copyBoardChanges['sharingPolicy'] = { access: sharingPolicy }; if (teamId) copyBoardChanges['teamId'] = teamId; const boardData = await MiroClient.getApi().copyBoard(copyFrom, copyBoardChanges); return ServerResponse.text(JSON.stringify(boardData, null, 2)); } catch (error) { process.stderr.write(`Error copying Miro board: ${error}\n`); return ServerResponse.error(error); } }
  • The ToolSchema definition including name, description, and Zod input schema for the copy-board tool.
    const copyBoardTool: ToolSchema = { name: "copy-board", description: "Create a copy of an existing Miro board with optional new settings", args: { copyFrom: z.string().describe("Unique identifier (ID) of the board that you want to copy"), name: z.string().optional().nullish().describe("Name for the new copied board"), description: z.string().optional().nullish().describe("Description for the new copied board"), sharingPolicy: z.enum(['private', 'view', 'comment', 'edit']).optional().nullish().describe("Sharing policy for the new copied board"), teamId: z.string().optional().nullish().describe("Team ID to assign the new copied board to") },
  • src/index.ts:115-115 (registration)
    Registers the copyBoardTool in the ToolBootstrapper chain.
    .register(copyBoardTool)

Other Tools

Related 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