get-organization-members
Retrieve and filter members of a Miro organization by role, license, active status, or email. Supports pagination for managing large datasets efficiently.
Instructions
Retrieves a list of members for an organization (Enterprise only)
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| active | No | Filter by active status | |
| cursor | No | Cursor for pagination | |
| emails | No | Filter by comma-separated email addresses | |
| license | No | Filter by license type | |
| limit | No | Maximum number of results to return | |
| orgId | Yes | id of the organization | |
| role | No | Filter by user role |
Implementation Reference
- Handler function that constructs query parameters and fetches organization members using MiroClient API, formats and returns the response or error.fn: async ({ orgId, emails, role, license, active, cursor, limit }) => { try { const query: any = {}; if (emails) query.emails = emails; if (role) query.role = role; if (license) query.license = license; if (active !== undefined) query.active = active; if (cursor) query.cursor = cursor; if (limit) query.limit = limit; const response = await MiroClient.getApi().enterpriseGetOrganizationMembers(orgId, query); return ServerResponse.text(JSON.stringify(response.body, null, 2)); } catch (error) { process.stderr.write(`Error retrieving organization members: ${error}\n`); return ServerResponse.error(error); } }
- Zod-based input schema defining parameters for filtering and paginating organization members.args: { orgId: z.string().describe("id of the organization"), emails: z.string().optional().nullish().describe("Filter by comma-separated email addresses"), role: z.enum(['organization_internal_admin', 'organization_internal_user', 'organization_external_user', 'organization_team_guest_user', 'unknown']).optional().nullish().describe("Filter by user role"), license: z.enum(['full', 'occasional', 'free', 'free_restricted', 'full_trial', 'unknown']).optional().nullish().describe("Filter by license type"), active: z.boolean().optional().nullish().describe("Filter by active status"), cursor: z.string().optional().nullish().describe("Cursor for pagination"), limit: z.number().optional().nullish().describe("Maximum number of results to return") },
- src/index.ts:197-197 (registration)Registers the get-organization-members tool on the MCP server via ToolBootstrapper..register(getOrganizationMembersTool)