share-board
Share Miro boards with specific access levels and optionally assign them to teams. Define permissions like private, view, comment, or edit to control collaboration effectively.
Instructions
Share a Miro board with specific access level and optional team assignment
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| accessLevel | Yes | Access level for shared board | |
| boardId | Yes | ID of the board to share | |
| teamId | No | Team ID to assign the board to |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"accessLevel": {
"description": "Access level for shared board",
"enum": [
"private",
"view",
"comment",
"edit"
],
"type": "string"
},
"boardId": {
"description": "ID of the board to share",
"type": "string"
},
"teamId": {
"description": "Team ID to assign the board to",
"type": "string"
}
},
"required": [
"boardId",
"accessLevel"
],
"type": "object"
}
Implementation Reference
- src/tools/shareBoard.ts:14-34 (handler)The asynchronous function implementing the core logic of the 'share-board' tool. It updates the Miro board's sharing policy with the specified access level and optional team ID using the MiroClient API.fn: async ({ boardId, accessLevel, teamId }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } const boardChanges = { sharingPolicy: { access: accessLevel }, teamId }; const result = await MiroClient.getApi().updateBoard(boardId, boardChanges); return ServerResponse.text(JSON.stringify(result, null, 2)); } catch (error) { process.stderr.write(`Error sharing Miro board: ${error}\n`); return ServerResponse.error(error); } }
- src/tools/shareBoard.ts:6-13 (schema)The ToolSchema definition for the 'share-board' tool, including the name, description, and Zod-based input schema for validation.const shareBoardTool: ToolSchema = { name: "share-board", description: "Share a Miro board with specific access level and optional team assignment", args: { boardId: z.string().describe("ID of the board to share"), accessLevel: z.enum(['private', 'view', 'comment', 'edit']).describe("Access level for shared board"), teamId: z.string().optional().nullish().describe("Team ID to assign the board to"), },
- src/index.ts:176-176 (registration)Registration of the 'share-board' tool on the ToolBootstrapper instance..register(shareBoardTool)
- src/index.ts:76-76 (registration)Import statement for the 'share-board' tool module.import shareBoardTool from './tools/shareBoard.js';