Introduction

An MCP server that adds a human-in-the-loop step to any AI pipeline.

ping-a-human is an open-source Model Context Protocol server. It lets an AI notify a human or ask a human and wait for their answer — reaching the person on the messaging app they already use (Telegram first; Slack, WhatsApp, and more later).

Unlike MCP's built-in elicitation, which prompts inside the AI client UI, ping-a-human reaches the human out-of-band on their own messaging app — so it works even when nobody is watching the AI session.

What it gives you

  • notify_human — fire-and-forget messages that return immediately.
  • ask_human — blocking questions that wait for a reply, a tapped button, or a clean timeout.
  • A one-command setup wizard that configures everything.
  • Runs as a local stdio MCP server, launchable via npx.

How it works

The server speaks MCP over stdio. Tool calls route through a transport-agnostic Channel interface; Telegram is the first implementation. The bot delivers your message, and for ask_human it long-polls for the reply — free text or an inline-button tap — then returns it to the agent.

All diagnostics go to stderr; stdout is reserved for the MCP JSON-RPC channel. The bot token is a secret and is never logged or echoed.