# Run Bird from Copilot

Copilot reads the plugin, VS Code handles the sign-in, and the tools show up in agent mode. From there it can wire a webhook endpoint and prove the delivery landed without leaving the editor.

## A plugin, a server, and VS Code's prompt

This is the one client that handles the sign-in itself: VS Code opens the browser on first start. What it cannot do is register the server, so that stays a file in your workspace.

**terminal**

```bash
$ copilot plugin marketplace add messagebird/bird-ai
$ copilot plugin install bird@bird-ai
```

**.vscode/mcp.json**

```json
{
  "servers": {
    "bird": { "type": "http", "url": "https://mcp.bird.com" }
  }
}
```

**VS Code**

Trust the server → Approve the consent screen

- No window?: MCP: List Servers › bird › Restart
- Revoke later: Accounts › Manage Trusted MCP Servers

VS Code opens the browser itself the first time the server starts.

## What Copilot already knows. Three operations, and the traps that would otherwise cost it a few rounds of --help.

- Send a message. Send it, then read it back, because accepted is not the same as arrived.
- Set up a sender. Create the domain, add the DNS records it hands you, then verify. Not immediately: DNS takes its time.
- Get notified of events. Tell Bird where to send them, then test that they land. Keep the signing secret from the create call, because it is never shown again.

### What to ask for

- Show delivery status on the admin page, updated from Bird's webhooks.
- Send a test delivery to my endpoint and prove it arrived.
- Filter this list down to the numbers that can receive SMS.
- Which workspace and region am I acting as right now?
- Look up how sending domains work without leaving the editor.