Connect MultiMail via MCP to GitHub Copilot's agent mode in VS Code. Send, read, and manage email with oversight controls from your editor.
VS Code with GitHub Copilot now supports MCP servers through Copilot's agent mode, bringing external tool integrations directly into your editor. By adding MultiMail as an MCP server, Copilot can send emails, manage inboxes, and handle email workflows alongside your coding tasks.
VS Code supports both global and workspace-scoped MCP configurations. Add MultiMail globally in your VS Code settings.json for access everywhere, or use a .vscode/mcp.json file for workspace-specific setups that you can share with your team.
Copilot's agent mode supports both stdio and SSE transport. MultiMail uses stdio by default, making setup straightforward. Once configured, email tools appear in Copilot's agent mode alongside its built-in coding capabilities.
Sign up at multimail.dev and create an API key from your dashboard. You'll use this key in the MCP server configuration.
In the MultiMail dashboard, create a mailbox for Copilot to use. Start with gated_send oversight mode so emails require your approval before sending.
Make sure you have GitHub Copilot and Copilot Chat extensions installed in VS Code. Agent mode with MCP support requires VS Code 1.99 or later and the latest Copilot extension.
Add the MultiMail MCP server to your VS Code configuration. You can use the global settings.json or create a .vscode/mcp.json file in your workspace.
"cm">// .vscode/mcp.json (workspace-scoped)
{
"mcpServers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "mm_live_your_key_here"
}
}
}
}Open Copilot Chat and switch from 'Ask' mode to 'Agent' mode using the mode selector. Then ask Copilot to list your MultiMail mailboxes to verify the connection.
# In Copilot Chat (Agent mode):
List my MultiMail mailboxes| Tool | Description | Example |
|---|---|---|
| send_email | Send an email from your agent mailbox to any recipient. | Email a teammate about a completed code review. |
| reply_email | Reply to a received email, maintaining the thread context. | Reply to a requirements clarification email from the product team. |
| check_inbox | Check a mailbox for new or unread messages. | Check for new emails from the staging alert system. |
| read_email | Read the full content of a specific email including headers and body. | Read the full text of a specification document sent via email. |
| create_mailbox | Create a new agent mailbox on your MultiMail account. | Spin up a new mailbox for a specific workspace or project. |
| list_mailboxes | List all mailboxes on your MultiMail account. | See all available mailboxes to select the right one for sending. |
| get_thread | Retrieve an entire email thread to see the full conversation history. | Pull up the full discussion thread about a technical decision. |
| search_contacts | Search your contact list by name, email, or tags. | Look up a colleague's email address to send a file. |
| add_contact | Add a new contact to your MultiMail contact list. | Save a new external reviewer's contact information. |
| tag_email | Tag or categorize an email for organization and filtering. | Tag an email with 'action-required' for follow-up. |
| list_pending | List all emails currently awaiting human approval. | Check the approval queue for any outbound emails waiting. |
| decide_email | Approve or reject a pending email in the oversight queue. | Approve a follow-up email after checking its content. |
{
"mcpServers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "mm_live_your_key_here"
}
}
}
}Create a .vscode/mcp.json file in your project root for workspace-specific MultiMail configuration.
{
"mcp": {
"servers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "mm_live_your_key_here"
}
}
}
}
}Add MultiMail to your global VS Code settings for access across all workspaces. On macOS this file is at ~/Library/Application Support/Code/User/settings.json.
Look at the current git diff against main. Summarize the key changes, then send an email to [email protected] with subject 'PR Ready: Feature X' and include the summary along with a link to the PR.Ask Copilot agent to summarize your PR changes and email the summary to reviewers.
{
"mcpServers": {
"multimail": {
"command": "npx",
"args": ["-y", "@multimail/mcp-server"],
"env": {
"MULTIMAIL_API_KEY": "${input:multimail-key}"
}
}
},
"inputs": [
{
"id": "multimail-key",
"type": "promptString",
"description": "MultiMail API Key",
"password": true
}
]
}VS Code supports input variables in MCP config so you can avoid hardcoding API keys.
Create a .vscode/mcp.json file and commit it to your repository with a placeholder API key. Each team member can override the key using VS Code input variables or environment variables. This ensures consistent MCP server setup across the team.
MCP tools only work in Copilot's agent mode, not in ask or edit mode. Make sure to switch to agent mode in the Copilot Chat panel before trying to use MultiMail tools. The mode selector is at the top of the chat input.
VS Code's input variables let you prompt for the API key at runtime instead of hardcoding it. This is especially useful for shared workspace configs where you don't want to commit secrets. Use ${input:multimail-key} in your config and define the input prompt.
Copilot agent mode can use multiple tools in a single interaction. Combine MultiMail's email tools with Copilot's built-in terminal, file editing, and code search capabilities for end-to-end workflows that span coding and communication.
Email infrastructure built for AI agents. Verifiable identity, graduated oversight, and a 38-tool MCP server. Formally verified in Lean 4.