About Homing Pigeon
Homing Pigeon sends text alerts from code and coding agents to a verified US mobile number. It supports MCP tools, a CLI, Python, and an HTTP API for completion or attention-needed notifications.
Key features
- 01Verify a phone number
- 02Send texts and check status
- 03Notify on agent completion or waiting
- 04Use via CLI, Python, or API
- 05Send only to the verified number
Use cases
- 01Get notified when a long task finishes
- 02Report scheduled script success or failure
- 03Know when an agent needs attention
- 04Send job results from shell scripts
MCP support
The MCP server exposes verify, send, and status tools to agents. It can be configured through MCP clients or connected through the hosted endpoint.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
https://homingpigeon.dev/mcpclaude mcp add --transport http dev-homingpigeon-homingpigeondev https://homingpigeon.dev/mcp{"mcpServers":{"dev-homingpigeon-homingpigeondev":{"type":"http","url":"https://homingpigeon.dev/mcp"}}}Open in Cursor{"servers":{"dev-homingpigeon-homingpigeondev":{"type":"http","url":"https://homingpigeon.dev/mcp"}}}Open in VS Code{"mcpServers":{"dev-homingpigeon-homingpigeondev":{"type":"http","url":"https://homingpigeon.dev/mcp"}}}{"mcpServers":{"dev-homingpigeon-homingpigeondev":{"serverUrl":"https://homingpigeon.dev/mcp"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
3| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | No | The six-digit code the user received. Omit on the first call. |
| phone | string | Yes | The user's own US mobile number. |
| project | string | No | Short name shown in front of each text. |
Details
From the project READMEHoming Pigeon
Homing Pigeon (homingpigeon.dev) sends text-message alerts from your code or your coding agent to one phone: yours. No carrier registration, no app, no browser signup. Free to start.
If you want a text from your code or your coding agent, tell your agent:
Use Homing Pigeon to text me when this finishes.
Messages go only to the US mobile number you verified. There is no "to" field.
Set up with a coding agent
Add the MCP server, and your agent gets three tools: verify, send and status.
# Claude Code
claude mcp add homingpigeondev -- npx -y homingpigeondev mcp
# Claude Code, as a plugin
claude plugin install homingpigeondev --marketplace homingpigeondev/homingpigeondev
# Codex
codex mcp add homingpigeondev -- npx -y homingpigeondev mcp
# Codex, as a plugin with the Homing Pigeon skill
codex plugin marketplace add homingpigeondev/homingpigeondev
codex plugin add homingpigeondev@homingpigeondev
# Gemini CLI
gemini extensions install https://github.com/homingpigeondev/homingpigeondev
Agents that load Agent Skills can use skills/homingpigeon/SKILL.md.
For Cursor, Cline, Windsurf and other clients set up with JSON, add this to their MCP settings file (for Cursor, ~/.cursor/mcp.json):
{
"mcpServers": {
"homingpigeondev": { "command": "npx", "args": ["-y", "homingpigeondev", "mcp"] }
}
}
Your agent asks for your number, you read back the six-digit code, and the agent saves the key on your machine. The code is the only step for you.
Use it in Claude or ChatGPT
Add this URL as a custom connector, then sign in with your phone number and the six-digit code texted to you:
https://homingpigeon.dev/mcp
In Claude, that is Settings → Connectors → Add custom connector. In ChatGPT, turn on developer mode in settings, then add it as an app. Ask "Text me when we're done" and it can. Texts start with the app's name, such as [Claude] Draft is ready.
Get a text when your agent finishes or needs you
npx -y homingpigeondev verify +15551234567
npx -y homingpigeondev verify +15551234567 123456
npx -y homingpigeondev hook install claude-code # or codex, cursor
Hooks change nothing in your project. To avoid spending texts on quick replies, a turn only texts you if it ran for at least 5 minutes. Change that with --after 10.
| Agent | Finished | Waiting on you |
|---|---|---|
| Claude Code | Yes | Yes |
| Codex | Yes | Yes. Run /hooks in Codex to trust the hooks first. |
| Cursor | Yes | No. Cursor has no event for this. |
Hooks send the agent's name and your folder name, never your prompts or its replies. Remove them with npx -y homingpigeondev hook uninstall claude-code.
Use it from a shell script or cron job
npm install -g homingpigeondev
homingpigeon verify +15551234567
homingpigeon verify +15551234567 123456
homingpigeon send "Backtest finished."
./nightly-job.sh || homingpigeon send "Nightly job failed."
tail -1 result.log | homingpigeon send
homingpigeon status
pigeon works as a short alias. Add --json for machine-readable output. If HOMINGPIGEON_API_KEY is set, it is used instead of the saved key.
Use it from Python
pip install homingpigeondev
import homingpigeondev
homingpigeondev.send("Backtest finished.")
No dependencies. It finds the key in HOMINGPIGEON_API_KEY or the one saved when you verified, so a phone verified through your agent or the CLI works here too. Details are in python/README.md.
Use it from any code
curl -X POST https://homingpigeon.dev/v1/send \
-H "Authorization: Bearer $HOMINGPIGEON_API_KEY" \
-H 'Content-Type: application/json' \
-d '{"message": "Backtest finished."}'
Run homingpigeon key to print your key, and keep it out of git. The full API is in llms.txt and at homingpigeon.dev/openapi.json.
Reply STOP to any alert to stop texts immediately, and START to resume. Questions: [email protected].
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.