pingwa

Zero-setup WhatsApp notifications + human-in-the-loop for AI agents — text 'join', send in 60s.

我該用這個嗎

品質與安全性

B
說明品質
100%
結構描述完整度
53%
命名品質
92%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~832Token(工具定義)
~866 B典型回應大小
中等的注意力影響(128k 上下文的 0.65%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "pingwa": {
      "command": "uvx",
      "args": [
        "pingwa"
      ]
    }
  }
}

可執行的套件

pypipingwa0.4.1stdio

遠端端點

https://pingwa.dev/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟡notify(text, image_url)

Send a WhatsApp notification to the account owner's own phone. `text` is the message (1-1024 chars). `image_url` (optional) is a public https image link — a screenshot, chart or diff — delivered as an image with `text` as the caption when the user's 24h window is open (otherwise text only). Returns a confirmation with the queued message id; raises an actionable error on quota/auth.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "title": "Text",
      "type": "string"
    },
    "image_url": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Image Url"
    }
  },
  "required": [
    "text"
  ],
  "title": "notifyArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "notifyOutput"
}
🟢check_status

Show the pingwa account's plan, remaining monthly quota, and whether the free 24h WhatsApp reply window is currently open.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "check_statusArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_statusOutput"
}
🔴upgrade

Get a link to upgrade the account to Pro (raises the monthly quota). Returns a Stripe Checkout URL for the human to open and pay — no pingwa password needed, the card is handled by Stripe. If the account is already Pro, returns a billing-portal URL to manage or cancel instead.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "title": "upgradeArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "upgradeOutput"
}
⚪ask(text, buttons, timeout)

Ask the human a question on WhatsApp and BLOCK until they reply (or timeout). `text` is the question. `buttons` (optional, up to 3) render as tappable reply buttons; omit them to invite a free-text answer the human types on their phone — use this to let the human steer you mid-task. `timeout` is seconds to wait (max 90). Returns the human's reply (free text and/or the chosen option). On timeout, returns a note — the question was delivered and the answer is still retrievable via `check_replies`.

輸入結構描述

{
  "type": "object",
  "properties": {
    "text": {
      "title": "Text",
      "type": "string"
    },
    "buttons": {
      "anyOf": [
        {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Buttons"
    },
    "timeout": {
      "default": 60,
      "title": "Timeout",
      "type": "integer"
    }
  },
  "required": [
    "text"
  ],
  "title": "askArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "askOutput"
}
🟢check_replies(since, wait)

Pull inbound WhatsApp messages the human sent to pingwa (out-of-band instructions, or late answers to an `ask`). `since` is a cursor from a previous call (pass it back to get only newer messages); `wait` long-polls up to that many seconds for something to arrive. Returns the messages and a new cursor.

輸入結構描述

{
  "type": "object",
  "properties": {
    "since": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "default": null,
      "title": "Since"
    },
    "wait": {
      "default": 0,
      "title": "Wait",
      "type": "integer"
    }
  },
  "title": "check_repliesArguments"
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "result": {
      "title": "Result",
      "type": "string"
    }
  },
  "required": [
    "result"
  ],
  "title": "check_repliesOutput"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具
已驗證未記錄版本5 個工具