# three.ws Alerts (npm · @three-ws/alerts-mcp)

Create, update, and delete pump.fun alert rules and read fired-alert history across channels.

- Trust score: 66/100 (medium)
- Change this week: +24
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- npm · `@three-ws/alerts-mcp`: 66/100 (this document), [markdown](https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp.md), [page](https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp)

## Channel facts

- Registry: `npm`
- Package: `@three-ws/alerts-mcp`
- Version: `0.1.1`
- 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-03.

- **Supply Chain Security**: 87/100
  - No malware found by supply-chain analysis.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
  - No install/post-install scripts declared.
  - Only part of the dependency tree could be resolved (95 of 99), so this covers what we could see, not the whole tree.
- **Provenance & Transparency**: 45/100
  - Source repository is publicly reachable at the declared URL.
  - Provenance check failed: no build-provenance attestation is published.
  - Clear OSI-approved license (Apache-2.0).
  - Actively maintained (last published 29 days ago).
  - Disclosure check failed: no security disclosure policy was found in the source repository.
- **Schema Quality & AI Usability**: 63/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 1607 tokens (~321/item across 5 items; 5 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 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**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add nirholas-alerts-mcp -- npx -y @three-ws/alerts-mcp
```

### Codex

```bash
codex mcp add nirholas-alerts-mcp -- npx -y @three-ws/alerts-mcp
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "nirholas-alerts-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "@three-ws/alerts-mcp"
      ],
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add nirholas-alerts-mcp --command npx --arg -y --arg @three-ws/alerts-mcp
```

### Hermes

```yaml
mcp_servers:
  nirholas-alerts-mcp:
    command: "npx"
    args: ["-y", "@three-ws/alerts-mcp"]
```

### Other

```json
{
  "mcpServers": {
    "nirholas-alerts-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@three-ws/alerts-mcp"
      ]
    }
  }
}
```

## 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-03 (score 66, +3)

- [functional improvement] Stability: unverified → 0.23

### 2026-08-02 (score 63, +58)

- [security regression] Provenance: unverified → fail
- [security improvement] Install scripts: unverified → pass
- [security improvement] Known CVEs: unverified → partial
- [security improvement] Malware scan: unverified → pass
- [security] Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window).
- [functional improvement] Schema quality: unverified → excellent
- [functional improvement] License: unverified → pass
- [functional improvement] Dependency health: unverified → partial
- [functional improvement] Maintenance: unverified → pass
- [functional improvement] MCP protocol: unverified → pass
- [functional improvement] Tool coverage: unverified → 100
- [functional] Licence: Apache-2.0

### 2026-07-31 (score 5, −1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 6, −18)

- [security regression] Malware scan: pass → unverified

### 2026-07-28 (score 24, −18)

- [functional regression] Tool coverage: 100 → unverified
- [functional] First check of Schema quality: unverified

### 2026-07-27 (score 42)

First indexed and scored.

## MCP tools (5)

### `list_alert_rules` (~166 tokens)

List my pump.fun alert rules

List every pump.fun alert rule on the authenticated three.ws account. Each rule has a `kind` (graduation | price_above | price_below | whale_buy | new_mint), its target (target_mint or target_agent), an optional numeric `threshold` (USD market cap for price rules, SOL for whale_buy), the delivery channels (deliver_in_app, webhook_url + webhook_secret, telegram_chat), the cooldown, and whether it is enabled. Also returns live delivery health: `last_fired_at`, `recent_failures` (failed channel deliveries in the last 24h), and `recent_deliveries` (the last few per-channel outcomes). Use this to audit what an agent is watching before creating or editing rules. Requires THREE_WS_SESSION.

### `create_alert_rule` (~503 tokens)

Create a pump.fun alert rule

Create a pump.fun alert rule on the authenticated three.ws account. The pumpfun-monitor cron evaluates it against the live event stream and delivers across the channels you enable, so it fires across devices with no dashboard open. NOT idempotent — each call adds a new rule (max 50 per account). Targeting by kind: `graduation` is global or scoped to target_mint OR target_agent; `price_above` / `price_below` / `whale_buy` require target_mint; `new_mint` requires target_agent. `threshold` is required for the price/whale kinds — USD market cap for price_above/price_below, minimum buy size in SOL for whale_buy. At least one delivery channel must be on (deliver_in_app defaults true; webhook_url must be https and gets a generated webhook_secret for signature verification; telegram_chat is a numeric chat id or @username). Any mint you pass is runtime input — three.ws promotes only $THREE. Returns the created rule. Requires THREE_WS_SESSION.

Input parameters:

- `cooldown_seconds` (integer): Minimum seconds between fires for this rule (5–86400, default 300).
- `deliver_in_app` (boolean): Deliver as an in-app notification (default true).
- `enabled` (boolean): Whether the rule is active (default true).
- `kind` (string, required): Event to watch: graduation | price_above | price_below | whale_buy | new_mint.
- `label` (string): Optional human label; a default is derived from kind/target when omitted.
- `target_agent` (string): three.ws agent UUID to watch. Required for new_mint; optional for graduation; forbidden for the mint-targeted kinds.
- `target_mint` (string): Coin mint to watch. Required for price_above/price_below/whale_buy; optional for graduation; forbidden for new_mint.
- `telegram_chat` (string): Telegram numeric chat id (e.g. 123456789) or @username to deliver to via the platform bot.
- `threshold` (number): Required for price/whale kinds: USD market cap for price_above/price_below, minimum buy size in SOL for whale_buy. Ignored for graduation/new_mint.
- `webhook_url` (string): HTTPS endpoint to POST a signed alert event to. The response includes a generated webhook_secret for verifying the webhook-signature header.

### `update_alert_rule` (~412 tokens)

Update a pump.fun alert rule

Update an existing pump.fun alert rule by id on the authenticated three.ws account. Partial — only the fields you pass change. Idempotent: re-applying the same values yields the same rule. Common uses: flip `enabled` to pause/resume, retune `threshold`, add or swap a delivery channel, or change `kind` (the rule is re-validated against the new kind, and fields incompatible with it are cleared automatically). Pass null to clear a clearable field (target_mint, target_agent, threshold, webhook_url, telegram_chat, label). Removing webhook_url drops its secret; adding one mints a fresh webhook_secret (returned). The result must still have at least one delivery channel and satisfy the kind's targeting/threshold rules, or the API rejects it with a precise message. Returns the updated rule. Requires THREE_WS_SESSION.

Input parameters:

- `cooldown_seconds` (integer): Minimum seconds between fires (5–86400).
- `deliver_in_app` (boolean): Toggle in-app delivery.
- `enabled` (boolean): Enable or pause the rule.
- `kind` (string): Change the event kind. The rule is re-validated against it and incompatible fields are cleared.
- `label`: Human label, or null to fall back to the derived default.
- `rule_id` (string, required): Id of the rule to update (from list_alert_rules).
- `target_agent`: three.ws agent UUID to watch, or null to clear. Required by new_mint; forbidden for mint-targeted kinds.
- `target_mint`: Coin mint to watch, or null to clear. Required by price/whale kinds; forbidden for new_mint.
- `telegram_chat`: Telegram numeric chat id or @username, or null to remove.
- `threshold`: USD market cap (price kinds) or SOL buy size (whale_buy), or null to clear.
- `webhook_url`: HTTPS endpoint for signed alert events, or null to remove the webhook (and its secret).

### `delete_alert_rule` (~124 tokens)

Delete a pump.fun alert rule

Permanently delete a pump.fun alert rule by id from the authenticated three.ws account. DESTRUCTIVE and irreversible: the rule plus its cooldown tracker and per-channel delivery log are removed (cascade). The rule stops firing immediately. Deleting an already-deleted id returns not_found (so this is not idempotent). To pause a rule without losing it, prefer update_alert_rule with enabled:false. Returns the deleted rule id. Requires THREE_WS_SESSION.

Input parameters:

- `rule_id` (string, required): Id of the rule to delete (from list_alert_rules). This cannot be undone.

### `get_alert_history` (~216 tokens)

Read fired pump.fun alert history

Read the pump.fun alerts that have actually fired for the authenticated account, newest first. Each entry carries a one-line `summary`, the originating `rule_id`, the event `kind`, the coin (mint / name / symbol), whether it has been `read`, when it `fired_at`, and the full `event` payload (amounts, market cap, tx signature, buyer, …). Pair this with list_alert_rules — whose `recent_deliveries` shows per-channel send outcomes — to see both what fired and how it was delivered. Optionally filter to one rule (rule_id) or one kind. The feed returns at most the 50 most recent alerts. Requires THREE_WS_SESSION.

Input parameters:

- `kind` (string): Only return alerts of this event kind.
- `limit` (integer): Maximum number of fired alerts to return, newest first (1–50, default 20).
- `rule_id` (string): Only return alerts fired by this rule id (matches the rule_id in each alert payload).

## Diagnostics

Captured diagnostic sections: Provenance, Dependencies. The full working is on the page: https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp#diagnostics

## Score history

- 2026-08-03: 66
- 2026-08-02: 63
- 2026-08-01: 5
- 2026-07-31: 5
- 2026-07-30: 6
- 2026-07-28: 24
- 2026-07-27: 42

## Links

- npm package: https://www.npmjs.com/package/@three-ws/alerts-mcp
- Socket report: https://socket.dev/npm/package/@three-ws/alerts-mcp
- Repository: https://github.com/nirholas/three.ws
- Website: https://three.ws/
- Changelog RSS feed: https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/nirholas-alerts-mcp/three-ws-alerts-mcp
