MCP · October 4, 2026
Set up domains and mail from a prompt
The Pigeon MCP server lets Cursor and Claude Code call the API. A full-access key can add and verify domains. A sending key can send mail and add contacts.
Install github.com/pigeonfs/pigeon-mcp. Put the key in the MCP environment, not in the prompt. PIGEON_BASE_URL is https://pigeonfs.com for the hosted API, or http://localhost:4005 on your machine. SENDER_EMAIL_ADDRESS is the default From, and it has to be on a verified domain.
Cursor
{ "mcpServers": { "pigeon": { "command": "npx", "args": ["-y", "github:pigeonfs/pigeon-mcp"], "env": { "PIGEON_API_KEY": "pg_your_key", "PIGEON_BASE_URL": "https://pigeonfs.com", "SENDER_EMAIL_ADDRESS": "ada@yourdomain.com" } } } }
Claude Code
claude mcp add pigeon \ -e PIGEON_API_KEY=pg_your_key \ -e PIGEON_BASE_URL=https://pigeonfs.com \ -e SENDER_EMAIL_ADDRESS=ada@yourdomain.com \ -- npx -y github:pigeonfs/pigeon-mcp
Tools the prompt can call
- send_email, list_emails, get_email, cancel_email
- list_domains, create_domain, verify_domain (create and verify need a full-access key)
- create_contact
- trigger_automation
Use case: add a domain and read the DNS
Create the key on API keys with permission Full. Reload the MCP server so it picks up the new key. Then prompt:
Use Pigeon to create the sending domain yourdomain.com. Show the DNS records from the response, then tell me which ones I still have to publish.
create_domain returns the domain id and the records Pigeon expects. Publish those at your DNS host. The apex SPF row is optional. When the records are in place, prompt: "Verify Pigeon domain <id>." verify_domain checks them again. Amazon can still take a few minutes after the records answer.
Use case: draft a template, then send it
The MCP server sends html or text. It does not save a dashboard template. Ask for the copy, check it, then send. Save the same HTML as a template in the dashboard when you want a slug such as welcome for the Supabase webhook.
Draft a short welcome email for a person named Ada. Send it with Pigeon to me@yourdomain.com, subject "Welcome", using the default from address.
Use case: see what is waiting
List my Pigeon domains and say which ones are still pending. Then list the last emails with status queued.
list_domains and list_emails are safe with a sending key. create_contact adds someone to the audience. trigger_automation runs an automation you already saved, and it needs that automation's id.
pigeon-mcp on GitHub Call the same API from Supabase