activate_domain
Activate domains after DNS configuration. Validates DNS records and fails with error if validation fails.
Instructions
Activate domain(s) once DNS records are configured. Fails with 422 if DNS validation fails. List of dicts with: name.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes |
Implementation Reference
- migadu_mcp/tools/domain_tools.py:69-76 (handler)The activate_domain tool handler. It is decorated with @migadu_bulk_tool (accepts list of dicts), validates each using DomainActivateRequest, calls domain_service().activate_domain(item.name), and returns a bulk-result envelope.
@migadu_bulk_tool(mcp, DomainActivateRequest, entity="domain activation") async def activate_domain( item: DomainActivateRequest, ctx: Context ) -> dict[str, Any]: """Activate domain(s) once DNS records are configured. Fails with 422 if DNS validation fails. List of dicts with: name.""" await ctx.info(f"📋 Activating domain {item.name}") result = await get_service_factory().domain_service().activate_domain(item.name) return {"domain": result, "name": item.name, "success": True} - DomainService.activate_domain method. Makes a GET request to /domains/{name}/activate on the Migadu API. Raises MigaduAPIError(422) if DNS validation fails.
async def activate_domain(self, name: str) -> dict[str, Any]: """Activate a domain once DNS records are correctly configured. Raises MigaduAPIError(422, ...) if DNS validation fails. """ return await self.client.get(f"/domains/{name}/activate") - migadu_mcp/utils/schemas.py:287-289 (schema)Pydantic schema DomainActivateRequest with a single required 'name' field (str) used to validate input for the activate_domain tool.
class DomainActivateRequest(BaseModel): name: str = Field(..., description="Domain name") - migadu_mcp/main.py:51-52 (registration)The activate_domain tool is registered indirectly via register_domain_tools(mcp) called in initialize_server().
def initialize_server() -> None: register_domain_tools(mcp) - migadu_mcp/tools/domain_tools.py:16-16 (registration)register_domain_tools function that registers all domain tools (including activate_domain) on the FastMCP instance. The decorator @migadu_bulk_tool internally calls mcp.tool() to register.
def register_domain_tools(mcp: FastMCP) -> None: