Agent Integrations
PushTower provides four ways for agents to send, backed by the same API:
- A channel link for “notify me when you’re done”.
- The MCP server for typed, discoverable agent tools.
- The JSON-first CLI for local agents, CI, and shell automation.
- The HTTP API for universal integrations.
Channel links: the zero-setup option
Create a link for a channel in the app or web dashboard and paste it into your prompt:
Refactor the billing module. When you're done, or if you need my input,
notify me via PushTower: https://send.pushtower.com/pt_link_…
Fetch that URL first (GET) for instructions on how to send.
The agent needs no configuration. GET on the link returns instructions
written for agents, and POST sends. The link can only send to that one
channel, so handing it to an agent never exposes your account. See
Channel Links.
When the agent should set itself up instead, for example while adding notifications to a project, it can ask for a link with QR Connect: it shows you a QR code or a short code, you approve in the app, and it receives the link. No API key is involved.
Use an API key with the MCP server or CLI below when the agent must manage channels, preview notifications, or inspect delivery.
MCP server
Configure the local stdio server with the API key in its environment:
{
"mcpServers": {
"pushtower": {
"command": "pushtower-mcp",
"env": {
"PUSHTOWER_API_KEY": "pt_..."
}
}
}
}
Available tools include channel discovery and setup, notification preview and send, delivery inspection, and Live Activity updates. Preview is read-only; sending and Live Activity changes are explicitly marked as side effects.
CLI
export PUSHTOWER_API_KEY=pt_...
pushtower notifications preview \
--channel production-alerts \
--preset incident \
--title "API latency elevated" \
--message "p95 exceeded 2 seconds for 10 minutes"
Every successful command emits JSON to stdout. Errors emit structured JSON to stderr and return a non-zero exit code.
Keep API keys in environment variables or a secret manager. Do not include them in prompts, command arguments, logs, or source control. A channel link is the exception meant for prompts: it can only send to its own channel, and you can revoke it at any time.