list_users
Retrieve all user accounts in Metabase to manage access permissions and audit system usage. Requires administrator privileges.
Instructions
👥 [SAFE - REQUIRES ADMIN] List all Metabase users. Requires admin permissions. Use this to see who has access to Metabase. Risk: None - read-only, but may fail if not admin.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The handler function for the list_users tool. Fetches all users from Metabase API '/api/user/' and returns a formatted text list with user details (ID, name, email, admin status).async listUsers() { this.logger.debug('Listing users'); const users = await this.apiClient.makeRequest('/api/user/'); return { content: [ { type: 'text', text: `Users (${users.length}): ${users.map(u => `- ID: ${u.id} | Name: ${u.common_name} | Email: ${u.email} | Admin: ${u.is_superuser}` ).join('\n')}`, }, ], }; }
- Tool schema definition including name, description, and empty input schema (no parameters required). Used by the MCP server for tool listing and validation.{ name: 'list_users', description: '👥 [SAFE - REQUIRES ADMIN] List all Metabase users. Requires admin permissions. Use this to see who has access to Metabase. Risk: None - read-only, but may fail if not admin.', inputSchema: { type: 'object', properties: {}, }, },
- src/server/MetabaseMCPServer.js:226-227 (registration)Registers and dispatches the list_users tool call to the UserHandlers.listUsers() method in the MCP server's executeTool switch statement.case 'list_users': return await this.userHandlers.listUsers();