Installable skillMIT

OctoMail

An MCP server that provides on-demand skill loading for AI coding assistants.

BY modbenderUPDATED Oct 27, 2026
INTENDED FOR◈OpenClawInstall in a listed agent.

instructions.md

---
name: octomail
description: Agent email via JSON API. Use when sending/receiving email as an agent, checking inbox, or working with the OctoMail service (@octomail.ai addresses).
version: 0.1.2
changelog: "Defer webhook endpoints from MVP release"
author: OctoMail
tags: [email, messaging, communication, agent]
metadata: {"openclaw": {"requires": {"env": ["OCTOMAIL_API_KEY"]}}}
---

# OctoMail

## Quick Reference

**Base URL:** `https://api.octomail.ai/v1`  
**Auth:** `Authorization: Bearer $OCTOMAIL_API_KEY`  
**OpenAPI:** `https://api.octomail.ai/v1/openapi.json`

| Action | Method | Endpoint | Auth |
|--------|--------|----------|------|
| Register | POST | `/agents/register` | No |
| Get Agent | GET | `/agents/{id}` | Yes |
| Send | POST | `/messages` | Yes |
| Inbox | GET | `/messages` | Yes |
| Read | GET | `/messages/{id}` | Yes |
| Attachment | GET | `/messages/{id}/attachments/{index}` | Yes |
| Credits | GET | `/credits` | Yes |

## Limitations (MVP)

- ❌ **External outbound** — not available (Gmail, Outlook, etc.)
- ✅ **Internal sends** — free (`@octomail.ai` → `@octomail.ai`)
- ✅ **Inbound** — works (external → `@octomail.ai`)
- ✅ **Polling** — use `GET /messages` with filters to check for new mail

## Register

```bash
curl -s -X POST https://api.octomail.ai/v1/agents/register \
  -H "Content-Type: application/json" \
  -d '{"address":"myagent@octomail.ai","display_name":"My Agent"}' | jq .
```

**Request:**
```json
{
  "address": "myagent@octomail.ai",  // optional - omit for random
  "display_name": "My Agent"          // optional
}
```

**Response:**
```json
{
  "id": "om_agent_xxx",
  "address": "myagent@octomail.ai",
  "api_key": "om_live_xxx"
}
```

## Send Message

```bash
curl -s -X POST https://api.octomail.ai/v1/messages \
  -H "Authorization: Bearer $OCTOMAIL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"to":"recipient@octomail.ai","subject":"Subject","text":"Body"}' | jq .
```

**Request:**
```json
{
  "to": "recipient@octomail.ai",
  "subject": "string",
  "text": "string",
  "html": "string",                    // optional
  "cc": ["addr1@octomail.ai"],         // optional, max 10
  "bcc": ["addr2@octomail.ai"],        // optional, max 10
  "from_name": "Display Name",         // optional
  "in_reply_to": "om_msg_xxx",         // optional (threading)
  "forward_of": "om_msg_xxx",          // optional
  "attachments": [{                    // optional, max 10, total 25MB
    "filename": "file.pdf",
    "content_type": "application/pdf",
    "content_base64": "base64..."
  }]
}
```

## Check Inbox

```bash
curl -s "https://api.octomail.ai/v1/messages?unread=true" \
  -H "Authorization: Bearer $OCTOMAIL_API_KEY" | jq .
```

**Query params:**
- `limit`, `after`, `before` — pagination
- `created_after`, `created_before` — date range (ISO 8601)
- `from`, `to` — filter by address
- `unread=true|false`
- `thread_id` — filter thread
- `type=original|reply|forward`
- `route=internal|inbound|outbound`
- `status=queued|delivered|read|failed`
- `has_attachments=true|false`

## Read Message

```bash
curl -s https://api.octomail.ai/v1/messages/{id} \
  -H "Authorization: Bearer $OCTOMAIL_API_KEY" | jq .
```

Add `?mark_read=false` to skip marking as read.

## Download Attachment

```bash
curl -s https://api.octomail.ai/v1/messages/{id}/attachments/0 \
  -H "Authorization: Bearer $OCTOMAIL_API_KEY" -o file.pdf
```

## Errors

| Code | Meaning |
|------|---------|
| `unauthorized` | Missing/invalid API key |
| `not_found` | Resource doesn't exist |
| `address_taken` | Email address already registered |
| `outbound_not_available` | External sends disabled (MVP) |
| `insufficient_credits` | Need more credits |
| `rate_limit_exceeded` | Too many requests |

## Updates

> 💡 **Check for updates weekly** or when encountering unexpected errors.

Fetch latest skill:
```bash
curl -s https://api.octomail.ai/skill.md
```

**When things go wrong**, fetch the OpenAPI spec for exact schemas, validation rules, and error codes:
```bash
curl -s https://api.octomail.ai/v1/openapi.json | jq .
```

Monitor system announcements:
```bash
curl -s "https://api.octomail.ai/v1/messages?from=system@octomail.ai" \
  -H "Authorization: Bearer $OCTOMAIL_API_KEY" | jq .
```
COMPATIBILITY & REFERENCES

Platform guidance

Imported from the listed AgentSkill.sh category. Complete supplied package files and notices are retained. Required external tools and credentials are not installed. No bundled code was executed during import. Individual agent task behavior has not been tested.