Koskamo

Machine Inbox MCP

Provides task-scoped email inboxes for AI agents, enabling them to receive messages, extract verification codes, and send replies via HTTP. It supports creating temporary inboxes, reading mail with injection risk scanning, extending inbox lifetimes, and setting up webhooks for inbound notifications.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Machine Inbox MCP logo, by Machine InboxVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Machine Inbox
You need:Pay with either; x402 requests must send an Idempotency-Key.Save the returned inbox.id and token.Header: Idempotency-Key (16-200 characters)
MCP endpoint (Streamable HTTP)
https://machineinbox.com/mcp
Vendor documentation

What its tools do

11 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

11 of 11 have a description · 0 of 11 declare behavior hints · 7 of 10 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to machineinbox.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Create short-lived email inboxes for agent use
  • Extract verification codes from inbound emails
  • Read and parse email messages with injection risk scanning
  • Reply to emails using authenticated mailbox tokens

Source and maintenance

Vendor evidenceRegistry 0.1.0

Protocol and capabilities

Server
machine-inbox 0.1.0
MCP protocol negotiated in check
2025-06-18
Tools
11 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Machine Inbox sells task-scoped email inboxes. Buying requires an HTTP payment (Stripe MPP or x402); every read and reply tool works with the mi_live_ bearer token from the purchase.

Tools

11 advertised

get_service_info
Advertised by the server during the last successful anonymous check.

Read the Machine Inbox service instructions: pricing, payment rails, endpoints, and limits.

get_service_info input schema
{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
create_inbox
Advertised by the server during the last successful anonymous check.

Request a new paid inbox. Buying requires an out-of-band payment (Stripe MPP or x402 USDC on Base); this tool returns the live HTTP 402 payment challenge plus exact instructions to complete the purchase. Standard inbox: $2.00.

create_inbox input schema
{
  "type": "object",
  "properties": {
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16,
      "description": "High-entropy key to bind the eventual paid retry to this request."
    }
  },
  "additionalProperties": false
}
get_inbox
Advertised by the server during the last successful anonymous check.

Read an inbox: address, status, expiry, limits, and usage.

get_inbox input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
list_messages
Advertised by the server during the last successful anonymous check.

List messages in an inbox, newest first. Pass after=<newest createdAt seen> to poll for only new mail.

list_messages input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "after": {
      "type": "string",
      "description": "ISO date-time; only messages created after this instant."
    },
    "limit": {
      "type": "integer",
      "maximum": 100,
      "minimum": 1
    },
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "before": {
      "type": "string",
      "description": "ISO date-time cursor for older mail."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
get_message
Advertised by the server during the last successful anonymous check.

Fetch one message with parsed text, HTML, and attachment download URLs.

get_message input schema
{
  "type": "object",
  "required": [
    "inbox_id",
    "message_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    },
    "message_id": {
      "type": "string"
    }
  },
  "additionalProperties": false
}
get_verification_code
Advertised by the server during the last successful anonymous check.

Extract the newest one-time verification code or confirmation link from inbound mail. Ideal for signup and login flows.

get_verification_code input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "sender": {
      "type": "string",
      "description": "Only consider senders whose address contains this substring."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
reply_to_message
Advertised by the server during the last successful anonymous check.

Send an included plain-text reply to the authenticated sender of an inbound message.

reply_to_message input schema
{
  "type": "object",
  "required": [
    "inbox_id",
    "message_id",
    "text",
    "idempotency_key"
  ],
  "properties": {
    "text": {
      "type": "string",
      "maxLength": 20000,
      "minLength": 1
    },
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    },
    "message_id": {
      "type": "string"
    },
    "idempotency_key": {
      "type": "string",
      "maxLength": 200,
      "minLength": 16,
      "description": "New unique key for this reply; reuse only to retry the identical reply."
    }
  },
  "additionalProperties": false
}
set_webhook
Advertised by the server during the last successful anonymous check.

Register or replace the inbox webhook: an HMAC-signed POST fires on every inbound message with metadata, extracted verification codes, and injection risk (never the body). Returns the signing secret.

set_webhook input schema
{
  "type": "object",
  "required": [
    "inbox_id",
    "url"
  ],
  "properties": {
    "url": {
      "type": "string",
      "description": "Public https URL that receives the signed POST."
    },
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
get_webhook
Advertised by the server during the last successful anonymous check.

Read the inbox webhook state: URL, delivery counters, and whether it is disabled. The secret is only returned by set_webhook.

get_webhook input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
delete_webhook
Advertised by the server during the last successful anonymous check.

Remove the inbox webhook.

delete_webhook input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}
delete_inbox
Advertised by the server during the last successful anonymous check.

Delete an inbox: revokes the token and erases stored mail.

delete_inbox input schema
{
  "type": "object",
  "required": [
    "inbox_id"
  ],
  "properties": {
    "token": {
      "type": "string",
      "description": "Mailbox bearer token (mi_live_...) returned when the inbox was purchased. Optional when the MCP request itself carries Authorization: Bearer."
    },
    "inbox_id": {
      "type": "string",
      "description": "Inbox UUID."
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
478 ms
95th percentile latency
478 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 478 ms · metadata changed · 11 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http machine-inbox-mcp https://machineinbox.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add machine-inbox-mcp --url https://machineinbox.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable machine-inbox-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "machine-inbox-mcp": {
      "url": "https://machineinbox.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "machine-inbox-mcp": {
      "type": "streamableHttp",
      "url": "https://machineinbox.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start machine-inbox-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "machine-inbox-mcp": {
      "type": "http",
      "url": "https://machineinbox.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http machine-inbox-mcp https://machineinbox.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://machineinbox.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "machine-inbox-mcp": {
      "serverUrl": "https://machineinbox.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Machine Inbox MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Machine Inbox MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing