AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Jmap Email

skill-jacobrask-claude-skills-jmap-email · by jacobrask

Enables JMAP email operations using Node.js and jmap-jam library. Use when working with JMAP email servers, FastMail, Cyrus IMAP, Stalwart Mail Server, or when user mentions email search, reading, sending, or mailbox management.

No reviews yet
0 installs
13 views
0.0% view→install

Install

$ agentstack add skill-jacobrask-claude-skills-jmap-email

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-jacobrask-claude-skills-jmap-email)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
7mo ago

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Jmap Email? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

JMAP Email Access

Access JMAP email servers (FastMail, Cyrus IMAP, Stalwart) using pre-built scripts.

Prerequisites

Environment variables must be set before launching Claude Code:

  • JMAP_SESSION_URL - JMAP server session URL
  • JMAP_BEARER_TOKEN - Authentication bearer token
  • JMAP_ACCOUNT_ID - Account ID (optional, auto-detected)

Available Scripts

Choose the right script:

  • Browse recent emails? → Use list-emails.ts (supports --unread, --flagged, --mailbox, --from, --limit filters)
  • Search by sender? → Use list-emails.ts --from "sender@example.com"
  • Search for multiple keywords? → Use search-keywords.ts keyword1 keyword2 ...
  • Get full email content? → Use get-email.ts with email ID
  • View folder structure? → Use list-mailboxes.ts
  • Move emails by ID? → Use move-by-ids.ts --mailbox ...
  • Delete emails? → Use delete-emails.ts ...

All scripts support --help for detailed usage.

Common Tasks

Browse unread emails

node scripts/list-emails.ts --unread
node scripts/list-emails.ts --unread --limit 50

Find emails from specific sender

node scripts/list-emails.ts --from "sender@example.com"
node scripts/list-emails.ts --from "sender@example.com" --unread

Search for receipts or specific content

node scripts/search-keywords.ts "invoice" "receipt" "order confirmation"
node scripts/search-keywords.ts --mailbox "Archive" --limit 10 "meeting" "agenda"

Note: Search shows previews only. For full email content, use get-email.ts with the email ID.

Get full email content

node scripts/get-email.ts 

Organize emails (classification workflow)

  1. Search for candidates: search-keywords.ts "keyword1" "keyword2"
  2. Review previews and identify relevant email IDs
  3. (Optional) View full content: get-email.ts
  4. Move to target mailbox: move-by-ids.ts --mailbox @MailboxName id1 id2 id3

Interactive email triage

Workflow for processing new emails with learning:

  1. Fetch recent emails:
  • Use list-emails.ts --limit 20 to get batch (optionally add --unread or --mailbox "Inbox")
  • Review subject, sender, and preview
  1. Present classification options:
  • Use AskUserQuestion with multiSelect for each email
  • Options should be target mailboxes (Inbox, Archive, @Reference, etc.)
  • Allow user to select destination for each email
  1. Execute moves:
  • Group emails by target mailbox
  • Use move-by-ids.ts --mailbox ... for each group
  1. Save routing patterns to memory:
  • Note sender domains and subjects that map to specific mailboxes
  • Record user's classification decisions (e.g., "newsletters from X → Archive")
  • Reference these patterns in future triage sessions
  • Suggest automatic routing rules based on observed patterns

Benefits:

  • Process inbox in batches with interactive guidance
  • Build up routing knowledge over time
  • Suggest classifications based on past decisions
  • Gradually automate common routing patterns

View mailbox structure

node scripts/list-mailboxes.ts

Output Format

Scripts output compact, human-readable results:

Found 5 email(s) (unread)
================================================================================

⭐ [UNREAD] Meeting tomorrow
From: John Doe 
Date: 1/15/2024, 10:30:45 AM
ID: StrgucNsyw-3
Preview: Hi Jane, let's meet at 2pm to discuss the project...
--------------------------------------------------------------------------------

Advanced Usage

For writing custom JMAP operations or understanding the API, see:

  • Code Examples: [examples.md](examples.md)
  • API Reference: [reference.md](reference.md)
  • Development Guide: [DEVELOPMENT.md](DEVELOPMENT.md)

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.