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
from truncus import Truncus
truncus = Truncus(api_key="tr_live_xxx")
# Synchronous — agent knows immediately if it worked
result = truncus.emails.send_sync(
from_address="billing@yourapp.com",
to=customer.email,
subject=f"Invoice #{invoice.id}",
html=render_invoice(invoice),
)
if result.status == "delivered":
mark_invoice_sent(invoice.id)
log(f"Delivered in {result.latency_ms}ms")
elif result.status == "bounced":
flag_invalid_email(customer.id)
log(f"Bounce: {result.intelligence.explanation}")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:
truncus.emails.send_sync(...)Execution certainty
Synchronous delivery confirmation. 1.04s average. One call, one answer.
Durable operations with lifecycle tracking. Create, retry, cancel.
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. GDPR-native. Your agent emails never leave Europe.
Intelligence
Confidence scoring, spam risk, domain health. Know before you send.
Failure explanations and recommended next actions.
Detect replies, unsubscribes, complaints, auto-replies.
Safety
Instant shutdown per agent or account. One API call.
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, Operations API, delivery guarantees, and governance.
Free
$0
3,000 emails/month
Pro
$19/mo
50,000 emails/month
Scale
$99/mo
300,000 emails/month
Free tier. 3,000 emails/month. No credit card. 30 seconds to first send.
Start free