MCP live on Smithery · 10 tools · v1.2.0

Give your agent
an inbox.

DiviMail is the first email service built for AI agents and the humans who build them. Authenticate with a NEAR wallet. No OAuth. No subscription. No surveillance.

No ads · No data mining · $0.01 USDC per email

No NEAR wallet needed — we provision one free · USDC from Base, ETH, Arbitrum, Solana via NEAR Intents

🔧 Install via Smithery
npx @smithery/cli install patch/divimail-mcp
View on Smithery.ai
MCP (Claude / Goose)
REST API
Python SDK — coming soon
// 1. Claude Desktop config  (~/.claude/claude_desktop_config.json)
{
  "mcpServers": {
    "divimail": {
      "command": "npx",
      "args": ["-y", "@smithery/cli", "run", "patch/divimail-mcp"],
      "env": { "DIVIMAIL_SERVICE_SECRET": "your-secret" }
    }
  }
}

// 2. Get a token — no signing ceremony needed for automated agents
divimail_service_token({ accountId: "myagent.divimail.near", serviceSecret: "..." })
// → { token: "eyJ..." }  — valid 7 days

// 3. Send a nightly report to your human
divimail_send({
  from:    "myagent@divindi.io",
  to:      "jimmy@example.com",
  subject: "Nightly digest — 3 alerts triaged",
  text:    reportText, token
})
// → { balanceAfter: 2.89, costUsdc: 0.01 }

// 4. Check for human replies
divimail_inbox({ email: "myagent@divindi.io", token })
// → [{ messageId, from: "jimmy@example.com", subject: "Re: Nightly...", isRead: false }]

divimail_read({ email: "myagent@divindi.io", messageId, token })
// → { bodyText: "Looks good. Ship it." }
# 1. Get a service token — no signing needed for automated agents
curl -X POST https://divindi.io/api/auth/service-token \
  -H "Content-Type: application/json" \
  -d '{"accountId":"myagent.divimail.near","serviceSecret":"..."}'
# → {"success":true,"data":{"token":"eyJ..."}}

# 2. Send email
curl -X POST https://divindi.io/api/send \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"from":"myagent@divindi.io","to":"human@example.com",
     "subject":"Report","text":"3 issues triaged..."}'
# → {"data":{"balanceAfter":2.89,"costUsdc":0.01}}

# 3. Check inbox
curl "https://divindi.io/api/emails/myagent%40divindi.io/inbox?limit=20" \
  -H "Authorization: Bearer $TOKEN"
# → {"data":{"emails":[{"from":"jimmy@example.com","isRead":false,...}]}}

# 4. Read a message
curl "https://divindi.io/api/emails/myagent%40divindi.io/$MSG_ID" \
  -H "Authorization: Bearer $TOKEN"
# → {"data":{"bodyText":"Looks good. Ship it."}}

# 5. Check USDC balance (no auth needed)
curl https://divindi.io/api/payments/balance/myagent%40divindi.io
# → {"data":{"balanceUsdc":2.89}}

# 6. Get deposit address + cross-chain NEAR Intents links
curl -X POST https://divindi.io/api/payments/topup-intent \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"alias":"myagent"}'
# → {"data":{"depositAddress":"myagent.divimail.near","chainInstructions":{...}}}
# Python SDK — coming soon. REST and MCP are available today.

from divimail import DiviMailClient

# Authenticate with your NEAR key pair — no OAuth, no browser, no callback
client = DiviMailClient(
    near_account_id="my-ops-agent.near",
    private_key=os.environ["NEAR_PRIVATE_KEY"]
)

# Register once — address is permanent
client.register("my-ops-agent")  # → my-ops-agent@divindi.io

# Send a nightly report
client.send(
    to="jimmy@example.com",
    subject="Nightly ops digest — 3 issues triaged",
    text=report_text
)

# Check inbox for human replies
for msg in client.inbox():
    process_reply(client.read(msg["messageId"]))

REST API + MCP live now · Python SDK coming soon · divindi.io · Smithery

10 tools. One install.

Every tool your agent needs — send mail, read replies, check balance, top up — as native calls from Claude Desktop, Goose, or any MCP client.

divimail_register
Register a @divindi.io address. No existing wallet required — we provision a NEAR account for you.
divimail_challenge
Get a one-time challenge string — step 1 of NEAR wallet auth.
divimail_authenticate
Submit your Ed25519 signature, receive a JWT. Full cryptographic verification enforced.
divimail_service_token new
Get a JWT via a shared service secret — no signing ceremony. Designed for scheduled agents and automation pipelines.
divimail_send
Send email from a @divindi.io address to any inbox on the internet.
$0.01 USDC per email
divimail_inbox
List inbox messages with read/unread status. Configurable limit.
divimail_read
Read full message content — plain text and HTML body, sender, subject, timestamp.
divimail_mark_read
Mark a message as read after your agent has processed a human reply.
divimail_balance
Check USDC balance for any @divindi.io address. No authentication needed.
divimail_request_topup
Get deposit address and NEAR Intents deep links for topping up — Base, ETH, Arbitrum, Solana, NEAR.

Agents that read — and reply.

DiviMail agents don't just send reports. They check their inbox on a schedule, read messages, reply to trusted senders, and forward everything else to a designated human.

1
Check inbox hourly

Set up a recurring task — cron, scheduler, GitHub Action, or a Goose recipe — to call divimail_inbox every hour. Filter for isRead: false.

2
Apply the trust model

Compare the sender against your allow-list. Trusted senders get a direct reply in the agent's voice. Everyone else is forwarded to a designated human — the agent never replies to untrusted addresses.

3
Reply or forward

If a trusted message asks a question or makes a request, divimail_send it back. Untrusted mail gets a [Fwd] forward to your designated recipient — no reply to the original sender.

4
Mark read, log, repeat

Call divimail_mark_read after processing each message. Log a summary. The next scheduled run starts with a clean slate.

🔒 The trust model — built for security
✓ Trusted sender
  • Email from an address in your allow-list
  • Agent reads the message and checks if a reply is needed
  • If it asks a question or makes a request → agent replies directly
  • If it's a pure FYI → marked read, no reply sent
⚠ Untrusted sender
  • Email from anyone not in your allow-list
  • Agent forwards the full message to your designated human
  • Agent does NOT reply to the original sender
  • Subject prefixed with [Fwd] so it's easy to spot

Set it up once. It runs itself.

No proprietary agent platform required. Pick the scheduling approach that fits your stack.

Goose / VonCluer
Cron / systemd
GitHub Actions
Node.js in-process
Goose / VonCluer — recipe file
# ~/.local/share/voncluer/scheduled_recipes/divimail_inbox_check.yaml
version: "1.0.0"
title: DiviMail Inbox Check & Response
settings:
  autonomous: true
  max_turns: 20
instructions: |
  Check all agent inboxes. For each unread message:
  1. Get service token via divimail_service_token
  2. Read with divimail_inbox + divimail_read
  3. Mark read with divimail_mark_read
  4. If sender is trusted → reply with divimail_send
  5. If sender is untrusted → forward to jimmy@divindi.tech

Then register it: the Goose scheduler calls it every hour. No server required — runs on your local machine or cloud VM alongside the Goose daemon.

crontab — runs on any Linux/macOS machine
# crontab -e
0 * * * * DIVIMAIL_SERVICE_SECRET=your-secret node /path/to/inbox-check.js

# Or with a .env file:
0 * * * * cd /path/to/project && node -r dotenv/config inbox-check.js
inbox-check.js — drop-in script
const { McpClient } = require("divimail-mcp");
// or use the REST API directly — see docs/mcp.md for the full standalone script

A complete standalone Node.js script using the REST API directly (no MCP client needed) is in docs/mcp.md.

.github/workflows/inbox-check.yml
on:
  schedule:
    - cron: '0 * * * *'   # every hour
jobs:
  inbox:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: node inbox-check.js
        env:
          DIVIMAIL_SERVICE_SECRET: ${{ secrets.DIVIMAIL_SERVICE_SECRET }}

Store DIVIMAIL_SERVICE_SECRET as a GitHub Actions secret. Runs serverless — no infrastructure needed.

Node.js — in-process interval (long-running agents)
const HOUR = 60 * 60 * 1000;

async function checkInbox() {
  const { token } = await getServiceToken();
  const { emails } = await getInbox(email, token);
  for (const msg of emails.filter(m => !m.isRead)) {
    await processMessage(msg, token);
  }
}

checkInbox();  // run immediately on start
setInterval(checkInbox, HOUR);

Embed the inbox loop directly in your agent process. Works with any Node.js agent framework.

Built for agents first.
Works beautifully for humans too.

🤖
AI Agents
The first email purpose-built for autonomous systems

Every agent needs an inbox. Alerts arrive, reports go out, human replies come back. The problem: Gmail wants a real person, SMTP needs IT, and API-key SaaS charges $15/month per inbox. DiviMail authenticates with a NEAR key pair — or a service token — no human ceremony required.

  • Service token auth — fully programmatic, no signing loop
  • Register via REST or MCP — no dashboard visit required
  • Receive from any email address on the internet
  • Permanent address tied to wallet identity, not a SaaS account
  • Pay-as-you-go USDC — top up once, no monthly billing
  • 10-tool MCP server on Smithery — Claude, Goose, any client
👤
Humans
Email without the surveillance business model

Your Gmail inbox is the product. Your attention, your data, your patterns are what the service is actually selling. DiviMail's business model is the email itself — a fraction of a cent per message — so there's no incentive to read your mail, build your profile, or sell your attention.

  • Your @divindi.io address, owned by your NEAR wallet
  • Receive from anyone — standard SMTP, not a walled garden
  • No ads, no data mining, no surveillance
  • Pay per email in USDC — top up your wallet, use it
  • Open web client at divindi.io — inbox, compose, sent

Three steps. Then it just works.

1
Connect your NEAR wallet

Sign a challenge with your NEAR account. No password, no OAuth, no email verification loop. Your wallet is your identity — sign once, get a JWT. For automated agents, skip signing entirely with divimail_service_token.

2
Claim your @divindi.io address

Choose an alias — you@divindi.io. Permanently tied to your NEAR account. Your address survives any platform change, subscription lapse, or company pivot. No NEAR wallet? We provision one for free.

3
Top up with USDC, start sending

Each email costs $0.01 USDC. Send from NEAR mainnet directly, or bridge from any major chain — no extra setup needed.

NEAR ⚡ direct Base Ethereum Arbitrum Solana

Simple. No monthly fee.

Per email — send or receive
~1¢

paid in USDC ● USDC · top up anytime

Send to any email address on the internet
Receive from any email address on the internet
Inbox, sent, and compose via divindi.io web client
Full REST API for programmatic access
10-tool MCP server — Claude, Goose, any MCP client
Low-balance alert at $0.20 remaining (~20 emails)
Cross-chain USDC top-up — Base, ETH, Arbitrum, Solana

No subscription. No inbox limit. No per-account monthly fee. Exactly $0.01 per email — that is the entire business model.

Top up at divindi.io — send USDC on NEAR natively, or bridge from any major chain via NEAR Intents.

Where agents discover tools

🔧
MCP Server

10 native tools for Claude Desktop, Goose, or any MCP client. One install, then use it as natural language tool calls.

Live — v1.2.0 Install on Smithery ↗
📦
Smithery.ai

Listed in the largest MCP server registry. Any agent framework that pulls from Smithery can discover and install DiviMail in one command.

Live smithery.ai/server/patch/divimail-mcp ↗
VonCluer Skill

Native Skill in the VonCluer platform. VonCluer agents claim a @divindi.io inbox and use it for ops reports, alerts, and human replies.

Live
🌐
REST API

Full REST API at divindi.io. Any agent with HTTP can register, get a service token, send, and read mail — right now.

Live divindi.io/api ↗

Your agent needs an inbox.
Set one up in minutes.

Registration is open. REST API, MCP server, and Smithery listing are all live. $0.01 USDC per email. No monthly fee. No OAuth. No subscription.

No NEAR wallet needed · We provision one free · USDC from any chain