Connect MultiMail to Jan for Local-First AI Email

Add email capabilities to Jan's local AI assistant through MCP. Run models offline while managing email through MultiMail's API.


Jan is an open-source desktop AI assistant designed for local-first, privacy-focused AI usage. It runs models directly on your machine with full offline support, and its MCP extension system lets you connect external tools like MultiMail. Your conversations stay local while MultiMail handles the email operations.

MCP servers in Jan are configured through the MCP extension at ~/jan/extensions/mcp/config.json. The extension manages server lifecycle and provides the transport layer for tools. Once configured, MultiMail tools appear in Jan's interface alongside your local model's capabilities.

This integration appeals to privacy-conscious users who want AI email capabilities without sending their conversations to the cloud. Jan processes your prompts locally, and only the specific email actions — sending a message, reading an inbox — touch MultiMail's API. The combination delivers AI-powered email with minimal data exposure.

Get started

1

Get your MultiMail API key

Sign up at multimail.dev and create an API key from your dashboard. This key authenticates all MCP server requests.

2

Install the MCP extension

Open Jan's extension manager and install the MCP extension if it's not already installed. This extension provides the infrastructure for connecting MCP servers.

3

Configure the MultiMail MCP server

Edit the MCP extension config file at ~/jan/extensions/mcp/config.json and add the MultiMail server.

4

Create an agent mailbox

In the MultiMail dashboard, create a mailbox for Jan to use. Start with gated_send oversight mode so all outbound emails require your approval before delivery.

5

Choose a tool-capable model

Select a local model that supports function calling. Models like Mistral, Llama 3, or other tool-capable variants work best for reliable MCP tool use.

6

Verify the connection

Start a new conversation in Jan and ask it to list your MultiMail mailboxes. If the MCP extension is configured correctly, you'll see your mailboxes returned.


Available MCP tools

ToolDescriptionExample
send_emailSend an email from your agent mailbox to any recipient.Send a quick update email while working in your local AI assistant.
reply_emailReply to a received email, maintaining the thread context.Reply to a message with AI-drafted content from your local model.
check_inboxCheck a mailbox for new or unread messages.Check for new emails without leaving your desktop AI app.
read_emailRead the full content of a specific email including headers and body.Read an email and have your local model analyze its tone and intent.
create_mailboxCreate a new agent mailbox on your MultiMail account.Create a dedicated mailbox for a personal project.
list_mailboxesList all mailboxes on your MultiMail account.View available mailboxes before choosing a sender.
get_threadRetrieve an entire email thread to see the full conversation history.Get full thread context before composing a detailed reply.
manage_contactsSearch your contact list by name, email, or tags.Find a contact's email to send them an update.
manage_contactsAdd a new contact to your MultiMail contact list.Save a new contact from a received email.
tag_emailTag or categorize an email for organization and filtering.Tag emails by category for organized retrieval.
list_pendingList all emails currently awaiting human approval.Review pending emails before approving them.
decide_emailApprove or reject a pending email in the oversight queue.Approve a draft email after reviewing its content.

Try it with your agent

No code, no dashboard. Paste this to your AI agent — it connects MultiMail, creates an inbox, and builds the flow for you.

You are my Jan.ai assistant. Connect me to MultiMail and keep every send approval-gated. 1. Read https://multimail.dev/llms.txt first and use only the current MultiMail MCP setup details documented there. 2. Help me add MultiMail's MCP server to Jan.ai so this local assistant can use MultiMail email tools through MCP. 3. After the MCP server is connected, create a free MultiMail inbox for me and guide me through setting up a verified sending domain. 4. Send one short test email from the new inbox. Then show me how to check the inbox, open the received message, and draft a reply without sending it yet. 5. Run MultiMail in gated_send oversight mode for this session, so every composed, sent, or scheduled email requires my explicit approval before anything leaves the inbox.

Best practices

Local models need function calling support

Not all local models support function calling, which is required for MCP tool use. Choose models explicitly trained for tool use, such as Mistral with function calling, Llama 3 Instruct, or similar variants. Smaller quantized models may not invoke tools reliably.

Draft offline, send online

Jan's offline capability means you can draft emails with your local model even without internet. When you reconnect, the MCP server can send the drafted emails through MultiMail. This workflow is useful for composing sensitive emails privately before sending.

Privacy-first email composition

With Jan running a local model, your email drafts and prompts never leave your machine. Only the final email content is sent through MultiMail's API when you explicitly trigger a send. This makes Jan ideal for drafting sensitive or confidential correspondence.

Manage models through Jan's UI

Jan includes a model manager that lets you download, switch, and configure models. If one model doesn't handle MCP tools well, try switching to another. The MCP configuration persists across model changes.


Common questions

Do my conversations stay local when using MultiMail?
Yes. Jan processes your prompts and generates responses using a model running on your machine. Only the specific email operations — sending, reading, and managing emails — communicate with MultiMail's API. Your conversation history, prompts, and drafts stay on your local device.
Can I use MultiMail offline in Jan?
You can draft emails offline using Jan's local model, but sending, reading, and managing emails requires an internet connection to reach MultiMail's API. The offline workflow is: draft emails locally, then send them when you reconnect.
Which local models work best with MCP tools?
Models with explicit function calling or tool use training work best. Look for models labeled as 'Instruct' or 'Function Calling' variants, such as Mistral Instruct, Llama 3 Instruct, or Hermes variants. Smaller models under 7B parameters may struggle with reliable tool invocation.
Where is Jan's MCP config file?
On macOS and Linux, the config is at ~/jan/extensions/mcp/config.json. On Windows, it's at %USERPROFILE%\jan\extensions\mcp\config.json. The MCP extension creates this directory when installed. If the file doesn't exist, create it with the MultiMail server configuration.
Does Jan support multiple MCP servers?
Yes. Add multiple servers to the mcpServers object in the config file, each with its own key. Jan's MCP extension manages the lifecycle of all configured servers and makes their tools available in conversations.

More MCP clients

The only agent email with a verifiable sender

Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a hosted MCP server. Formally verified in Lean 4.