io.github.gitwormq/datasieve
NPM · DATASIEVE-MCP · SCANNED AUG 3
On-chain watches, web-page monitors, dead-man switches, cron, and agent coordination, paid via x402.
Available components
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. How we score →
Supply Chain Security83
- No malware found by supply-chain analysis.Pass
- CVE check failed: a known medium-severity CVE affects @hono/node-server 1.19.17, reached via @modelcontextprotocol/sdk > @hono/node-server. A fixed version is available. View diagnostics → Fail
- No install/post-install scripts declared.Pass
- Only part of the dependency tree could be resolved (115 of 119), so this covers what we could see, not the whole tree. View diagnostics → Partial
Provenance & Transparency45
- Source repository is publicly reachable at the declared URL. View diagnostics → Pass
- Provenance check failed: no build-provenance attestation is published. See how to fix → View diagnostics → Fail
- Clear OSI-approved license (MIT).Pass
- Actively maintained (last published 22 days ago).Pass
- Disclosure check failed: no security disclosure policy was found in the source repository. See how to fix → Fail
Schema Quality & AI Usability70
- AI-judged instruction clarity (good).Pass
- Tool/resource definitions use about 1471 tokens (~77/item across 19 items; 19 tools + 0 resources), lean.Pass
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
- Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage66
- 89% of tools have a non-trivial description (not blank, and not just the tool's name).Partial
- 18% of tool parameters carry a description.Partial
Capabilities100
- Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.
npm · datasieve-mcp
claude mcp add gitwormq-datasieve -- npx -y datasieve-mcp
codex mcp add gitwormq-datasieve -- npx -y datasieve-mcp
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"gitwormq-datasieve": {
"type": "local",
"command": [
"npx",
"-y",
"datasieve-mcp"
],
"enabled": true
}
}
} openclaw mcp add gitwormq-datasieve --command npx --arg -y --arg datasieve-mcp
mcp_servers:
gitwormq-datasieve:
command: "npx"
args: ["-y", "datasieve-mcp"] {
"mcpServers": {
"gitwormq-datasieve": {
"command": "npx",
"args": [
"-y",
"datasieve-mcp"
]
}
}
} Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 3 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.
- 2 Aug 26 +15
- Known CVEs: fail → unverified ▼ security
- Malware scan: unverified → pass ▲ security
- Stability: Stability not yet verified: we do not have a sandbox capture of the MCP schema this version of the package serves yet. security
- Dependency health: partial → unverified ▼ functional
- Tool coverage: 89 → unverified ▼ functional
- Capabilities: pass → unverified ▼ functional
- Stability: unverified → 0.23 ▲ functional
- 1 Aug 26 +30
- GHSA-frvp-7c67-39w9 affects this package: medium ▼ security
- Provenance: unverified → fail ▼ security
- Known CVEs: unverified → fail ▼ security
- Install scripts: unverified → pass ▲ security
- Stability: Stability not yet verified: not enough scan history yet (needs a 30-day window). security
- Maintenance: unverified → pass ▲ functional
- License: unverified → pass ▲ functional
- Dependency health: unverified → partial ▲ functional
- MCP protocol: unverified → pass ▲ functional
- Schema quality: unverified → good ▲ functional
- Licence: MIT functional
- 31 Jul 26 −23
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 +17
- Tool coverage: unverified → 89 ▲ functional
- 28 Jul 26 −17
- Tool coverage: 89 → unverified ▼ functional
- First check of Schema quality: unverified functional
- 27 Jul 26 41
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 3 Aug 2026 · Analysed npm/[email protected]
Provenance none
Ecosystem: npm · Outcome: none
Vulnerabilities 1 finding
| ID | CVE | Severity | Vector | Fix available |
|---|---|---|---|---|
| GHSA-frvp-7c67-39w9 | medium | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | yes |
Dependencies 115 packages
115 packages in the resolved dependency tree · 113 deprecated · 29 stale.
The dependency tree was only partially resolved, so these counts may be incomplete.
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.
coord_arrive Arrive at a barrier (free, no auth — the URL is the capability) ~100
Report that this part is done. Pass the arriveUrl from coord_barrier plus a part name and optional ctx (whatever you want handed to whoever consumes the released barrier). Idempotent per part: a retrying agent cannot inflate the count.
| Name | Type | Req | Description |
|---|---|---|---|
| arriveUrl | string | yes | — |
| ctx | — | — | this part's result, collected into the release event |
| part | string | yes | unique name for this part, e.g. "scout" |
No output schema declared.
No examples provided.
coord_barrier Create a barrier / fan-in (free — workspace op) ~149
BARRIER: "wake me when all N of my sub-agents finish." Returns an arriveUrl — hand it to each sub-agent (it is a capability: they can arrive but cannot read or delete your workspace). When the N-th part arrives we fire ONE webhook carrying every part's collected context. If the TTL passes first you get a "partial" event naming exactly who never showed. Timeout is a feature, not an error.
| Name | Type | Req | Description |
|---|---|---|---|
| label | string | — | — |
| parts | integer | yes | how many sub-agents must arrive |
| secret | string | — | — |
| ttlSeconds | integer | — | — |
| webhookUrl | string | — | — |
| workspaceId | string | yes | — |
No output schema declared.
No examples provided.
coord_events Drain coordination events (free) — the mailbox for agents with no server ~44
Collect barrier releases/partials that happened while nothing of yours was running.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| since | string | — | — |
| workspaceId | string | yes | — |
No output schema declared.
No examples provided.
coord_lock Acquire a lock / lease (free — workspace op) ~133
LOCK: "only one agent does this irreversible thing." Returns a leaseId, or 409 with who holds it. The lease AUTO-EXPIRES after ttlSeconds, so a crashed agent can never deadlock your fleet. Call coord_release when done (or just let it expire).
| Name | Type | Req | Description |
|---|---|---|---|
| holder | string | — | who you are — echoed in 409s so debugging works |
| key | string | yes | what you are locking, e.g. "deploy" or "wallet:0xabc" |
| secret | string | — | — |
| ttlSeconds | integer | — | — |
| workspaceId | string | yes | — |
No output schema declared.
No examples provided.
coord_release Release a lock (free — workspace op) ~35
No description provided.
| Name | Type | Req | Description |
|---|---|---|---|
| key | string | yes | — |
| leaseId | string | yes | — |
| secret | string | — | — |
| workspaceId | string | yes | — |
No output schema declared.
No examples provided.
coord_workspace Buy a coordination workspace (paid via x402) ~97
Buy a coordination workspace ($0.25 / 7 days, 1000 ops) — the only x402 seller of multi-agent primitives. After this ONE payment, every barrier and lock operation is FREE and FAST (no per-op settlement). Use it to fan-in sub-agents (coord_barrier) and to stop two agents doing the same irreversible thing (coord_lock).
| Name | Type | Req | Description |
|---|---|---|---|
| webhookUrl | string | — | default webhook for coordination events |
No output schema declared.
No examples provided.
create_watch Create a watch (paid via x402) ~212
Buy a standing watch from DataSieve (https://api.datasieve.xyz). standard = $0.10/7d, 1 condition, 50 triggers; composite = $0.25/7d, up to 5 any-match conditions (e.g. 5 heartbeat dead-man switches), 200 triggers; standard30 = $0.35/30d and composite30 = $0.85/30d — one payment covers the month, for agents that will not be awake to renew weekly. Payment is a gasless USDC transfer signed locally. Events go to your webhookUrl (HMAC-signed) if set, and always to a server-side mailbox drained with drain_events; every event carries a signed Ed25519 observation receipt you can replay to third parties. Failed calls are never billed. The watch id + secret are remembered locally so later calls need only the id.
| Name | Type | Req | Description |
|---|---|---|---|
| conditions | array | yes | — |
| tier | string | — | — |
| webhookUrl | string | — | — |
No output schema declared.
No examples provided.
cron_next Parse a cron expression (paid via x402, $0.001) ~111
Next N run times for a cron expression in any IANA timezone, plus seconds-until-next. If the goal is for something to HAPPEN at those times, create_watch with a schedule condition instead — DataSieve fires the cron as signed webhooks for the life of the watch.
| Name | Type | Req | Description |
|---|---|---|---|
| count | integer | — | — |
| cron | string | yes | 5- or 6-field cron expression, e.g. "0 9 * * 1-5" |
| tz | string | — | — |
No output schema declared.
No examples provided.
delete_watch Cancel a watch (free, no refund) ~20
No description provided.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
drain_events Drain held events (free) ~58
Collect everything the watch caught — works with zero infrastructure (the mailbox pattern). Pass `since` = last seen event id for incremental drains.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| since | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
pause_watch Pause a watch (free) ~62
Stop a watch firing (chain, web, heartbeat, schedule) without deleting it. The expiry clock keeps running. Use before a planned agent shutdown so your dead-man switch does not cry wolf.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
payment_status Can I buy? (free) — wallet, balance, prices ~54
Check whether a buying key is configured and whether it can afford a watch. Reports the wallet address, its USDC balance on the configured network, and what each tier costs. Call this before create_watch; it never spends anything.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
ping_heartbeat Heartbeat check-in (free) ~61
Keep a dead-man switch alive. Pass the pingUrl from create_watch (or a watchId whose ping URLs are in local state). Call this at least once per intervalSeconds.
| Name | Type | Req | Description |
|---|---|---|---|
| pingUrl | string | — | — |
| watchId | string | — | — |
No output schema declared.
No examples provided.
renew_watch Renew a watch (paid via x402) ~64
Extends the watch one more period (7 days, or 30 on the *30 tiers) at its tier price and resets the trigger budget. Renewing a paused watch also reactivates it.
| Name | Type | Req | Description |
|---|---|---|---|
| tier | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
resume_watch Resume a paused watch (free) ~52
Backlog-free resume: heartbeat deadlines restart from now and schedules jump to their next FUTURE slot — nothing that elapsed during the pause replays.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
service_health DataSieve service heartbeat (free, public) ~24
Scanner cursor lag vs chain head — verify the watcher is alive before you buy.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
verify_receipt Verify a signed observation receipt (free) ~80
Every DataSieve event carries receipt {alg, keyId, statement, sig} — an Ed25519 attestation that DataSieve observed the event. This checks it against the service key, so an agent can validate evidence handed to it by ANOTHER agent without trusting that agent.
| Name | Type | Req | Description |
|---|---|---|---|
| receipt | object | yes | the receipt object from an event |
No output schema declared.
No examples provided.
watch_status Watch status (free) ~69
State, heartbeat lastCheckedAt, triggersUsed/cap, expiry, delivery stats, and for dead-man switches: up/down, lastPingAt, nextDeadline, pingUrl. Secret is looked up from local state if omitted.
| Name | Type | Req | Description |
|---|---|---|---|
| secret | string | — | — |
| watchId | string | yes | — |
No output schema declared.
No examples provided.
x402_ping Test the payment stack end-to-end (paid via x402, $0.001) ~46
The cheapest possible real x402 purchase: proves this wallet + client can pay a production seller before you point it at anything expensive. Returns payer + network; failed calls are never billed.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.