# Run Bird from Claude Code

One plugin brings the skills and declares the MCP server, so Claude arrives already knowing how Bird works: which sender to use, what a status of accepted does not mean, which check to run before it tells you it worked.

## Two commands and a sign-in

The plugin carries both halves: the skills Claude reads, and the MCP server it calls. What it cannot carry is your grant, so the sign-in is a step of its own.

**terminal**

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

**inside a session**

/mcp → bird → Authenticate

- Headless (claude -p): claude mcp login bird

Approve the consent screen in the browser. A headless run has no /mcp panel, so sign in from the shell first.

**terminal**

```bash
$ claude mcp add --transport http bird https://mcp.bird.com
```

## What Claude 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

- Find my email with whoami, send me a test, and tell me when it lands.
- Set up mail.acme.dev as a sending domain and give me the DNS records.
- What bounced in the last hour? Group it by reason and name the domain to blame.
- Add SMS verification to the signup route, then check a code against it.
- Is this number reachable before I send? Tell me the carrier.
- Point a webhook at my staging URL and send a test delivery to prove it.