langchain-multimail
⚠️ DEPRECATED (2026-08-08). This package is retired and will receive no further updates. MultiMail's supported integration surfaces are the MCP server at
https://mcp.multimail.dev(LangChain, CrewAI, LlamaIndex, Claude, and all MCP-capable frameworks connect natively) and the REST API (https://multimail.dev/docs). This final release only adds this deprecation notice.
LangChain tools for MultiMail — give your LangChain agents email capabilities with graduated human oversight.
Installation
pip install langchain-multimail
Quick Start
from langchain_multimail import MultiMailToolkit
from langchain_openai import ChatOpenAI
from langchain.agents import create_tool_calling_agent, AgentExecutor
from langchain_core.prompts import ChatPromptTemplate
# Create tools
toolkit = MultiMailToolkit(api_key="mm_live_your_api_key")
tools = toolkit.get_tools()
# Create agent
llm = ChatOpenAI(model="gpt-4o")
prompt = ChatPromptTemplate.from_messages([
("system", "You are an email assistant. Use the MultiMail tools to help the user manage email."),
("human", "{input}"),
("placeholder", "{agent_scratchpad}"),
])
agent = create_tool_calling_agent(llm, tools, prompt)
executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
# Run
executor.invoke({"input": "Check my inbox and summarize any new emails"})
Available Tools
| Tool | Description |
|---|---|
check_inbox |
List recent emails in a mailbox |
read_email |
Read the full content of an email |
send_email |
Send an email (held for approval if gated) |
reply_email |
Reply to an existing email thread |
search_contacts |
Search contacts by name or email |
list_pending |
List emails awaiting human approval |
decide_email |
Approve or reject a pending email |
get_thread |
Get all emails in a conversation |
tag_email |
Add key-value tags to an email |
Oversight Modes
MultiMail supports graduated oversight so your agent doesn't send unsupervised email:
gated_all— Agent drafts, human approves everythinggated_send— Agent reads freely, human approves outbound (default)monitored— Agent sends, human can review afterautonomous— Full agent control
When a mailbox uses gated oversight, send_email returns pending_send_approval and the email waits for human review. The agent can check status with list_pending.
Using Individual Tools
from multimail import MultiMail
from langchain_multimail import CheckInboxTool, SendEmailTool
client = MultiMail("mm_live_your_api_key")
inbox = CheckInboxTool(client=client)
sender = SendEmailTool(client=client)
# Use directly
print(inbox.run({"mailbox_id": "your_mailbox_id", "limit": 5}))
Links
- MultiMail — Homepage & docs
- multimail — Base Python SDK
- MCP Server — For Claude, Cursor, and other MCP clients
Release files for langchain-multimail 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langchain_multimail-0.1.1.tar.gz | 37.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langchain_multimail-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 43.8 kB
Release files / langchain_multimail-0.1.1.tar.gz
| Download URL | langchain_multimail-0.1.1.tar.gz |
|---|---|
| Size | 37.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
865096b95ed7def4ae122e134a81a5093a1209c9f41d29c0aff248d91969a3fd
|
|
BLAKE2b-256 checksum How to use checksums |
fca66e8b99001c170239069af3ab673fcbcbb83439c6cb7c90cdb06079c9555f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / langchain_multimail-0.1.1-py3-none-any.whl
| Download URL | langchain_multimail-0.1.1-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
295896dc5b9bf50b887d7dd7aaaf725f7953df2d31070eee10aab7e917dc45a1
|
|
BLAKE2b-256 checksum How to use checksums |
52b79467ea4db64a6f2539faf7cded45a07155aaff1c31f2226695e401c94980
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|