VS Code and GitHub Copilot: run Yirlo from your editor

By the Yirlo team · Product details checked against the app

Through the Yirlo MCP server, GitHub Copilot in VS Code gets direct access to your Yirlo account. With the connection live, Copilot Chat in Agent mode can pull up hot leads, adjust a daily budget, pause a campaign or reply to a prospect, and you never leave the editor. Setup takes one short JSON file plus an API key.

I don't have a website

What the connection gives Copilot

Connect to the MCP server at https://yirlo.com/mcp. It speaks Streamable HTTP, protocol revision 2025-06-18 of MCP. Copilot gets 33 tools, each wrapping one request to Yirlo's public API. When you ask about your outbound, it picks the right tool, runs it and replies in the chat.

This fits anyone who is in VS Code all day: developers selling their own product, technical founders, and small teams where one person writes the code and watches the pipeline. Outbound gets checked between commits, with no extra tab or dashboard.

Before you start

To begin, you need a Yirlo project and an API key. The first project is created on yirlo.com, starting from your site address and an initial payment. For additional projects, use that same page or let the agent in your editor call create_project. Yirlo reads through your offer and your likely buyers, then drafts campaign proposals. When the agent created the project, those campaigns wait in a paused state until you tell it to start. After that, the agent can take over the day-to-day operation.

That one credential covers the REST API, both SDKs and the MCP server.

You also need a version of VS Code with GitHub Copilot Chat and MCP support enabled for your account or organization.

Add the Yirlo server to mcp.json

To share the setup with a project, create .vscode/mcp.json in the workspace. To have Yirlo in every window, edit your user-level mcp.json instead. The file has two top-level keys, inputs and servers. Use this content as written:

{
  "inputs": [
    {
      "id": "yirlo-api-key",
      "type": "promptString",
      "description": "Paste your Yirlo key",
      "password": true
    }
  ],
  "servers": {
    "yirlo": {
      "url": "https://yirlo.com/mcp",
      "type": "http",
      "headers": {
        "Authorization": "Bearer ${input:yirlo-api-key}"
      }
    }
  }
}

On first launch, VS Code prompts for the key and hides the characters as you type, thanks to the inputs block. That value is then placed in the Authorization header as a Bearer token. Sending it in an X-API-Key header instead also works, should you favor that style.

Start the server from the MCP controls in VS Code, enter your yk_live_ key when prompted, and the 33 Yirlo tools appear in the tools list.

See the campaigns Yirlo would run for your company.Start now

Run a first test request

Switch the chat to Agent mode before asking for anything, because that is when Copilot can actually run the Yirlo tools. In Ask mode, answers come from the model by itself.

A harmless first request is a read-only one: "Use Yirlo to show my account and credit balance." Copilot calls get_account and get_balance, then reports back, and on first use VS Code asks you to approve the call. When the figures agree with the app, you know the link is working.

A second safe check is "List my Yirlo projects and campaigns." That calls list_projects and list_campaigns and gives you the names you will use in later requests.

What you can ask

The tools cover the daily work of running outbound. Phrase requests the way you would say them to a colleague and Copilot maps them to the right call.

Reading and reporting:

  • Ask Copilot for this week's count of new hot leads, and it calls list_hot_leads, backed by the analytics tools.
  • "Which campaign gets the most replies?" uses campaign_analytics and project_analytics.
  • "Show me the last conversation with the VP at that logistics company." uses list_inbox and read_conversation.
  • "Who is on the team?" uses list_team.

Changing things from chat

Write tools let Copilot act on the account. You can say "pause the campaign for dentists," and it will find the campaign and call stop_campaign. "Raise the daily budget to $30" maps to the budget tools, and "archive the old agencies campaign" maps to archive_campaign. You can also create and start campaigns, set lead notes and statuses, and invite a teammate by email.

Blocking contacts follows the same pattern. Telling Copilot to put a rival's domain on the do-not-contact list triggers suppress_domains, while individual addresses are handled by suppress_emails. On the integration side you can list webhooks, create one and fire a test event, which is handy when hot leads flow into a CRM via Zapier, n8n or Make.

Heads up: anything Copilot answers on your behalf is a genuine email delivered to the lead. A prompt such as "respond to the latest interested lead and suggest Tuesday" does the job. Copilot goes through the thread, composes the answer and sends it. If you want to check the wording first, ask to see the draft before it goes out.

A working session in the editor

A typical morning might look like this. You ask for hot leads from the past week, and Copilot lists the people who replied with interest and the campaign each came from. You ask it to open the conversation with the most promising one, then to reply offering two time slots, using the booking link already set for the project. Then you add a note to the lead so the context stays with the conversation.

Over time you can ask how each campaign is doing and whether the daily budget still fits. Yirlo already moves more of the budget to campaigns that draw replies and pauses weak ones, so what you change in chat is a fine-tuning layer. Each email costs roughly five cents from prepaid credit, so changing the budget directly sets how many emails go out each day.

Keeping the key safe

Anyone holding a yk_live_ key can change budgets and send email on your behalf, so treat it like a password. The config above declares the promptString input with password: true, which keeps the key out of mcp.json. The file stores only the input's name, so it is safe to commit to a shared repository.

Avoid pasting the key directly into the headers field, into chat messages, into a README or into an .env file that is tracked by git. If your team shares a workspace, each person should create and enter their own key.

If you think a key has leaked, go to yirlo.com/app/api-keys, delete it and generate a replacement. That one key also authenticates the SDKs and the MCP server, so replace it wherever else it appears.

Keep VS Code's tool confirmations switched on for write actions. A short pause before reply, set_campaign_budget or start_campaign lets you read what Copilot is about to do.

Questions

Where does the Yirlo MCP server live?

The server is hosted at yirlo.com/mcp. It offers 33 tools over Streamable HTTP, following MCP protocol version 2025-06-18.

Where do I get the API key?

The prefix yk_live_ marks it, and it authorizes requests to the Yirlo API as well as to either SDK.

Why do the Yirlo tools never run in my chat?

Switch Copilot Chat to Agent mode. The tools run there. Also check that the yirlo server shows as started in the MCP controls and that you entered the key when prompted.

Should I use .vscode/mcp.json or the user mcp.json?

Use .vscode/mcp.json to share the setup with everyone working in one repository, and the user mcp.json to have Yirlo in every window on your machine. The root key is servers in both.

Is it safe to commit mcp.json?

Yes, with the config shown on this page. The key is requested through a masked prompt input, so the file holds only the input id yirlo-key and never the key itself.

Can I send the key in a different header?

Yes. An Authorization header with a Bearer token carries it, and so does an X-API-Key header.

Can Copilot start a project from my website?

Your first project, covering your main website, is set up on yirlo.com when you make your first payment. After that, Copilot in Agent mode can add others: it invokes create_project for the domain you name, polls get_project until the status shows ready, and then runs that project's campaigns, budgets and inbox.

Does the reply tool really send email?

Yes. Replying through the tool sends a genuine message to the lead. To approve the text first, tell Copilot to show you the draft before sending.

Does using MCP cost extra?

The MCP server itself adds no charge. Sending runs about $0.05 per email, paid from credit you top up, with no monthly plan and no per-seat pricing. A daily budget that you choose caps how much is spent.

Can I get hot leads into my CRM from here?

Yes. Zapier, n8n and Make can catch Yirlo's webhooks, so new replies and interested leads flow into HubSpot, Salesforce, Pipedrive or any CRM you run. Copilot can set up the webhook and send a test event, which gives you sample data for field mapping.

Related

Your first campaigns, written for your company.Start now