list_identities
Retrieve email identities for a mailbox to view summaries, statistics, and sample data for managing email configurations.
Instructions
List email identities for mailbox. Returns summary with statistics and samples.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| mailbox | Yes | ||
| domain | No |
Implementation Reference
- migadu_mcp/tools/identity_tools.py:40-66 (handler)The main execution logic for the 'list_identities' tool: resolves domain, logs operation, calls IdentityService.list_identities(), and handles errors.async def list_identities( mailbox: str, ctx: Context, domain: str | None = None ) -> Dict[str, Any]: """List email identities for mailbox. Returns summary with statistics and samples.""" if domain is None: from migadu_mcp.config import get_config config = get_config() domain = config.get_default_domain() if not domain: raise ValueError("No domain provided and MIGADU_DOMAIN not configured") await log_operation_start(ctx, "Listing identities", f"{mailbox}@{domain}") try: service = get_service_factory().identity_service() result = await service.list_identities(domain, mailbox) count = len(result.get("identities", [])) await log_operation_success( ctx, "Listed identities", f"{mailbox}@{domain}", count ) return result except Exception as e: await log_operation_error( ctx, "List identities", f"{mailbox}@{domain}", str(e) ) raise
- migadu_mcp/tools/identity_tools.py:32-39 (registration)The @mcp.tool decorator registers the list_identities function as an MCP tool with specific annotations, within register_identity_tools().@mcp.tool( annotations={ "readOnlyHint": True, "idempotentHint": True, "openWorldHint": True, }, ) @with_context_protection(max_tokens=2000)
- Supporting service method in IdentityService that makes the actual Migadu API GET request to retrieve the list of identities.async def list_identities(self, domain: str, mailbox: str) -> Dict[str, Any]: """List all identities for a mailbox""" return await self.client.request( "GET", f"/domains/{domain}/mailboxes/{mailbox}/identities" )
- migadu_mcp/main.py:21-25 (registration)Initialization call to register_identity_tools(mcp), which in turn registers the list_identities tool among others.register_mailbox_tools(mcp) register_identity_tools(mcp) register_alias_tools(mcp) register_rewrite_tools(mcp) register_resources(mcp)