Hark MCP Server
OfficialDelivers and updates notifications in the Hark Android app, including action buttons and inline replies.
Allows sending notifications with a simple HTTP POST from curl to a Hark webhook URL.
Provides optional Firebase Cloud Messaging push delivery to Android devices.
Accepts webhook notifications from GitHub Actions workflows via a Hark webhook URL.
Supports Google sign-in for the Hark web UI when Google authentication is enabled.
Accepts webhook notifications from Grafana alerts via a Hark webhook URL.
Accepts webhook notifications from Home Assistant automations via a Hark webhook URL.
Supports receiving notifications and replying from the Hark iOS app built from source.
Delivers and updates notifications in the macOS menu-bar app, with synced conversations and replies.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Hark MCP Serversend a notification to all my devices that the backup finished"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Hark
One inbox for AI agents, scripts and webhooks. Send a notification with one HTTP call or one MCP tool call, and receive it on Android, macOS and the web, with live-updating progress, action buttons, inline replies and sync across devices.
正體中文說明 · Run your own instance · Protocol

🤖 MCP server URL: give Claude Code, Codex or any MCP client
send_notification,update_notification,ask,wait_for_responseand more. Target one device (devices: ["macbook"]) or all of them.🪝 Webhooks: paste a URL into Home Assistant, Alertmanager, Grafana, AWS SNS, GitHub Actions, cron or curl.
🔄 Live notifications that update in place (progress, status), resolve everywhere, and record your answers.
💬 Two-way: agents ask, you tap a button or type a reply on any device, and the agent gets the answer.
🧩 Templates: one platform-neutral card schema, rendered natively everywhere.
Free and open source (MIT).
Screenshots
Web (dark) | macOS |
|
|
Connect an agent or webhook | Android | Web on a phone |
|
Related MCP server: agent-notify
Get it
Platform | How |
Web | Self-hosted: the worker serves the SPA at your own domain. Nothing to install — sign in with the shared password (or Google, if enabled) |
Android (8.0+) |
|
macOS (14+, Apple Silicon and Intel) |
|
iOS | Build from source (docs/setup.md). iOS can't be distributed without a paid Apple account |
Then pair the device: on the web, Devices → Pair a device, and enter the code in the app. Releases are built and
signed by GitHub Actions (release.yml); each one includes SHA256SUMS.txt.
Quick start
Run an instance (docs/setup.md) and sign in at
https://<your-host>.On Connect, create an MCP server URL for your agent or a webhook for everything else.
Send something:
# Webhook
curl -d "Backup finished" "https://<your-host>/hook/<webhook-token>?title=Backup&severity=success"
# Claude Code
claude mcp add --transport http hark https://<your-host>/mcp/<mcp-token>https://<your-host> is the deployment's PUBLIC_URL. This repository uses hark.app as a placeholder; replace it
in apps/server/wrangler.jsonc (PUBLIC_URL, VAPID_SUBJECT, routes) before deploying, and optionally as the default
server URL in apps/android/app/build.gradle.kts (-PharkServerUrl=…) and
apps/apple/Sources/HarkKit/Support/Pairing.swift.
Docs
Run your own instance: Cloudflare, sign-in (Google or a shared password), Firebase, web, Android, macOS | |
The API contract: REST, WebSocket, webhooks, MCP tools, push payloads | |
Design language (shared by web, macOS and Android) | |
Product plan, decisions and status | |
正體中文說明 |
Repository
Path | What |
| Shared TypeScript types + zod schemas (protocol source of truth) |
| Cloudflare Worker: API, MCP, webhooks, Durable Objects, D1 (Drizzle), push fan-out |
| React web app (served by the worker) |
| Android app (Kotlin, Compose) |
| macOS menu-bar app + iOS app (SwiftUI) + HarkKit |
Develop
pnpm install
pnpm dev # wrangler dev + vite
pnpm test
pnpm android:build
pnpm macos:buildReleasing: git tag v0.2.0 && git push origin v0.2.0 builds the signed APK and the universal macOS app and
publishes them on GitHub Releases.
Notes for self-hosters
Sign-in is a shared password by default (
AUTH_MODE=password): setAUTH_PASSWORD_HASHwithpnpm --filter @hark/server hash-password '<password>'. Switch togoogleorbothto keep Google sign-in.Firebase is optional. No
apps/android/app/google-services.jsonis committed, soassembleDebugbuilds an app that uses the WebSocket transport. Create your own Firebase project (package nameapp.hark.android), drop itsgoogle-services.jsonin, and set the server'sFCM_SERVICE_ACCOUNT_JSONfrom the same project to enable FCM.Renamed from Oyee. Hark is a rebrand of that MIT-licensed project: package names (
@hark/*), Durable Object headers (X-Hark-*), token prefixes (hark_wh_,hark_mcp_,hark_dev_), thehark_sessioncookie and thehark://URL scheme all use the new name. Devices paired with an older build need to be paired again, and a renamed Worker starts without the old one's secrets and D1 data.
This server cannot be deployed
Maintenance
Related MCP Connectors
Let agents send content-free push notifications to a paired phone via MCP.
Push notifications for AI agents - send instant iPhone notifications from any MCP client.
- iotPushOAuthcom.iotpush
Notifications you can answer: agents push to your phone and wait for your approval or reply.
Send push to Android, iOS and the web, and ask a trusted phone to approve a login, from your agent.
Related MCP Servers
- AlicenseAqualityAmaintenanceMCP server for AI agents to send notifications, copy to clipboard, request confirmations, and collect text input from users across their devices.1031 npmApache 2.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and applications to send audio notifications with text-to-speech, message streaming, agent-to-agent conversations, and web push notifications through a persistent message store and MCP integration.51 npm1MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to send notifications to a unified feed, report activity, request input from humans, and manage notification state through MCP tools.35 PyPI4MIT
- AlicenseNot gradedqualityCmaintenanceEnables any MCP-compatible AI agent to ask humans questions in real time via a mobile-friendly PWA with push notifications, operating local-first without third-party services.MIT


