update-board-member
Modify a member's role or status on a specific Miro board by providing the board ID, member ID, and updated role or status values.
Instructions
Update a specific member's role or status on a Miro board
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| boardId | Yes | ID of the board | |
| memberId | Yes | ID of the board member to update | |
| role | No | New role for the board member | |
| status | No | New status for the board member |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"boardId": {
"description": "ID of the board",
"type": "string"
},
"memberId": {
"description": "ID of the board member to update",
"type": "string"
},
"role": {
"description": "New role for the board member",
"enum": [
"member",
"admin",
"owner"
],
"type": "string"
},
"status": {
"description": "New status for the board member",
"enum": [
"active",
"pending",
"blocked"
],
"type": "string"
}
},
"required": [
"boardId",
"memberId"
],
"type": "object"
}
Implementation Reference
- src/tools/updateBoardMember.ts:15-40 (handler)The asynchronous handler function that implements the core logic for updating a board member's role or status using the Miro API. It includes input validation and error handling.fn: async ({ boardId, memberId, role, status }) => { try { if (!boardId) { return ServerResponse.error("Board ID is required"); } if (!memberId) { return ServerResponse.error("Member ID is required"); } if (!role && !status) { return ServerResponse.error("At least one of role or status must be provided"); } const memberChanges: any = {}; if (role) memberChanges.role = role; if (status) memberChanges.status = status; const result = await MiroClient.getApi().updateBoardMember(boardId, memberId, memberChanges); return ServerResponse.text(JSON.stringify(result, null, 2)); } catch (error) { process.stderr.write(`Error updating board member: ${error}\n`); return ServerResponse.error(error); } }
- src/tools/updateBoardMember.ts:9-14 (schema)Zod-based input schema defining the required and optional parameters for the tool: boardId, memberId, role, and status.args: { boardId: z.string().describe("ID of the board"), memberId: z.string().describe("ID of the board member to update"), role: z.enum(['member', 'admin', 'owner']).optional().nullish().describe("New role for the board member"), status: z.enum(['active', 'pending', 'blocked']).optional().nullish().describe("New status for the board member") },
- src/index.ts:177-177 (registration)Registers the update-board-member tool with the ToolBootstrapper instance in the main server setup..register(updateBoardMemberTool)