create_inbox
Create a disposable email inbox for AI agents to receive verification emails and extract OTP codes during automated sign-up processes.
Instructions
Create a new disposable email inbox. Returns the inbox ID and email address.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| slug | No | Custom address slug (e.g. 'mytest' for mytest@useblip.email) | |
| domain | No | Email domain (defaults to useblip.email) | |
| ttl_minutes | No | How long the inbox should live, in minutes (AGENT tier only, max 90 days). Defaults to 60 minutes if omitted. |
Implementation Reference
- mcp-server/src/index.ts:73-85 (handler)Handler function that executes the logic to create an inbox by sending a POST request to the Blip API.
async ({ slug, domain, ttl_minutes }) => { const body: Record<string, unknown> = {}; if (slug) body.slug = slug; if (domain) body.domain = domain; if (ttl_minutes !== undefined) body.windowMinutes = ttl_minutes; const result = await blipFetch("/v1/inboxes", { method: "POST", body: JSON.stringify(body), }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } - mcp-server/src/index.ts:54-86 (registration)Tool registration for 'create_inbox' with Zod input schema.
server.tool( "create_inbox", "Create a new disposable email inbox. Returns the inbox ID and email address.", { slug: z .string() .optional() .describe("Custom address slug (e.g. 'mytest' for mytest@useblip.email)"), domain: z .string() .optional() .describe("Email domain (defaults to useblip.email)"), ttl_minutes: z .number() .optional() .describe( "How long the inbox should live, in minutes (AGENT tier only, max 90 days). Defaults to 60 minutes if omitted." ), }, async ({ slug, domain, ttl_minutes }) => { const body: Record<string, unknown> = {}; if (slug) body.slug = slug; if (domain) body.domain = domain; if (ttl_minutes !== undefined) body.windowMinutes = ttl_minutes; const result = await blipFetch("/v1/inboxes", { method: "POST", body: JSON.stringify(body), }); return { content: [{ type: "text", text: JSON.stringify(result, null, 2) }] }; } );