The only execution layer built for autonomous agents. EU-resident sending (AWS SES, Ireland), durable retry queue, fail-fast circuit breakers, and governance — infrastructure that never fails silently on your agent workflows.
They return a message ID and hope for the best. Your agent can't hope. It needs to know:
Truncus answers all of these. In the same API call.
Agent sends invoice with delivery proof
Synchronous — agent knows immediately if it worked
# Synchronous — agent knows immediately if it worked
curl -X POST https://truncus.co/api/v1/emails/send_sync \
-H "Authorization: Bearer tr_live_…" \
-H "Idempotency-Key: <uuid>" \
-d '{ "from": "billing@yourapp.com", "to": "customer@example.com",
"subject": "Your invoice", "html": "<p>Thanks.</p>" }'
# Returns:
{
"message_id": "cmvxr6q4q000120ajvvjpxhq8",
"global_message_id": "gm_8b96f356-f7e9-472e-bbe4-88a9be1651b5",
"status": "delivered",
"delivered_at": "2026-11-01T11:35:11.909Z",
"smtp_response": "250 2.0.0 Ok: queued as 4jHXnV4rtkz9vNPx",
"latency_ms": 2080
}Durable operation with automatic retry
Truncus retries on SES with backoff until it succeeds or exhausts the policy
# Create a durable operation — Truncus retries for you
op = truncus.operations.create(
type="email.send",
delivery_guarantee="at_least_once",
params={
"from": "support@yourapp.com",
"to": user.email,
"subject": "Your account is ready",
"html": welcome_html,
},
retry_policy={"max_retries": 3, "backoff_ms": 5000},
)
# Check later (or let the webhook notify you)
status = truncus.operations.get(op.operation_id)
# { status: "completed", attempts: 1, provider: "ses" }
# Retries happen on SES (eu-west-1) with backoff — never silently droppedPre-flight check before sending
Validate before wasting a send or risking reputation
# Validate before wasting a send
check = truncus.emails.validate(
from_address="agent@yourapp.com",
to=prospect.email,
)
if check.recommendation == "do_not_send":
skip_prospect(prospect.id, reason=check.checks.spam_risk)
elif check.confidence_score > 0.8:
send_email(prospect) # see the curl call below
# curl -X POST https://truncus.co/api/v1/emails/send_sync \
# -H "Authorization: Bearer tr_live_…" \
# -H "Idempotency-Key: <uuid>" \
# -d '{ "from": "agent@yourapp.com", "to": "prospect@example.com",
# "subject": "Partnership opportunity", "html": "<p>Hello.</p>" }'Execution certainty
Synchronous delivery confirmation. One call, one answer.
best_effort / at_least_once / exactly_once. Choose per email.
Reliability
AWS SES in Ireland (eu-west-1). Circuit breakers detect failures fast and surface the exact error — no silent failures.
Failed emails enter a durable retry queue (30s/2m/8m/30m/2h backoff). Dead-letter recovery. Replay API.
Sending from Ireland, email data stored in Frankfurt.
Intelligence
Confidence scoring, spam risk, domain health. Know before you send.
Failure explanations and recommended next actions.
Detect replies, unsubscribes, complaints, auto-replies.
Safety
Stops all sending for the whole account. One API call; resume from the dashboard.
Prevent over-emailing the same address.
Auto-throttle agents with high bounce or complaint rates.
MCP
8 Truncus tools — Claude Code, Cursor, VS Code
Python SDK
pip install truncus
Node SDK
npm install @truncus/email
REST API
Any language, any framework
CLI
npm install -g @vanmoose/truncus-cli
Generate an API key once at truncus.co/dashboard/settings/api-keys, drop it into your editor's MCP config, and your agent can send and verify email without leaving the IDE. Works in any MCP client — Claude Code, Cursor, VS Code (Cline / Continue), Claude Desktop, Windsurf.
Claude Code
One command in your terminal
# Register the 8 Truncus tools in one command
claude mcp add truncus \
--env TRUNCUS_API_KEY=tr_live_xxx \
-- npx -y @vanmoose/mcp-serverCursor · VS Code · Claude Desktop · Windsurf
Add to your MCP config file (e.g. ~/.cursor/mcp.json)
{
"mcpServers": {
"truncus": {
"command": "npx",
"args": ["-y", "@vanmoose/mcp-server"],
"env": { "TRUNCUS_API_KEY": "tr_live_xxx" }
}
}
}8 Truncus tools, ready to call
truncus_sendtruncus_send_synctruncus_validatetruncus_get_emailtruncus_list_eventstruncus_get_statstruncus_list_domainstruncus_check_suppressionYour Agent (LangChain / CrewAI / AutoGen / Custom)
Truncus
Execute, validate, govern, observe
AWS SES — Ireland (eu-west-1)
EU-resident sending
All plans include send_sync, delivery guarantees, and governance.
Free
€0
3,000 emails/month
Pro
€19/mo
50,000 emails/month
Scale
€99/mo
300,000 emails/month
USD pricing applies outside the EU
Free tier. 3,000 emails/month. No credit card. 30 seconds to first send.
Start free