create_signup_inbox
Generate a temporary email inbox for service signups to receive verification emails and extract codes automatically, enabling AI agents to complete registrations without human intervention.
Instructions
Create a temporary signup inbox for a target service.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| service_name | Yes | ||
| ttl_minutes | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- The actual implementation of the 'create_signup_inbox' tool logic. It takes an ApiClient and input parameters to interact with the API to create a mailbox.
async def run( api: ApiClient, service_name: str, ttl_minutes: int | None = None, ) -> dict[str, Any]: if not service_name or not service_name.strip(): return tool_error("validation_error", 400, "service_name is required") if ttl_minutes is not None and ttl_minutes < 1: return tool_error("validation_error", 400, "ttl_minutes must be >= 1") try: mailbox = await api.create_mailbox(ttl_minutes=ttl_minutes) except ApiClientError as exc: return exc.to_dict() email = mailbox.get("address") expires_at = mailbox.get("expires_at") if not isinstance(email, str) or not email: return tool_error("invalid_response", 502, "Missing mailbox address in API response") return { "inbox_id": email, "email": email, "expires_at": expires_at, "service_name": service_name.strip(), } - src/uncorreotemporal_mcp/server.py:110-124 (registration)Registration of the 'create_signup_inbox' tool using the FastMCP decorator. It handles API authentication and calls the implementation in 'src/uncorreotemporal_mcp/tools/create_signup_inbox.py'.
@mcp.tool(description="Create a temporary signup inbox for a target service.") async def create_signup_inbox( service_name: str, ttl_minutes: int | None = None, ) -> dict[str, Any]: api_key = _get_api_key() if not api_key: return _unauthorized() try: async with ApiClient(api_key=api_key) as api: return await create_signup_inbox_tool.run( api=api, service_name=service_name, ttl_minutes=ttl_minutes, )