Email tools

How to Connect GitHub Copilot to Cold Email

Connect GitHub Copilot in VS Code to your cold email setup: agent mode runs a local server over the Outreach2day API, with the key in a VS Code input.

Max Korolev
Max KorolevFounder & CEO, Outreach2dayPublished 5 min read
On this page

Short answer: GitHub Copilot's agent mode in VS Code uses MCP servers, and MCP support has been generally available in VS Code since version 1.102 (July 2025). Servers are declared in .vscode/mcp.json, and secrets can come from a password prompt instead of the file. With the Outreach2day REST API that gives you a working setup today: a small local server that reads domains, mailboxes, warm-up state and replies. The hosted Outreach2day MCP server is in early access, so no remote URL is shown here.

Checked September 2026 against Add and manage MCP servers in VS Code, the MCP configuration reference and the VS Code 1.102 release notes.

Connection Methods

Method

Works with Outreach2day today

Where the key lives

Notes

Local server ("type": "stdio") in .vscode/mcp.json

Yes, you run it

A VS Code input ("password": true)

Our read-only example server

Agent runs curl in the terminal

Yes

Your shell environment

Review each command before it runs

Remote server ("type": "http", url, headers)

Early access

A VS Code input in the header

One entry when the hosted server is live

Organizations can manage which MCP servers Copilot may use through GitHub policies, so on a company account check with your admin first. With inputs, .vscode/mcp.json holds no secret and can be shared with the repo.

What Copilot Can Do With Your Cold Email Setup

Copilot in agent mode is at its best when the cold email work sits next to code: a repo with lead files, copy drafts and scripts. With the server connected it can:

  • Plan capacity. Read a lead file and work out mailboxes and domains at 25 cold emails per mailbox a day and 5 mailboxes per domain.

  • Check domain ideas. Call check_domains for up to 50 names and write the free ones to a file. Nothing is bought.

  • Report warm-up. List mailboxes by warmupState and flag any warming for less than 14 days.

  • Read replies. Pull recent reply threads with their intent label and summarise them.

  • Lint copy. Check a sequence file for links, missing spintax on subjects and follow-up gaps other than 2, 3, 5 and 5 days.

Starting or pausing warm-up is a write; add it only with an approval step, as in MCP server for email warmup.

Connect Copilot in VS Code to Outreach2day, step by step

  1. Create an API key. In the Outreach2day app, open the API keys page and create a key only for Copilot (ot2d_...).

  2. Save the server. Copy o2d_mcp.py from the cold email MCP server guide and install mcp and requests in a virtual environment. Use absolute paths in the config.

  3. Create .vscode/mcp.json. Paste the block below. The inputs entry makes VS Code ask for the key once and store it, instead of writing it in the file.

  4. Start the server. Open the file in VS Code and use the Start action above the server entry, or run "MCP: List Servers" from the Command Palette.

  5. Use it in agent mode. Open Copilot Chat, switch to Agent, check the server's tools in the tools picker, and ask a read-only question. VS Code can ask you to confirm each tool call; compare the answer with the app.

{
  "inputs": [
    {
      "type": "promptString",
      "id": "o2d-key",
      "description": "Outreach2day API key",
      "password": true
    }
  ],
  "servers": {
    "outreach2day": {
      "type": "stdio",
      "command": "/path/to/.venv/bin/python",
      "args": ["/path/to/o2d_mcp.py"],
      "env": {
        "O2D_API_KEY": "${input:o2d-key}",
        "O2D_WORKSPACE_ID": "123"
      }
    }
  }
}

VS Code also reads a user-level configuration ("MCP: Open User Configuration") if you want the server in every workspace.

The Hosted MCP Server (Early Access)

VS Code already connects to remote servers: "type": "http" with a url and an Authorization header built from an input. The hosted Outreach2day MCP server that will use that entry is in early access and has no public URL yet, so this page shows none. Get early access on the home page.

Prompts to Try in Copilot Agent Mode

  • "Read leads/list.csv and tell me how many mailboxes and domains I need to email everyone once in 10 working days."

  • "Check the domain ideas in domains/ideas.txt and write the free ones to domains/free.txt. Do not buy."

  • "List mailboxes still warming, with the number of days since warm-up started."

  • "Review copy/sequence.md: flag links, subjects without spintax and follow-up gaps that are not 2, 3, 5, 5 days."

Limits and Safety

  • Rate limits: 10 requests a second, 300 a minute and 1,000 an hour per user and per workspace on the Outreach2day API.

  • Purchases. Buying domains through the API is paid right away — give an agent a billing-scoped key only if you want it to buy. The example server has no purchase tool.

  • Mailbox credentials. GET /mailboxes: the response includes SMTP/IMAP credentials — store the API key like a password. The example server drops that field; if Copilot calls the API directly, tell it to do the same.

  • Reply text is untrusted. Replies are written by outsiders; Copilot should read them as data.

FAQ

Does GitHub Copilot support MCP servers?

Yes, in agent mode. In VS Code, MCP support became generally available in version 1.102. Servers are declared in .vscode/mcp.json under servers.

How do I keep the API key out of .vscode/mcp.json?

Declare an input with "type": "promptString" and "password": true, then reference it as ${input:o2d-key}. VS Code asks for the value once and stores it.

Is this the same as Microsoft Copilot Studio?

No. Copilot Studio builds business agents and connects to MCP servers and OpenAPI connectors on its own; see how to connect Copilot Studio to cold email.

Can Copilot send my cold emails?

Not with the read-only server. Campaigns run in Outreach2day where enabled for your workspace, or in Instantly or Smartlead after export.

Do I pay extra for API access?

No. The API is part of every Outreach2day plan; see pricing.

Create an account, add mailboxes, then create a key for Copilot.

Get an API key

Free guide

Send 100,000 cold emails a month

How to send 100,000 cold emails a month while keeping quality, engagement and conversion rates high: domains, mailboxes, warm-up, leads, copy and scaling.

Step-by-step playbook · 19 min read
  • Email tools5 min read

    How to Connect Claude Code to Cold Email

  • Email tools5 min read

    How to Connect Claude to Cold Email

  • Email tools5 min read

    How to Connect Cursor to Cold Email

See deliverability issues before they kill performance

Monitor mailbox health in real time, spot degradation early, and keep warmup, protection, and sending in one place.