# DiviMail

> Give your AI agent its own email address: send, receive and read email. $0.01 USDC per send.

- name: tech.divindi/divimail
- version: 1.5.1
- connection class: R0 (autonomous)
- trust: 83/100 flags: no-repository
- quality: 88/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/tech.divindi%2Fdivimail
- tools: https://api.protogrid.dev/v1/servers/tech.divindi%2Fdivimail/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "divimail": {
      "type": "http",
      "url": "https://mcp.divindi.io/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 100
- provenance: 55
- drivers: +dns-namespace +website +reachable +uptime-100% +updated-10d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 88/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 7 of 7 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 1,864 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump
- pass `tools.hidden_text`: no hidden text in tool names, descriptions, schemas or annotations

### stability: 83 (weight 15)

- warn `stability.changes`: 12 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name
- pass `stability.new_links`: no tool change named a new site

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know @divindi/divimail-mcp@1.5.1

- tools: 7, about 1,864 tokens to load them all
- tool set hash: a01c3c626269a09809f83f4d492f0996
- tools last changed: 2026-11-04T20:32:33.948Z
- badge: [![protogrid quality](https://protogrid.dev/badge/tech.divindi/divimail.svg)](https://protogrid.dev/servers/tech.divindi/divimail)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-11-04 `divimail_pay` removed
  - Pay another agent (or person) that has a @divindi.io address, in USDC from your DiviMail balance. Use for agent-to-agent payments, not for funding yourself (use divimail_request_topup). Free, instant internal transfer. Max $50 per transfer, $100 per sender per rolling 24h. Non-DiviMail addresses not supported. Needs a token.
- 2026-11-04 `divimail_request_topup` removed
  - Add funds so your agent can keep sending email: returns USDC deposit instructions for its DiviMail balance. It does not move money itself. Use when divimail_balance is low. Returns a NEAR mainnet deposit address plus NEAR Intents links for Base, Ethereum, Arbitrum and Solana; credited automatically within 60 s. Needs a token.
- 2026-11-04 `divimail_authenticate` removed
  - Finish signing in with your own key or NEAR wallet and get the token used for sending, inbox, top-up and pay. Step 2 of 2: call after divimail_challenge with your Ed25519 signature (base64) and public key (base58). For provision:true accounts, use divimail_login instead. Returns a JWT.
- 2026-11-04 `divimail_challenge` removed
  - Start signing in with your own key or NEAR wallet: returns a challenge message to sign. Step 1 of 2. Sign it, then call divimail_authenticate. For accounts created with provision:true, use divimail_login instead (simpler). Automated agents with a service secret can use divimail_service_token.
- 2026-11-04 `divimail_login` removed
  - Sign the agent in to its DiviMail address and get the token needed to send, check the inbox, top up or pay. Use this after divimail_register when you have the saved apiKey (starts with "dm_"). Use divimail_challenge/divimail_authenticate for own-wallet accounts instead. No NEAR signature or service secret needed. Returns a JWT.
- 2026-11-04 `divimail_balance` changed (inputSchema, annotations)
- 2026-11-04 `divimail_mark_read` changed (description, inputSchema, annotations)
  - before: Mark an email in your agent's inbox as read so it is not handled twice. Use after divimail_read (or divimail_inbox) with the same messageId. Needs a token.
  - after: Mark an email in your agent's inbox as read so it is not handled twice. Use after divimail_read (or divimail_inbox) with the same messageId. When connected through an app sign-in, no token or address is needed.
- 2026-11-04 `divimail_read` changed (description, inputSchema, annotations)
  - before: Open and read one email in full (body and details) from your agent's mailbox. Call after divimail_inbox using a messageId from that list; then call divimail_mark_read if you want it marked read. Needs a token.
  - after: Open and read one email in full (body and details) from your agent's mailbox. Call after divimail_inbox using a messageId from that list; then call divimail_mark_read if you want it marked read. When connected through an app sign-in, no token or address is needed.
- 2026-11-04 `divimail_sent` changed (description, inputSchema, annotations)
  - before: See what emails your agent has sent: lists sent messages for its @divindi.io address. Use this to confirm a divimail_send went out or to review history. For received mail use divimail_inbox. Needs a token. Optional limit (default 20).
  - after: See what emails your agent has sent: lists sent messages for its @divindi.io address. Use this to confirm a divimail_send went out or to review history. For received mail use divimail_inbox. When connected through an app sign-in, no token or address is needed. Optional limit (default 20).
- 2026-11-04 `divimail_inbox` changed (description, inputSchema, annotations)
  - before: Check your agent's inbox: lists received emails for its @divindi.io address. Call this first to see what arrived, then use divimail_read with a messageId for the full content, and divimail_mark_read when done. For mail the agent sent, use divimail_sent. Needs a token. Optional limit (default 20).
  - after: Check your agent's inbox: lists received emails for its @divindi.io address. Call this first to see what arrived, then use divimail_read with a messageId for the full content, and divimail_mark_read when done. For mail the agent sent, use divimail_sent. When connected through an app sign-in, no token or address is needed. Optional limit (default 20).

Full history: https://api.protogrid.dev/v1/servers/tech.divindi%2Fdivimail/changes

## Dependencies

- npm @divindi/divimail-mcp@1.5.1: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.divindi.io/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

- npm @divindi/divimail-mcp@1.5.1 secrets: DIVIMAIL_SERVICE_SECRET

## Tools (7)

- `divimail_balance`: Check how much USDC a DiviMail address has for sending email or paying. Call before divimail_send or divimail_pay if unsure; if low, use divimail_request_topup. No token needed, just the @divindi.io address.
- `divimail_inbox`: Check your agent's inbox: lists received emails for its @divindi.io address. Call this first to see what arrived, then use divimail_read with a messageId for the full content, and divimail_mark_read when done. For mail the agent sent, use divimail_sent. When connected through an app sign-in, no token or address is needed. Optional limit (default 20).
- `divimail_mark_read`: Mark an email in your agent's inbox as read so it is not handled twice. Use after divimail_read (or divimail_inbox) with the same messageId. When connected through an app sign-in, no token or address is needed.
- `divimail_read`: Open and read one email in full (body and details) from your agent's mailbox. Call after divimail_inbox using a messageId from that list; then call divimail_mark_read if you want it marked read. When connected through an app sign-in, no token or address is needed.
- `divimail_register`: Give an AI agent its own @divindi.io email address so it can send and receive email. Call this once to create the address. Then sign in: through the app's connection sign-in if you are using one, otherwise with divimail_login (or divimail_challenge + divimail_authenticate). Use exactly one of: provision:true (easiest), publicKey (your ed25519 key; only the public key is stored), or nearAccountId (own NEAR wallet, no apiKey). provision/publicKey return an apiKey shown ONCE, so save it.
- `divimail_send`: Send an email from your agent's @divindi.io address to any email address, human or agent. When connected through an app sign-in, no token or address is needed. If the balance is low, see divimail_balance and divimail_request_topup. Costs $0.01 USDC per email. Supports plain text, optional HTML, CC and BCC.
- `divimail_sent`: See what emails your agent has sent: lists sent messages for its @divindi.io address. Use this to confirm a divimail_send went out or to review history. For received mail use divimail_inbox. When connected through an app sign-in, no token or address is needed. Optional limit (default 20).
