Launchpad: managed servers and a Claude Code connector

Add-ons

Email sending

Send transactional email from your server as client@asklaunchpad.com over a plain HTTPS API — no SMTP setup, no mail server to run.

The Email add-on lets your app send transactional email — welcome messages, receipts, notifications — without running or configuring a mail server yourself. Every email goes out as client@asklaunchpad.com, relayed through Launchpad's own infrastructure.

Enable it

Go to Add-ons in your dashboard and click Enable on the Email sending card, or just ask Claude to enable it for you. Either way, you'll be shown an API key once. Copy it somewhere safe (a .env file on your server, for example); it can't be shown again. If you lose it, disable and re-enable the add-on to get a new one.

Send an email

POST https://mcp.asklaunchpad.com/connectors/email/send
Authorization: Bearer <your connector API key>
Content-Type: application/json
{
  "to": "someone@example.com",
  "subject": "Welcome!",
  "text": "Thanks for signing up.",
  "html": "<p>Thanks for signing up.</p>",
  "replyTo": "you@yourcompany.com"
}
FieldRequiredNotes
toYesA single address, or a list of up to 10
subjectYesUp to 500 characters
text and/or htmlYes (at least one)Plain text and/or HTML body. No file attachments.
replyToNoLets recipients reply straight to you instead of Launchpad — From always stays client@asklaunchpad.com

A successful call returns {"ok": true} with a 200 status.

Limits

  • Up to 10 recipients per call.
  • 2 requests per minute per connector. Going over returns a 429 with a retryAfterSeconds field — wait and retry rather than hammering it.
  • No file attachments in v1.

Example

curl -X POST https://mcp.asklaunchpad.com/connectors/email/send \
  -H "Authorization: Bearer lpc_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"to":"someone@example.com","subject":"Hello","text":"Hi there!"}'
// Node.js
await fetch('https://mcp.asklaunchpad.com/connectors/email/send', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${process.env.LAUNCHPAD_EMAIL_KEY}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ to: 'someone@example.com', subject: 'Hello', text: 'Hi there!' }),
})
# Python
import os, requests
requests.post(
    "https://mcp.asklaunchpad.com/connectors/email/send",
    headers={"Authorization": f"Bearer {os.environ['LAUNCHPAD_EMAIL_KEY']}"},
    json={"to": "someone@example.com", "subject": "Hello", "text": "Hi there!"},
)
// PHP
$ch = curl_init('https://mcp.asklaunchpad.com/connectors/email/send');
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . getenv('LAUNCHPAD_EMAIL_KEY'),
        'Content-Type: application/json',
    ],
    CURLOPT_POSTFIELDS => json_encode(['to' => 'someone@example.com', 'subject' => 'Hello', 'text' => 'Hi there!']),
]);
curl_exec($ch);

Keep the key out of your source code — an environment variable on the server (as above) works well, the same way you'd already keep database credentials.

Previous: Add-ons · Next: Fixed IP