datasieve-mcp 0.4.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,97 @@
1
+ # datasieve-mcp — installation guide for AI agents
2
+
3
+ This file is for an AI assistant (Cline, Claude, Cursor, …) installing the
4
+ DataSieve MCP server on a user's behalf. Follow it top to bottom; every step is
5
+ non-interactive.
6
+
7
+ ## What this server does
8
+
9
+ DataSieve is standing infrastructure for agents, paid per use over x402 (HTTP
10
+ 402 + USDC on Base — no account, no API key, the wallet is the identity):
11
+
12
+ - **Watch the chain** — wallet activity, whale transfers, price crossings, new pools (Base)
13
+ - **Watch the web** — url-change monitoring, scoped by CSS selector or regex
14
+ - **Dead-man switches** — the user's agent pings a URL; silence fires an alert
15
+ - **Cron schedules** — fire a webhook every N seconds, at a time, or on a cron expression
16
+ - **Multi-agent coordination** — barriers (fan-in) and locks with auto-expiring leases
17
+
18
+ Most tools are **free** (status, event drain, heartbeat pings, receipt
19
+ verification, health). Only the buying tools spend money, and failed calls are
20
+ never billed.
21
+
22
+ ## Step 1 — install with no wallet (always works)
23
+
24
+ Requires Node 22+. No build step, no clone needed — the package is on npm.
25
+
26
+ ```json
27
+ {
28
+ "mcpServers": {
29
+ "datasieve": {
30
+ "command": "npx",
31
+ "args": ["-y", "datasieve-mcp"]
32
+ }
33
+ }
34
+ }
35
+ ```
36
+
37
+ For Claude Code: `claude mcp add datasieve -- npx -y datasieve-mcp`
38
+
39
+ Verify: call the `service_health` tool. It is free and returns the live
40
+ scanner state. If it succeeds, installation is complete.
41
+
42
+ ## Step 2 (optional) — enable purchases
43
+
44
+ Only needed when the user wants to buy watches. Ask the user for a **dedicated
45
+ burner wallet key** holding a few dollars of USDC on Base (payments are gasless
46
+ EIP-3009 — no ETH needed). Never accept their main wallet key.
47
+
48
+ Write the key to a file rather than embedding it in config:
49
+
50
+ ```sh
51
+ echo '0xTHEIR_BURNER_KEY' > ~/.datasieve/key.txt && chmod 600 ~/.datasieve/key.txt
52
+ ```
53
+
54
+ Then add the environment variable to the server config:
55
+
56
+ ```json
57
+ {
58
+ "mcpServers": {
59
+ "datasieve": {
60
+ "command": "npx",
61
+ "args": ["-y", "datasieve-mcp"],
62
+ "env": { "DATASIEVE_PRIVATE_KEY_FILE": "/home/USER/.datasieve/key.txt" }
63
+ }
64
+ }
65
+ }
66
+ ```
67
+
68
+ Verify: call `payment_status` — it reports the wallet address, USDC balance,
69
+ and all prices without spending anything.
70
+
71
+ ## Step 3 (optional) — sandbox rehearsal
72
+
73
+ To test purchases with free faucet USDC (https://faucet.circle.com, Base
74
+ Sepolia), add a second server entry with
75
+ `"DATASIEVE_API_URL": "https://staging.datasieve.xyz"`. Sandbox watches last
76
+ 1 hour.
77
+
78
+ ## Troubleshooting
79
+
80
+ - **`npx` cannot find the package** — ensure Node ≥ 22 (`node --version`).
81
+ - **`payment_status` shows no wallet** — the key file path in `env` must be
82
+ absolute; `~` is not expanded.
83
+ - **A paid call returned 402 repeatedly** — the wallet lacks USDC on Base
84
+ (mainnet) or Base Sepolia (sandbox). Check `payment_status.balance`.
85
+ - **Purchases fail but the user was not charged** — correct behavior: failed
86
+ settlements roll back their side effects and are never billed. Retry with a
87
+ fresh request.
88
+
89
+ ## Tool inventory
90
+
91
+ Free: `service_health`, `payment_status`, `watch_status`, `drain_events`,
92
+ `ping_heartbeat`, `pause_watch`, `resume_watch`, `verify_receipt`,
93
+ `delete_watch`, `coord_barrier`, `coord_arrive`, `coord_lock`, `coord_release`,
94
+ `coord_events`.
95
+
96
+ Paid: `create_watch` ($0.10–$0.85 by tier), `renew_watch` (tier price),
97
+ `coord_workspace` ($0.25), `cron_next` ($0.001), `x402_ping` ($0.001).
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "datasieve-mcp",
3
- "version": "0.4.0",
4
- "description": "MCP server for DataSieve standing infrastructure for agents over x402: on-chain watches, url-change web monitoring, dead-man switches, cron schedules, coordination, signed receipts. No account; your wallet key stays on your machine.",
3
+ "version": "0.4.1",
4
+ "description": "MCP server for DataSieve \u2014 standing infrastructure for agents over x402: on-chain watches, url-change web monitoring, dead-man switches, cron schedules, coordination, signed receipts. No account; your wallet key stays on your machine.",
5
5
  "license": "MIT",
6
- "repository": "github:gitwormq/datasieve",
6
+ "repository": "github:gitwormq/datasieve-mcp",
7
7
  "homepage": "https://datasieve.xyz",
8
8
  "mcpName": "io.github.gitwormq/datasieve",
9
9
  "type": "module",
@@ -15,7 +15,8 @@
15
15
  "dist",
16
16
  "skill",
17
17
  "server.json",
18
- "README.md"
18
+ "README.md",
19
+ "llms-install.md"
19
20
  ],
20
21
  "scripts": {
21
22
  "build": "tsc -p tsconfig.json",
@@ -47,6 +48,8 @@
47
48
  "zod": "^3.25.0"
48
49
  },
49
50
  "devDependencies": {
50
- "@types/node": "^22.13.0"
51
+ "@types/node": "^22.13.0",
52
+ "tsx": "4.23.0",
53
+ "typescript": "5.9.3"
51
54
  }
52
55
  }
package/server.json CHANGED
@@ -3,17 +3,17 @@
3
3
  "name": "io.github.gitwormq/datasieve",
4
4
  "description": "Standing infrastructure for agents over x402: on-chain watches on Base, url-change web monitoring, dead-man switches, cron schedules, multi-agent coordination, signed receipts. No account — wallet is identity.",
5
5
  "repository": {
6
- "url": "https://github.com/gitwormq/datasieve",
6
+ "url": "https://github.com/gitwormq/datasieve-mcp",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.4.0",
9
+ "version": "0.4.1",
10
10
  "websiteUrl": "https://datasieve.xyz",
11
11
  "packages": [
12
12
  {
13
13
  "registryType": "npm",
14
14
  "registryBaseUrl": "https://registry.npmjs.org",
15
15
  "identifier": "datasieve-mcp",
16
- "version": "0.4.0",
16
+ "version": "0.4.1",
17
17
  "transport": { "type": "stdio" },
18
18
  "environmentVariables": [
19
19
  {