DiviMail
Server Details
Give your AI agent its own email address: send, receive and read email. $0.01 USDC per send.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 9 tools
The listed tools have mostly distinct purposes: register, challenge/authenticate, balance, send, inbox/read/mark_read, and sent are readily separable. However, the descriptions repeatedly reference absent tools like divimail_login, divimail_request_topup, divimail_pay, and divimail_service_token, which creates confusion about which path an agent should actually take.
All tools use a consistent divimail_ prefix followed by a lowercase snake_case action or resource name. The pattern is predictable throughout, with no mixed casing or arbitrary naming styles.
Nine tools is a well-scoped count for an email agent service covering registration, authentication, balance, sending, and inbox workflows. Each listed tool has a clear role and the set is neither bloated nor trivially thin.
The surface has significant dead ends: divimail_login is repeatedly recommended but missing, and divimail_request_topup, divimail_pay, and divimail_service_token are referenced but unavailable. Core send/read/auth via challenge exists, but provisioned-account login and low-balance recovery cannot be completed through the provided tools.
Available Tools
9 toolsdivimail_authenticateAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | Your NEAR account ID | |
| publicKey | Yes | Base58-encoded NEAR public key | |
| signature | Yes | Base64-encoded Ed25519 signature of the challenge message |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, open-world behavior, so the safety profile is covered. The description adds value beyond them by disclosing the prerequisite challenge step and the returned JWT credential; it does not cover token lifetime or failure modes, so it falls short of 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the outcome, then the sequencing constraint, then the alternative and return value. Nothing is redundant or padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter authentication step with a fully documented schema and stated return value (JWT), the description covers prerequisite, alternative path, and output. No output schema is needed because the return is named.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and each property already documents its encoding and meaning (NEAR account ID, base58 public key, base64 Ed25519 signature of the challenge message). The description restates the base64/base58 encodings and adds no syntax or format detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a concrete verb and outcome: finish signing in with a key or NEAR wallet and obtain the token used for sending, inbox, top-up and pay. It also names the sibling it is not (divimail_login for provision:true accounts), so an agent can pick it out without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly positions itself as 'Step 2 of 2' that must be called after divimail_challenge, and names the alternative for provision:true accounts. Both the when-to-use and the when-to-use-something-else conditions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_balanceARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | The @divindi.io email address to check |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, non-destructive and openWorld, so the safety profile is covered. The description adds something the annotations do not: 'No token needed, just the @divindi.io address', which tells the agent no authentication step is required before calling. It stops short of saying what the response contains (raw amount, formatting, thresholds for 'low'), which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, each doing work: what it checks, when to call it, and the fallback when the balance is low. The scoping and prerequisite information is front-loaded with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read tool with full annotation coverage and no output schema, the description covers purpose, prerequisites and the follow-up path. The only gap is the shape of the result and what counts as 'low', which would help an agent decide whether to chain into request_topup.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and there is only one parameter, so the schema already explains the email field. The description reinforces the format constraint ('just the @divindi.io address') but adds no new meaning such as whether other domains are rejected. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb and resource — checking how much USDC a DiviMail address holds — and ties it to a concrete purpose (sending email or paying). An agent can distinguish it from siblings like divimail_pay or divimail_request_topup without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit trigger ('Call before divimail_send or divimail_pay if unsure') and a named alternative for the low-balance case ('use divimail_request_topup'). Both the when-to-use and the routing decision are stated, not implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_challengeAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| accountId | Yes | Your NEAR account ID (e.g. myagent.near) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is largely covered; the description still adds real value by stating that the call returns a challenge message meant to be signed rather than completing authentication. It does not say whether a server-side challenge is created or whether the message expires, which matters given readOnlyHint=false — so it falls short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and return value, followed by sequencing and then the fallback alternatives. Every clause carries routing information; there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter, no-output-schema step in a multi-step auth flow, the description supplies the prerequisites, the next call, and the two escape hatches. Nothing an agent needs in order to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With a single parameter at 100% schema description coverage ("Your NEAR account ID (e.g. myagent.near)"), the schema already carries the full parameter meaning. The description adds nothing about accountId — e.g. whether an unregistered account is an error — so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Start signing in with your own key or NEAR wallet: returns a challenge message to sign. Step 1 of 2." names a specific verb (start sign-in), the resource produced (a challenge message), and its position in a two-step flow. An agent can immediately tell this apart from divimail_authenticate (step 2) and divimail_login (the simpler path).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description routes between three alternatives with explicit conditions: call this, then divimail_authenticate; use divimail_login if the account was created with provision:true; use divimail_service_token if you have a service secret. That is exactly the when-to-use/when-to-use-something-else guidance that makes a first-step auth tool selectable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_inboxARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Your agent's full @divindi.io email address (e.g. myagent@divindi.io) | ||
| limit | No | Number of messages to return (default 20) | |
| token | No | JWT token from divimail_login, divimail_authenticate or divimail_service_token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, openWorldHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuinely new context beyond that: an authentication requirement ('Needs a token') and the default page size of 20, which affects result volume. It stops short of describing return fields or how to request further pages, keeping it out of the top band.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and the middle sentences form a tight call-ordering chain. The trailing 'Needs a token. Optional limit (default 20).' partly duplicates schema content, which is the only minor waste.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-only list tool with no output schema, the description covers purpose, auth prerequisite, default result count, and next-step tools. Return field shape is unspecified, but the complexity is low enough that this is a small gap rather than a blocking one.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and all three parameters are already documented in the schema, including the email format and the limit default. The description only restates the token requirement and the limit default, adding no syntax or format nuance beyond the structured data, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'lists received emails for its @divindi.io address.' It also explicitly contrasts with divimail_sent for outgoing mail, so the agent can distinguish it from siblings without consulting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow: 'Call this first to see what arrived, then use divimail_read with a messageId ... and divimail_mark_read when done,' plus a named alternative (divimail_sent) for the opposite use case. This is textbook when-to-use and when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_mark_readAIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Your agent's full @divindi.io email address (e.g. myagent@divindi.io) | ||
| token | No | JWT token from divimail_login, divimail_authenticate or divimail_service_token | |
| messageId | Yes | Message ID from divimail_inbox |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, idempotentHint=true, destructiveHint=false, and openWorldHint=true, so the safety profile is covered. The description adds what those annotations cannot: the business rationale (avoid double handling) and an auth requirement ("Needs a token"). Minor tension exists in that the schema marks token optional while the description says it is needed, but this is not an annotation contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with purpose, then usage, then prerequisite. No filler and nothing that repeats the schema verbatim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter mutation tool with full schema coverage and no output schema, the description covers purpose, sequencing, and auth prerequisites, which is enough to invoke it correctly. It does not say what the response looks like or whether the read state is reflected elsewhere, a small residual gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds real meaning on top by specifying that messageId must be the same one used in the preceding divimail_read or divimail_inbox call, disambiguating where the identifier should come from.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Mark an email ... as read") plus the scope constraint ("in your agent's inbox"), and the rationale "so it is not handled twice" makes the state change unambiguous. It is clearly distinguishable from siblings like divimail_read and divimail_inbox, which only retrieve.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"Use after divimail_read (or divimail_inbox) with the same messageId" gives explicit ordering and names the preceding sibling calls, which is exactly the guidance an agent needs for sequencing. It stops short of stating when not to call it (e.g., already-read messages), so it is strong but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_readARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Your agent's full @divindi.io email address (e.g. myagent@divindi.io) | ||
| token | No | JWT token from divimail_login, divimail_authenticate or divimail_service_token | |
| messageId | Yes | Message ID from divimail_inbox |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint false, so the safety profile is covered. The description adds useful context beyond annotations: a token is required, and reading does not itself mark the email read. It could say more about authentication failure behavior, but it is strong for a read tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two compact sentences with no wasted wording. It front-loads the action, then gives sequencing and follow-up guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple read-one-email tool with full schema coverage and annotations covering safety, the description is complete. It explains prerequisites, sequencing, and the optional mark-read follow-up, so nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all three parameters, including email, token, and messageId, are already documented in the schema. The description reinforces that messageId comes from divimail_inbox and that a token is needed, but adds no syntax or format details beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: open and read one email in full, including body and details, from the agent's mailbox. It clearly distinguishes this from divimail_inbox, which lists messages, so an agent can identify the right tool without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to call this after divimail_inbox using a messageId from that list. It also names divimail_mark_read as the follow-up for marking read, giving clear sequencing and alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_registerAInspect
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 call divimail_login (or divimail_challenge + divimail_authenticate) to get a token. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| provision | No | Set true to auto-provision a NEAR account if you do not have one. A provisioned registration returns a one-time apiKey — save it and use divimail_login. | |
| publicKey | No | Your own ed25519 public key (base58, optionally "ed25519:"-prefixed; must decode to 32 bytes). Client-side keygen: DiviMail stores only this public key and holds no private key. Returns a one-time apiKey. Do not combine with provision or nearAccountId. | |
| emailAlias | Yes | Desired email alias (e.g. myagent → myagent@divindi.io) | |
| nearAccountId | No | NEAR account ID (e.g. myagent.near) — omit to auto-provision a new NEAR account |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations by disclosing that provision and publicKey both return an apiKey shown ONCE and must be saved, and that only the public key is stored (no private key held server-side). This reinforces idempotentHint=false with 'call this once'. It stops short of describing failure behavior, such as what happens if the alias is already taken.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the purpose, then sequencing, then the parameter choice rule, then the one-time secret warning. No filler and the most actionable constraint (save the apiKey) closes the description.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly compensates by stating what provision/publicKey return. Sequencing to the auth siblings is covered. What is missing is error/edge handling — alias collisions, existing registrations, or what to do if the apiKey is lost — which matters for a non-idempotent creation call.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning the schema cannot express: the three identity parameters are mutually exclusive modes, and provision/publicKey carry a one-time apiKey return consequence. That mutual-exclusivity rule is genuine added value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Give an AI agent its own @divindi.io email address so it can send and receive email' — which unambiguously separates this creation step from the sibling auth tools (divimail_login, divimail_challenge, divimail_authenticate) and mail tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says to call this once, then names the exact follow-up path (divimail_login, or divimail_challenge + divimail_authenticate) to obtain a token. It also states the mutually exclusive selection rule across provision/publicKey/nearAccountId with 'Use exactly one of', and ranks them ('provision:true (easiest)').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_sendAInspect
Send an email from your agent's @divindi.io address to any email address, human or agent. Needs a token from divimail_login (or authenticate/service_token). 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.
| Name | Required | Description | Default |
|---|---|---|---|
| cc | No | Optional CC recipient(s) — a single email or an array of emails | |
| to | Yes | Recipient email address (any email — not just @divindi.io) | |
| bcc | No | Optional BCC recipient(s) — a single email or an array of emails | |
| from | Yes | Sender DiviMail address (e.g. myagent@divindi.io) | |
| html | No | Optional HTML email body | |
| text | Yes | Plain text email body | |
| token | No | JWT token from divimail_login, divimail_authenticate or divimail_service_token | |
| subject | Yes | Email subject line |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, open-world, non-idempotent but non-destructive write. The description adds genuinely new context beyond that: a $0.01 USDC per-email cost, the authentication dependency chain, a top-up escape hatch on low balance, and the sender-address constraint. It does not disclose failure behavior (what happens if payment or delivery fails, whether a failed send is charged), which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the core action, then auth, then cost, then body options. Every sentence supplies actionable information and none is redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 8-parameter, open-world send operation with full schema coverage and annotations, the description covers action, auth, cost, and top-up path. The notable omission is what the call returns (message id, status) since there is no output schema to fall back on.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including cc, bcc, html, and token is already documented in the schema. The description's mention of 'plain text, optional HTML, CC and BCC' restates that coverage rather than adding format or constraint detail. Baseline 3 is appropriate when the schema carries the semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Send an email') plus the exact scope: from the agent's @divindi.io address to any email, human or agent. The nature of the tool is unmistakable against siblings like divimail_inbox, divimail_read, and divimail_sent, which are all read-side operations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete prerequisite ('Needs a token from divimail_login (or authenticate/service_token)') and routes to divimail_balance and divimail_request_topup when funds are low. It does not state when-not to use it (e.g., don't use for replies inside a thread, use divimail_read first), so it stops short of full alternative routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
divimail_sentARead-onlyIdempotentInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| Yes | Your agent's full @divindi.io email address (e.g. myagent@divindi.io) | ||
| limit | No | Number of messages to return (default 20) | |
| token | No | JWT token from divimail_login, divimail_authenticate or divimail_service_token |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds scoping (only its own @divindi.io address) and the default limit of 20, but says nothing about ordering, pagination beyond the limit, or whether messages are ever truncated. Adequate but thin beyond what structured fields give.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short front-loaded sentences with no filler; purpose, use cases, alternative and prerequisites each appear once. Slight redundancy in restating the limit default already present in the schema keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a small read-only list tool with no output schema, this covers what it returns (sent messages), whose mailbox (the agent's own address), the auth prerequisite, and the sibling to use for the other direction. Return shape and ordering are the only real omissions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents email, limit and token fully. The description's 'Optional limit (default 20)' simply repeats the schema field description, adding no new meaning such as max values or ordering semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('lists sent messages for its @divindi.io address') and immediately disambiguates from the closest sibling: 'For received mail use divimail_inbox.' An agent can pick this over divimail_inbox or divimail_send without reading any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives two concrete use cases ('confirm a divimail_send went out' or 'review history') and names the alternative tool for the opposite direction. Missing only an explicit exclusion such as when limit should be raised or when this is pointless to call.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Removed
divimail_login - Removed
divimail_pay - Removed
divimail_request_topup
12 tool updates
- First observed
divimail_authenticate - First observed
divimail_balance - First observed
divimail_challenge - First observed
divimail_inbox - First observed
divimail_login - First observed
divimail_mark_read - First observed
divimail_pay - First observed
divimail_read - First observed
divimail_register - First observed
divimail_request_topup - First observed
divimail_send - First observed
divimail_sent
Related MCP Connectors
Email for AI agents: register a real inbox with no human, then send, receive and read mail.
Give an AI agent its own inbox — receive email as a webhook, send over a verified domain.
Email for AI agents — send, receive as a webhook, manage domains, templates, routing.
Email for AI agents: read, search and send from your Gmail, Outlook, Yahoo, iCloud or IMAP inbox.
Related MCP Servers
- AlicenseAqualityAmaintenanceEmail for AI agents. Create inboxes, send and receive emails without phone or CAPTCHA. Inboxes are server-readable, not end-to-end encrypted.21133 npmMIT
- AlicenseAqualityDmaintenanceEmail infrastructure for AI agents — create inboxes, send/receive email, search messages, and manage threads via MCP tools.103 npm2MIT
- FlicenseNot gradedqualityBmaintenanceEnables AI agents to autonomously create email accounts, verify domains, send and receive emails, and monitor delivery events without requiring human sign-up or payment.1-
- AlicenseNot gradedqualityDmaintenancePublic skill package and hosted MCP email infrastructure for AI agents with inbox creation, sending, memory, recovery, and Solana USDC credit payments.1MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.