create-board
Create a new Miro board by specifying a name, description, sharing policies, and team ID to organize collaborative workspaces effectively.
Instructions
Create a new Miro board with specified name and sharing policies
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| description | No | Description of the board | |
| name | Yes | Name of the board to create | |
| sharingPolicy | No | Sharing policy for the board | |
| teamId | No | Team ID to assign the board to |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"description": {
"description": "Description of the board",
"type": "string"
},
"name": {
"description": "Name of the board to create",
"type": "string"
},
"sharingPolicy": {
"description": "Sharing policy for the board",
"enum": [
"private",
"view",
"comment",
"edit"
],
"type": "string"
},
"teamId": {
"description": "Team ID to assign the board to",
"type": "string"
}
},
"required": [
"name"
],
"type": "object"
}
Implementation Reference
- src/tools/createBoard.ts:15-37 (handler)The asynchronous handler function that executes the tool logic: validates input, constructs board changes, calls MiroClient API to create board, and returns the result or error.fn: async ({ name, description, sharingPolicy, teamId }) => { try { if (!name) { return ServerResponse.error("Board name is required"); } const boardChanges = { name, description, sharingPolicy: { access: sharingPolicy || 'private' }, teamId }; const boardData = await MiroClient.getApi().createBoard(boardChanges); return ServerResponse.text(JSON.stringify(boardData, null, 2)); } catch (error) { process.stderr.write(`Error creating Miro board: ${error}\n`); return ServerResponse.error(error); } }
- src/tools/createBoard.ts:6-14 (schema)Defines the ToolSchema for 'create-board' including name, description, and Zod-validated input arguments schema.const createBoardTool: ToolSchema = { name: "create-board", description: "Create a new Miro board with specified name and sharing policies", args: { name: z.string().describe("Name of the board to create"), description: z.string().optional().nullish().describe("Description of the board"), sharingPolicy: z.enum(['private', 'view', 'comment', 'edit']).optional().nullish().describe("Sharing policy for the board"), teamId: z.string().optional().nullish().describe("Team ID to assign the board to") },
- src/index.ts:112-112 (registration)Registers the createBoardTool instance with the ToolBootstrapper in the main server index file..register(createBoardTool)