MCP integration
Pushpush is an MCP server. Connect it to Claude Code, AI agents, or any MCP-compatible client to send push notifications programmatically.
Setup
Add Pushpush to Claude Code:
claude mcp add -t http \
pushpush https://a.pushpu.sh/mcp
The first time you use a Pushpush tool, you’ll be prompted to sign in via your browser.
Available tools
| Tool | Description |
|---|---|
send_push | Send a notification to a topic (delivered to all subscribed devices) |
list_messages | View recent messages on a topic |
get_token | Generate a Bearer token for use with curl, scripts, or CI |
manage_account | Get a link to manage subscription and billing |
The tools are self-documenting — ask Claude to “send a push” or “help manage your Pushpush account” and it’ll figure it out.
Claude Code in GitHub Actions
You can use Pushpush from Claude Code in GitHub Actions. This lets an AI agent summarize CI results and push a notification — no shell scripting needed.
All approaches require your Pushpush API token stored as a repository secret. Generate one by asking Claude Code: “Get me a Push API token that doesn’t expire”.
Claude Code CLI
Call the Claude Code CLI directly. This works on any event type, including push-triggered deploys where Claude Code Action doesn’t apply.
- name: Notify deploy result
if: always()
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
run: |
npx -y @anthropic-ai/claude-code \
--allowedTools mcp__pushpush__send_push \
--mcp-config '{"mcpServers":{"pushpush":{"type":"http","url":"https://a.pushpu.sh/mcp","headers":{"Authorization":"Bearer ${{ secrets.PUSH_TOKEN }}"}}}}' \
-p "The deploy finished with status: ${{ job.status }}. Send a push to the deploys topic."
Claude Code Action
Claude Code Action wraps the CLI as a GitHub Action with built-in PR/issue integration. It supports pull_request, issues, workflow_dispatch, and other event types — but not push. Use the CLI approach above for push-triggered workflows.
- name: Notify on failure
if: failure()
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ github.token }}
prompt: |
Summarize the CI failure and send a push notification
to the "ci" topic with the result.
claude_args: >-
--allowedTools Bash,Read,Glob,Grep,mcp__pushpush__send_push
--mcp-config '{"mcpServers":{"pushpush":{"type":"http","url":"https://a.pushpu.sh/mcp","headers":{"Authorization":"Bearer ${{ secrets.PUSH_TOKEN }}"}}}}'
Or using the mcp_config input as a one-liner:
- name: Notify on failure
if: failure()
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ github.token }}
mode: agent
allowed_tools: Bash,Read,Glob,Grep,mcp__pushpush__send_push
mcp_config: '{"mcpServers":{"pushpush":{"type":"http","url":"https://a.pushpu.sh/mcp","headers":{"Authorization":"Bearer ${{ secrets.PUSH_TOKEN }}"}}}}'
direct_prompt: |
Summarize the CI failure and send a push notification
to the "ci" topic with the result.
Or multi-line, which is easier to read with multiple servers or long headers:
- name: Notify on failure
if: failure()
uses: anthropics/claude-code-action@main
with:
anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
github_token: ${{ github.token }}
mode: agent
allowed_tools: Bash,Read,Glob,Grep,mcp__pushpush__send_push
mcp_config: |
{
"mcpServers": {
"pushpush": {
"type": "http",
"url": "https://a.pushpu.sh/mcp",
"headers": {
"Authorization": "Bearer ${{ secrets.PUSH_TOKEN }}"
}
}
}
}
direct_prompt: |
Summarize the CI failure and send a push notification
to the "ci" topic with the result.
Using with other MCP clients
Any MCP client that supports HTTP transport can connect to Pushpush. The MCP endpoint is:
https://a.pushpu.sh/mcp
Authenticate with a Bearer token in the Authorization header.
Next steps
- Getting started — full setup walkthrough
- Use cases — cookbook of prompts, scripts, and setups