# MCP tools

> The twelve tools the Atmark MCP server gives an agent, and the scope each one needs.

- `send_email`
- `reply_email`
- `forward_email`
- `list_inbox`
- `read_email`
- `get_thread`
- `get_attachment_url`
- `get_approval_status`
- `get_my_policy`
- `get_verification_code`
- `list_scheduled`
- `cancel_scheduled`

## What each tool does

| Tool | What it does | Scope |
|---|---|---|
| `send_email` | Sends a new email. Without `from`, it sends from the primary address. | Send |
| `reply_email` | Replies to a received email. By default it goes to the sender, with the subject `Re: …`. | Send |
| `forward_email` | Forwards a received email: body text only, no attachments. | Send |
| `list_inbox` | Lists received mail, newest first. Filter by sender, time range, or thread. Quarantined mail shows only as a count. | Read |
| `read_email` | Reads one received email. Long bodies are truncated; continue with `offset`. | Read |
| `get_thread` | Shows a thread. Long threads show the newest messages first; page back with `before_message_id`. | Read |
| `get_attachment_url` | A download link for a received attachment (valid 5 minutes) | Read |
| `get_approval_status` | The result of a pending approval (pending, approved, rejected, or expired) | Read |
| `get_my_policy` | Its own policy, limits, and default sending address | Self |
| `get_verification_code` | Finds sign-up and login codes. See [Verification codes](https://docs.atmark.ai/en/email/verification-codes). | Read |
| `list_scheduled` | Scheduled mail and its status (`scheduled`, `dispatched`, `cancelled`) | Read |
| `cancel_scheduled` | Cancels a schedule. A reason code is required. | Send |

## Good to know

- `agent_id` isn't an argument; the token decides it. An agent only sees its own mail and information.
- Tools that need owner rights (such as changing the policy) don't exist on the server. There's no tool to **create** schedules either; create them with the [REST API](https://docs.atmark.ai/en/api/scheduled).
- Calling again with the same arguments never sends twice. The result carries `replayed: true`. So to resend a denied email after its cause is fixed, pass a new `idempotency_key`.
- Send results (`sent`, `denied`, `pending_approval`) and a refused forward (`refused`) are all normal results. The `next_step` line in the result says what to do next.
- Received mail's body, subject, addresses, and file names only appear inside the outside-data block of the result. See [Treat received mail as data](https://docs.atmark.ai/en/connect/untrusted-mail).

---

Source: https://docs.atmark.ai/en/connect/mcp-tools · Last updated 2026-09-27
