Add MultiMail Email Tools to VS Code Copilot

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.

Get started

1

Get your MultiMail API key

Sign up at multimail.dev and create an API key from your dashboard. You'll use this key in the MCP server configuration.

2

Create an agent mailbox

In the MultiMail dashboard, create a mailbox for Copilot to use. Start with gated_send oversight mode so emails require your approval before sending.

3

Enable Copilot agent mode

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.

4

Add MultiMail MCP config

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.

json
"cm">// .vscode/mcp.json (workspace-scoped)
{
  "mcpServers": {
    "multimail": {
      "command": "npx",
      "args": ["-y", "@multimail/mcp-server"],
      "env": {
        "MULTIMAIL_API_KEY": "mm_live_your_key_here"
      }
    }
  }
}
5

Switch to agent mode and verify

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.

json
# In Copilot Chat (Agent mode):
List my MultiMail mailboxes

Available MCP tools

ToolDescriptionExample
send_emailSend an email from your agent mailbox to any recipient.Email a teammate about a completed code review.
reply_emailReply to a received email, maintaining the thread context.Reply to a requirements clarification email from the product team.
check_inboxCheck a mailbox for new or unread messages.Check for new emails from the staging alert system.
read_emailRead the full content of a specific email including headers and body.Read the full text of a specification document sent via email.
create_mailboxCreate a new agent mailbox on your MultiMail account.Spin up a new mailbox for a specific workspace or project.
list_mailboxesList all mailboxes on your MultiMail account.See all available mailboxes to select the right one for sending.
get_threadRetrieve an entire email thread to see the full conversation history.Pull up the full discussion thread about a technical decision.
search_contactsSearch your contact list by name, email, or tags.Look up a colleague's email address to send a file.
add_contactAdd a new contact to your MultiMail contact list.Save a new external reviewer's contact information.
tag_emailTag or categorize an email for organization and filtering.Tag an email with 'action-required' for follow-up.
list_pendingList all emails currently awaiting human approval.Check the approval queue for any outbound emails waiting.
decide_emailApprove or reject a pending email in the oversight queue.Approve a follow-up email after checking its content.

Usage examples

Workspace-scoped MCP config
json
{
  "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.

Global VS Code settings.json config
json
{
  "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.

PR summary email workflow
text
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.

Using input variables for API keys
json
{
  "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.


Best practices

Use workspace-scoped config for team projects

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.

Agent mode is required for MCP tools

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.

Use input variables to protect API keys

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.

Combine with other Copilot tools

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.


Common questions

What version of VS Code do I need for MCP support?
MCP server support in VS Code requires version 1.99 or later, along with the latest GitHub Copilot and Copilot Chat extensions. Make sure to update both VS Code and the Copilot extensions to their latest versions for the best experience.
What's the difference between .vscode/mcp.json and settings.json?
The .vscode/mcp.json file is workspace-scoped and can be committed to version control for team sharing. The settings.json approach puts the MCP config in your global VS Code user settings, making it available across all workspaces. Use workspace-scoped config for project-specific setups and global config for personal tools you always want available.
Can I use MultiMail with GitHub Copilot in other editors?
GitHub Copilot's MCP support is currently available in VS Code. Other editors like JetBrains IDEs have Copilot extensions but may not yet support MCP servers. Check the GitHub Copilot documentation for the latest on MCP support across editors.
How do I avoid committing my API key to the repository?
Use VS Code input variables to prompt for the API key at runtime. Set the type to 'promptString' with password: true so the key is masked. Alternatively, reference an environment variable in your config and set it in your shell profile rather than in the config file.
Why doesn't Copilot use the MultiMail tools?
First, confirm you're in agent mode, not ask or edit mode. Then check that your MCP config is valid JSON and the server name matches. Reload the VS Code window after config changes. If tools still don't appear, check the Output panel for MCP server errors.
Can Copilot agent handle email workflows autonomously?
Copilot can invoke MultiMail tools as part of multi-step workflows, but the level of autonomy depends on your mailbox oversight mode. In gated_send mode, emails queue for approval. In autonomous mode, Copilot can send without human review. Start with gated mode and increase autonomy as you gain confidence in the outputs.
Does this work with VS Code forks like Cursor or Windsurf?
Cursor and Windsurf have their own MCP implementations with different config file locations. Cursor uses ~/.cursor/mcp.json and Windsurf uses ~/.codeium/windsurf/mcp_config.json. The MultiMail MCP server works with all of them, but you need to use the correct config path for each editor.

More MCP clients

The only agent email with a verifiable sender

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