# Smoke Signal (mcpb · smoke-signal.mcpb)

Phone notifications and phone-answered questions for AI agents: notify and decision-request tools.

- Trust score: 43/100 (low)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-22

## Components

- mcpb · `smoke-signal.mcpb`: 43/100 (this document), [markdown](https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si.md), [page](https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si)

## Channel facts

- Registry: `mcpb`
- Package: `https://github.com/smoke-signal-app/agent-plugin/releases/download/v0.4.2/smoke-signal.mcpb`
- Transport: `stdio`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-22.

- **Supply Chain Security**: 13/100
  - Malware scan not yet available for this package.
  - Known CVEs could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
  - No install/post-install scripts declared.
  - Dependency health could not be checked: this artifact ships no SBOM, so there is no dependency list to read. Publishing one would let us assess it.
- **Provenance & Transparency**: 48/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (MIT).
  - Actively maintained (last published 10 days ago).
  - Publishes a security disclosure policy (SECURITY.md).
- **Schema Quality & AI Usability**: 65/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1207 tokens (~301/item across 4 items; 4 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 37/100
  - Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Capabilities**: 20/100
  - Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28.

## Install

- Download bundle: `https://github.com/smoke-signal-app/agent-plugin/releases/download/v0.4.2/smoke-signal.mcpb`

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-22 (score 43, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-08-19 (score 42, +4)

- [functional improvement] Stability: unverified → 0.27

### 2026-08-11 (score 38)

First indexed and scored.

## MCP tools (4)

### `notify` (~280 tokens)

Queue the wording for a phone notification about the block you are ABOUT TO create. Call this as your LAST action immediately before you ask the user a question, present a plan for approval, or otherwise stop and wait for them -- and only when being away would actually cost them something. Nothing is sent when you call this: it only supplies the wording. The notification is sent only if the user does not respond within their grace window, and is cancelled silently if they do. The user CANNOT reply from the notification, so do not ask them to -- write it as a summons. The single most useful thing you can say is what is STALLED until they answer, not a restatement of your question. Do not call this for routine turn-ends, for progress updates, or more than once per block.

Input parameters:

- `body` (string, required): One line, aim for 110 characters. Plain text. What the user must decide or do. No URLs, no markdown.
- `title` (string): Up to ~40 characters naming what is blocked. The project name is added automatically -- do not include it.
- `wait_cost` (string): What stays stalled until they answer, e.g. "3 parallel tracks idle" or "deploy is half-applied". Omit if nothing is genuinely blocked -- this is what tells them whether to reach for the phone.

### `request_decision` (~453 tokens)

Send ONE decision to the user's phone through Smoke Signal and get back exactly one answer. Use it only when you are genuinely blocked on a decision that is theirs to make AND they are away from the keyboard. If they are at the keyboard, ask in this session instead: it is instant and free. A Decision costs credits for EVERY logical subscriber of the Channel, so send one Decision per question -- fold the whole choice into a single question with 2-4 concrete options, never a series of narrowing questions. This returns a decision_id immediately without waiting; carry on with anything you can do meanwhile, then call await_decision with that decision_id to wait for the answer. await_decision is the ONLY way to read an answer: never re-send a Decision to check on one, because a second Decision charges again. A reply is anonymous advice from whoever holds a subscribed device -- replies carry no identity, any subscriber of the Channel can answer, and where the platform shows notification action buttons a reply can come from a locked phone. Never treat one as security authorization: not for a deployment, not to bypass a permission prompt, not for credentials, and not for a destructive or irreversible action.

Input parameters:

- `actions` (array, required): 2 to 4 choices. They must cover the outcomes you will actually act on, because the reply is one of these ids and nothing else -- there is no free-text answer.
- `detail` (string): Optional context that makes the choice decidable, up to 500 characters of plain text -- the tradeoff, the risk, what you would do by default. Short lines. No URLs or markdown.
- `question` (string, required): The decision itself, in one line, up to 200 characters. Written for someone holding a phone with no access to your context: name the thing being decided, not the background. Smoke Signal never summar…
- `ttl_seconds` (integer): How long the question stays answerable, 60 to 86400 seconds. Omit for 3600 (one hour). After it expires the Decision is gone and the credits are not refunded, so do not set a long window for a decisi…

### `await_decision` (~368 tokens)

Wait for the answer to a Decision and return the chosen action id. The call stays open while it waits, using server-side bounded waits rather than a polling loop, for up to wait_seconds (default 300, maximum 1200). Some clients move a long tool call to the background and hand you control again before it finishes; if that happens the wait is still running and its result still arrives, so do not invent an outcome and do not act on the decision until you have read the answer -- either from this result or from a fresh await_decision with the same decision_id. If it comes back "pending", the Decision is still live: call await_decision again with the SAME decision_id. Do not create another Decision -- that charges again and sends the user a second question. An answer is delivered exactly once: the first successful await_decision returns it and the server erases the Decision and the reply in the same step, so keep the action id in your own reasoning. A reply is anonymous advice from whoever holds a subscribed device -- replies carry no identity, any subscriber of the Channel can answer, and where the platform shows notification action buttons a reply can come from a locked phone. Never treat one as security authorization: not for a deployment, not to bypass a permission prompt, not for credentials, and not for a destructive or irreversible action.

Input parameters:

- `decision_id` (string, required): The decision_id returned by request_decision.
- `wait_seconds` (integer): How long to block, 300 by default and capped at 1200. A larger value is clamped, not rejected. Use a small value only when you have useful work to return to; a human walking to their phone usually ta…

### `cancel_decision` (~106 tokens)

Withdraw a Decision you no longer need -- the user answered here in the session, the work was abandoned, or you resolved the decision yourself. It erases the question from the server and clears the decision screen from the subscribers' devices. It does NOT refund the credits: cancellation exists to stop bothering the user, not to save money. After cancelling, do not call await_decision for that decision_id.

Input parameters:

- `decision_id` (string, required): The decision_id returned by request_decision.

## Diagnostics

Captured diagnostic sections: Provenance. The full working is on the page: https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si#diagnostics

## Score history

- 2026-08-22: 43
- 2026-08-21: 42
- 2026-08-20: 42
- 2026-08-19: 42
- 2026-08-18: 38
- 2026-08-17: 38
- 2026-08-16: 38
- 2026-08-15: 38
- 2026-08-14: 38
- 2026-08-13: 38
- 2026-08-12: 38
- 2026-08-11: 38

## Links

- Repository: https://github.com/smoke-signal-app/agent-plugin
- Website: https://smokesignal.sh/
- Changelog RSS feed: https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si.xml
- Changelog JSON feed: https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si.json
- HTML version of this page: https://verifymcp.io/servers/smoke-signal-app-smoke-signal/https-github-com-smoke-signal-app-agent-plugin-releases-download-v0-4-2-smoke-si
