agentmail 0.1.8

IMAP email client, MCP server, and CLI — read, search, delete, unsubscribe, and manage mailboxes
Documentation
[package]
name = "agentmail"
version = "0.1.8"
edition = "2024"
rust-version = "1.94"
description = "IMAP email client, MCP server, and CLI — read, search, delete, unsubscribe, and manage mailboxes"
documentation = "https://docs.rs/agentmail"
readme = "README.md"
homepage = "https://github.com/weekendsuperhero-io/agentmail"
repository = "https://github.com/weekendsuperhero-io/agentmail"
license = "Apache-2.0"
keywords = ["agent", "email", "imap", "mail", "mcp"]
categories = ["email", "network-programming"]

[lib]
name = "agentmail"
path = "src/lib.rs"

[[bin]]
name = "agentmail"
path = "src/main.rs"

[dependencies]
# IMAP protocol (tokio runtime)
async-imap = { version = "0.11", default-features = false, features = [
  "runtime-tokio"
] }
chrono = { version = "0.4", features = ["serde"] }
clap = { version = "4", features = ["derive"] }
dirs = "6"
fast_html2md = "0.0"
futures = "0.3"
hashbrown = { version = "0.16", features = ["rayon", "serde"] }
lettre = { version = "0.11", default-features = false, features = ["builder"] }
mail-parser = "0.11"
native-tls = "0.2"
reqwest = { version = "0.13", features = ["json"] }
rmcp = { version = "1.3", features = ["transport-async-rw", "transport-worker"] }
schemars = { version = "1.2", features = ["chrono04"] }
secret-lib = { version = "1", features = [
  "command",
  "derive",
  "keyring",
  "rustls",
  "tokio"
] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["full"] }
tokio-native-tls = "0.3"
toml = "1.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
uuid = { version = "1", features = ["v4"] }

[lints.clippy]
await_holding_lock = "deny"
cloned_instead_of_copied = "warn"
doc_markdown = "allow"
inefficient_to_string = "warn"
large_stack_arrays = "deny"
manual_let_else = "allow"
manual_string_new = "warn"
missing_errors_doc = "allow"
must_use_candidate = "allow"
needless_pass_by_value = "warn"
redundant_closure_for_method_calls = "allow"
semicolon_if_nothing_returned = "warn"
trivially_copy_pass_by_ref = "warn"
unnested_or_patterns = "warn"