@one-source/mcp 5.3.4 → 5.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.
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @one-source/mcp
2
2
 
3
- Unified MCP server for [OneSource](https://docs.onesource.io) — 29 tools for blockchain data and live chain queries in a single server.
3
+ Unified MCP server for [OneSource](https://docs.onesource.io) — 30 tools for blockchain data and live chain queries in a single server.
4
4
 
5
5
  > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools.
6
6
 
@@ -44,7 +44,7 @@ Then connect your MCP client to `http://localhost:3000/`.
44
44
 
45
45
  Health check: `GET http://localhost:3000/health`
46
46
 
47
- ## Tools (29)
47
+ ## Tools (30)
48
48
 
49
49
  ### Blockchain API — Live Chain (12 tools)
50
50
 
@@ -90,13 +90,14 @@ RPC only.
90
90
  | `1s_payment_mode` | View or switch the x402 payment scheme — `exact` (per-call) vs `batch` (payment channel: one deposit funds many off-chain calls, settled with a single claim) |
91
91
  | `1s_refund` | Refund unused `batch` channel balance back to your wallet on demand |
92
92
 
93
- ### Setup & Ops (2 tools)
93
+ ### Setup & Ops (3 tools)
94
94
 
95
95
  No authentication required.
96
96
 
97
97
  | Tool | Purpose | When to use |
98
98
  |------|---------|-------------|
99
99
  | `1s_setup_check` | Server health, version, auth status, batch-settlement status, and setup instructions | First thing to call — checks if everything is configured |
100
+ | `1s_batch_config` | View or change x402 batch-settlement preferences (autonomy, threshold, deposit multiplier, default mode) and persist them across restarts — no config editing required | Configure batch behaviour from the session |
100
101
  | `1s_report_bug` | Report bugs to Slack (or GitHub Issues fallback) | When a tool errors or user wants to report an issue |
101
102
 
102
103
  ## Networks
@@ -197,7 +198,7 @@ X402_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
197
198
 
198
199
  By default each paid call signs one USDC payment (`exact`). For a burst of calls, switch to a **batch** payment channel — one on-chain deposit funds many off-chain calls, settled with a single claim — by calling `1s_payment_mode` with `{ "mode": "batch" }` (or setting `X402_PAYMENT_MODE=batch`). The first batch call deposits `price × X402_DEPOSIT_MULTIPLIER` (default 10), so a session usually over-funds the channel. Reclaim the unused balance any time with the `1s_refund` tool; idle channels are also auto-refunded after a few hours. The residual is always recoverable.
199
200
 
200
- When paying via x402, the agent is also given batch guidance at startup so it can manage this for you: when it anticipates a burst of calls it offers to switch to batch mode and reminds you to `1s_refund` when done. Tune that behavior with `X402_BATCH_PROMPT` (whether the agent asks first, switches automatically, or only on request) and `X402_BATCH_THRESHOLD` (how many calls count as "a burst"). Run `1s_setup_check` to see your current mode, whether batch is available, and these settings.
201
+ When paying via x402, the agent is also given batch guidance at startup so it can manage this for you: when it anticipates a burst of calls it offers to switch to batch mode and reminds you to `1s_refund` when done. Tune that behavior with the `1s_batch_config` tool — set whether the agent asks first / switches automatically / only on request (`prompt`), how many calls count as "a burst" (`threshold`), the deposit multiplier, and the default mode, all from your session. Changes are saved to a server-managed config file and persist across restarts, so you never have to edit the MCP config or set env vars by hand. (The matching `X402_BATCH_PROMPT` / `X402_BATCH_THRESHOLD` / `X402_PAYMENT_MODE` / `X402_DEPOSIT_MULTIPLIER` env vars still work as install-time defaults.) Run `1s_setup_check` to see your current mode, whether batch is available, and these settings.
201
202
 
202
203
  ### Security
203
204
 
package/README.npm.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @one-source/mcp
2
2
 
3
- Unified MCP server for [OneSource](https://docs.onesource.io) — 29 tools for blockchain data and live chain queries in a single server.
3
+ Unified MCP server for [OneSource](https://docs.onesource.io) — 30 tools for blockchain data and live chain queries in a single server.
4
4
 
5
5
  > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools.
6
6
 
@@ -44,7 +44,7 @@ Then connect your MCP client to `http://localhost:3000/`.
44
44
 
45
45
  Health check: `GET http://localhost:3000/health`
46
46
 
47
- ## Tools (29)
47
+ ## Tools (30)
48
48
 
49
49
  ### Blockchain API — Live Chain (12 tools)
50
50
 
@@ -90,13 +90,14 @@ RPC only.
90
90
  | `1s_payment_mode` | View or switch the x402 payment scheme — `exact` (per-call) vs `batch` (payment channel: one deposit funds many off-chain calls, settled with a single claim) |
91
91
  | `1s_refund` | Refund unused `batch` channel balance back to your wallet on demand |
92
92
 
93
- ### Setup & Ops (2 tools)
93
+ ### Setup & Ops (3 tools)
94
94
 
95
95
  No authentication required.
96
96
 
97
97
  | Tool | Purpose | When to use |
98
98
  |------|---------|-------------|
99
99
  | `1s_setup_check` | Server health, version, auth status, batch-settlement status, and setup instructions | First thing to call — checks if everything is configured |
100
+ | `1s_batch_config` | View or change x402 batch-settlement preferences (autonomy, threshold, deposit multiplier, default mode) and persist them across restarts — no config editing required | Configure batch behaviour from the session |
100
101
  | `1s_report_bug` | Report bugs to Slack (or GitHub Issues fallback) | When a tool errors or user wants to report an issue |
101
102
 
102
103
  ## Networks
@@ -197,7 +198,7 @@ X402_PRIVATE_KEY=<key> npx -y @one-source/mcp@latest
197
198
 
198
199
  By default each paid call signs one USDC payment (`exact`). For a burst of calls, switch to a **batch** payment channel — one on-chain deposit funds many off-chain calls, settled with a single claim — by calling `1s_payment_mode` with `{ "mode": "batch" }` (or setting `X402_PAYMENT_MODE=batch`). The first batch call deposits `price × X402_DEPOSIT_MULTIPLIER` (default 10), so a session usually over-funds the channel. Reclaim the unused balance any time with the `1s_refund` tool; idle channels are also auto-refunded after a few hours. The residual is always recoverable.
199
200
 
200
- When paying via x402, the agent is also given batch guidance at startup so it can manage this for you: when it anticipates a burst of calls it offers to switch to batch mode and reminds you to `1s_refund` when done. Tune that behavior with `X402_BATCH_PROMPT` (whether the agent asks first, switches automatically, or only on request) and `X402_BATCH_THRESHOLD` (how many calls count as "a burst"). Run `1s_setup_check` to see your current mode, whether batch is available, and these settings.
201
+ When paying via x402, the agent is also given batch guidance at startup so it can manage this for you: when it anticipates a burst of calls it offers to switch to batch mode and reminds you to `1s_refund` when done. Tune that behavior with the `1s_batch_config` tool — set whether the agent asks first / switches automatically / only on request (`prompt`), how many calls count as "a burst" (`threshold`), the deposit multiplier, and the default mode, all from your session. Changes are saved to a server-managed config file and persist across restarts, so you never have to edit the MCP config or set env vars by hand. (The matching `X402_BATCH_PROMPT` / `X402_BATCH_THRESHOLD` / `X402_PAYMENT_MODE` / `X402_DEPOSIT_MULTIPLIER` env vars still work as install-time defaults.) Run `1s_setup_check` to see your current mode, whether batch is available, and these settings.
201
202
 
202
203
  ### Security
203
204
 
package/README.repo.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # @one-source/mcp
2
2
 
3
- Unified MCP server for [OneSource](https://docs.onesource.io) — 29 tools for blockchain data and live chain queries in a single server.
3
+ Unified MCP server for [OneSource](https://docs.onesource.io) — 30 tools for blockchain data and live chain queries in a single server.
4
4
 
5
5
  > **What is MCP?** The [Model Context Protocol](https://modelcontextprotocol.io) lets AI assistants call tools and access data sources. This server exposes both the OneSource blockchain API and its documentation as tools.
6
6
 
@@ -44,7 +44,7 @@ Then connect your MCP client to `http://localhost:8080/`.
44
44
 
45
45
  Health check: `GET http://localhost:8080/health`
46
46
 
47
- ## Tools (29)
47
+ ## Tools (30)
48
48
 
49
49
  ### Blockchain API — Live Chain (12 tools)
50
50
 
@@ -96,15 +96,16 @@ RPC only.
96
96
  | `1s_refund` | Refund unused `batch` channel balance back to your wallet on demand |
97
97
 
98
98
 
99
- ### Setup & Ops (2 tools)
99
+ ### Setup & Ops (3 tools)
100
100
 
101
101
  No authentication required.
102
102
 
103
103
 
104
- | Tool | Purpose | When to use |
105
- | ---------------- | ------------------------------------------------------- | -------------------------------------------------------- |
106
- | `1s_setup_check` | Server health, version, auth status, batch-settlement status, and setup instructions | First thing to call — checks if everything is configured |
107
- | `1s_report_bug` | Report bugs to Slack (or GitHub Issues fallback) | When a tool errors or user wants to report an issue |
104
+ | Tool | Purpose | When to use |
105
+ | ----------------- | ------------------------------------------------------- | -------------------------------------------------------- |
106
+ | `1s_setup_check` | Server health, version, auth status, batch-settlement status, and setup instructions | First thing to call — checks if everything is configured |
107
+ | `1s_batch_config` | View or change x402 batch-settlement preferences (autonomy, threshold, deposit multiplier, default mode) and persist them across restarts no config editing required | Configure batch behaviour from the session |
108
+ | `1s_report_bug` | Report bugs to Slack (or GitHub Issues fallback) | When a tool errors or user wants to report an issue |
108
109
 
109
110
 
110
111
  ## Networks
@@ -253,11 +254,11 @@ Set one to access the blockchain API tools. Without either, only the no-auth Set
253
254
 
254
255
  ### Optional / Advanced
255
256
 
256
- All have sensible defaults — batch mode runs out of the box. Set these only to override an endpoint, tune how `batch` mode behaves, or adjust analytics. Payment modes can also be switched at runtime with the `1s_payment_mode` tool.
257
+ All have sensible defaults — batch mode runs out of the box. Set these only to override an endpoint, tune how `batch` mode behaves, or adjust analytics. Payment modes can also be switched at runtime with the `1s_payment_mode` tool. The batch knobs below (`X402_PAYMENT_MODE`, `X402_DEPOSIT_MULTIPLIER`, `X402_BATCH_PROMPT`, `X402_BATCH_THRESHOLD`) can be set and persisted from a session with the `1s_batch_config` tool — no config editing or restart required; a saved config takes priority over these env vars.
257
258
 
258
259
  | Variable | Default | Description |
259
260
  | --- | --- | --- |
260
- | `ONESOURCE_BASE_URL` | `https://skills.onesource.io` | API base URL. |
261
+ | `ONESOURCE_BASE_URL` | `https://api.onesource.io` | API base URL. |
261
262
  | `X402_PAYMENT_MODE` | `exact` | Initial x402 scheme: `exact` (per-call) or `batch` (payment channel). Switch in-session with `1s_payment_mode`. |
262
263
  | `X402_RPC_URL` | Base default | Base RPC endpoint used to submit channel deposits in batch mode. |
263
264
  | `X402_DEPOSIT_MULTIPLIER` | `10` | Batch mode: deposit = price × this multiplier, funding that many calls per channel. Unused balance is reclaimable via `1s_refund`. |
@@ -265,6 +266,7 @@ All have sensible defaults — batch mode runs out of the box. Set these only to
265
266
  | `X402_CHANNEL_SALT` | zero | Batch mode: 32-byte hex salt to derive the starting channel id. The client auto-rotates to the next salt when a channel is exhausted or refunded. |
266
267
  | `X402_BATCH_PROMPT` | `ask` | How the agent handles switching to batch mode: `ask` (confirm before switching), `auto` (switch on its own), or `off` (only switch when explicitly asked). |
267
268
  | `X402_BATCH_THRESHOLD` | `5` | Number of anticipated calls in a session at/above which the agent considers batch mode. Advisory — the agent estimates the call count; it is not a hard runtime counter. |
269
+ | `ONESOURCE_CONFIG_DIR` | `~/.onesource` | Directory holding the server-managed batch config (`batch-config.json`) written by `1s_batch_config`. |
268
270
  | `ONESOURCE_ANALYTICS` | `true` | Set to `false` to disable analytics. |
269
271
  | `ONESOURCE_ANALYTICS_URL` | `https://1s-analytics.vercel.app` | Dashboard endpoint for analytics. |
270
272
  | `X402_ANALYTICS_KEY` | `onesource-mcp` | API key for dashboard analytics. |
@@ -368,6 +370,14 @@ If you need to regenerate the keypair (this invalidates the current DNS record a
368
370
 
369
371
  #### Publishing a New Version
370
372
 
373
+ > **Use the release script.** Releases are normally run via the coordinated release
374
+ > script in the sre-services repo (`scripts/release-mcp.mjs` — see `sre-services/RELEASING.md`),
375
+ > which performs all of the steps below across both `@one-source/api-mcp` and
376
+ > `@one-source/mcp` in the correct order, including the `server.json` bump and
377
+ > `mcp-publisher publish`. The First-Time Setup above is still the prerequisite for
378
+ > the registry step. The manual steps below are the fallback for registry-only fixes
379
+ > or when the script can't run.
380
+
371
381
  Every time you release a new npm version, update the MCP Registry:
372
382
 
373
383
  1. **Publish to npm** (the registry validates the package exists, so this must happen first):
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Batch-settlement preferences — server-managed and runtime-configurable.
3
+ *
4
+ * The x402 batch knobs (autonomy prompt, "many" threshold, deposit multiplier,
5
+ * and default payment mode) were previously settable only via env vars, which
6
+ * meant editing the MCP client config and restarting. This module lets them be
7
+ * set from within a session (via the `1s_batch_config` tool) and persists them
8
+ * to a server-owned file so they survive restarts without touching the client
9
+ * config.
10
+ *
11
+ * Resolution priority per field: persisted file > env var > built-in default.
12
+ *
13
+ * Resolved values are mirrored back into process.env (X402_PAYMENT_MODE,
14
+ * X402_DEPOSIT_MULTIPLIER) so the downstream @one-source/api-mcp x402 code —
15
+ * which reads those env vars directly — transparently honours them. This module
16
+ * intentionally has no dependency on api-mcp: applying the live payment scheme
17
+ * (setPaymentMode) is left to the caller.
18
+ */
19
+ export type BatchPromptPref = 'ask' | 'auto' | 'off';
20
+ export type PaymentMode = 'exact' | 'batch';
21
+ export interface BatchPrefs {
22
+ /** Agent autonomy when deciding to switch to batch mode. */
23
+ prompt: BatchPromptPref;
24
+ /** Anticipated call count at/above which batching is worth considering. */
25
+ threshold: number;
26
+ /** Channel deposit = call price × this multiplier. */
27
+ depositMultiplier: number;
28
+ /** Payment scheme the session starts in. */
29
+ mode: PaymentMode;
30
+ }
31
+ export declare const DEFAULT_BATCH_PREFS: BatchPrefs;
32
+ /** Lowest deposit multiplier the batch-settlement SDK accepts. */
33
+ export declare const MIN_DEPOSIT_MULTIPLIER = 3;
34
+ export declare function coercePrompt(v: unknown): BatchPromptPref | undefined;
35
+ export declare function coerceThreshold(v: unknown): number | undefined;
36
+ export declare function coerceMultiplier(v: unknown): number | undefined;
37
+ export declare function coerceMode(v: unknown): PaymentMode | undefined;
38
+ /**
39
+ * Resolve preferences (file > env > default), cache them, and mirror the
40
+ * api-mcp-consumed values into process.env. Call once at startup BEFORE
41
+ * setupX402() so the deposit multiplier and initial mode are in place before
42
+ * the batch channel is built.
43
+ */
44
+ export declare function loadBatchPrefs(): BatchPrefs;
45
+ /** Current preferences (lazily resolved on first access). */
46
+ export declare function getBatchPrefs(): BatchPrefs;
47
+ export interface SetBatchResult {
48
+ prefs: BatchPrefs;
49
+ /** True when the change was written to the config file. */
50
+ persisted: boolean;
51
+ /** Set when persistence failed — the in-memory update still took effect. */
52
+ persistError?: string;
53
+ }
54
+ /**
55
+ * Merge a (pre-validated) patch into the current preferences, persist to the
56
+ * config file, and mirror to process.env. Caller is responsible for validating
57
+ * raw user input (use the coerce* helpers) and for applying any mode change to
58
+ * the live payment scheme via setPaymentMode().
59
+ */
60
+ export declare function setBatchPrefs(patch: Partial<BatchPrefs>): SetBatchResult;
61
+ /** Clear persisted overrides — delete the file and re-resolve from env/defaults. */
62
+ export declare function resetBatchPrefs(): SetBatchResult;
63
+ /** Absolute path to the config file (for display in setup output). */
64
+ export declare function batchConfigPath(): string;
65
+ /** Whether a persisted config file currently exists. */
66
+ export declare function hasPersistedConfig(): boolean;
67
+ //# sourceMappingURL=batch-prefs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-prefs.d.ts","sourceRoot":"","sources":["../src/batch-prefs.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAC;AACrD,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5C,MAAM,WAAW,UAAU;IACzB,4DAA4D;IAC5D,MAAM,EAAE,eAAe,CAAC;IACxB,2EAA2E;IAC3E,SAAS,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,WAAW,CAAC;CACnB;AAED,eAAO,MAAM,mBAAmB,EAAE,UAKjC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAaxC,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,GAAG,eAAe,GAAG,SAAS,CAGpE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG9D;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,SAAS,CAG9D;AA+DD;;;;;GAKG;AACH,wBAAgB,cAAc,IAAI,UAAU,CAI3C;AAED,6DAA6D;AAC7D,wBAAgB,aAAa,IAAI,UAAU,CAG1C;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,UAAU,CAAC;IAClB,2DAA2D;IAC3D,SAAS,EAAE,OAAO,CAAC;IACnB,4EAA4E;IAC5E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,cAAc,CAgBxE;AAED,oFAAoF;AACpF,wBAAgB,eAAe,IAAI,cAAc,CAQhD;AAED,sEAAsE;AACtE,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED,wDAAwD;AACxD,wBAAgB,kBAAkB,IAAI,OAAO,CAM5C"}
@@ -0,0 +1,181 @@
1
+ /**
2
+ * Batch-settlement preferences — server-managed and runtime-configurable.
3
+ *
4
+ * The x402 batch knobs (autonomy prompt, "many" threshold, deposit multiplier,
5
+ * and default payment mode) were previously settable only via env vars, which
6
+ * meant editing the MCP client config and restarting. This module lets them be
7
+ * set from within a session (via the `1s_batch_config` tool) and persists them
8
+ * to a server-owned file so they survive restarts without touching the client
9
+ * config.
10
+ *
11
+ * Resolution priority per field: persisted file > env var > built-in default.
12
+ *
13
+ * Resolved values are mirrored back into process.env (X402_PAYMENT_MODE,
14
+ * X402_DEPOSIT_MULTIPLIER) so the downstream @one-source/api-mcp x402 code —
15
+ * which reads those env vars directly — transparently honours them. This module
16
+ * intentionally has no dependency on api-mcp: applying the live payment scheme
17
+ * (setPaymentMode) is left to the caller.
18
+ */
19
+ import { homedir } from 'node:os';
20
+ import { join } from 'node:path';
21
+ import { readFileSync, writeFileSync, mkdirSync, rmSync, existsSync } from 'node:fs';
22
+ export const DEFAULT_BATCH_PREFS = {
23
+ prompt: 'ask',
24
+ threshold: 5,
25
+ depositMultiplier: 10,
26
+ mode: 'exact',
27
+ };
28
+ /** Lowest deposit multiplier the batch-settlement SDK accepts. */
29
+ export const MIN_DEPOSIT_MULTIPLIER = 3;
30
+ function configDir() {
31
+ const override = process.env.ONESOURCE_CONFIG_DIR?.trim();
32
+ return override && override.length > 0 ? override : join(homedir(), '.onesource');
33
+ }
34
+ function configFile() {
35
+ return join(configDir(), 'batch-config.json');
36
+ }
37
+ // --- field coercers: return undefined when the raw value is absent/invalid ---
38
+ export function coercePrompt(v) {
39
+ const s = typeof v === 'string' ? v.trim().toLowerCase() : '';
40
+ return s === 'ask' || s === 'auto' || s === 'off' ? s : undefined;
41
+ }
42
+ export function coerceThreshold(v) {
43
+ const n = typeof v === 'number' ? v : parseInt(String(v ?? ''), 10);
44
+ return Number.isInteger(n) && n > 0 ? n : undefined;
45
+ }
46
+ export function coerceMultiplier(v) {
47
+ const n = typeof v === 'number' ? v : Number(v);
48
+ return Number.isFinite(n) && n >= MIN_DEPOSIT_MULTIPLIER ? n : undefined;
49
+ }
50
+ export function coerceMode(v) {
51
+ const s = typeof v === 'string' ? v.trim().toLowerCase() : '';
52
+ return s === 'exact' || s === 'batch' ? s : undefined;
53
+ }
54
+ // Snapshot the launch-time env vars ONCE at module load. We mirror resolved
55
+ // values back into process.env (so api-mcp's x402 layer honours them), which
56
+ // would otherwise corrupt the env baseline — a later reset() would read our own
57
+ // mirror instead of the original env. Reading the snapshot keeps env precedence
58
+ // stable across set/reset cycles.
59
+ const ENV_SNAPSHOT = {
60
+ prompt: process.env.X402_BATCH_PROMPT,
61
+ threshold: process.env.X402_BATCH_THRESHOLD,
62
+ depositMultiplier: process.env.X402_DEPOSIT_MULTIPLIER,
63
+ mode: process.env.X402_PAYMENT_MODE,
64
+ };
65
+ let _cache;
66
+ /** Read + validate the persisted file, ignoring any invalid/missing fields. */
67
+ function readPersisted() {
68
+ try {
69
+ const data = JSON.parse(readFileSync(configFile(), 'utf8'));
70
+ const out = {};
71
+ const prompt = coercePrompt(data.prompt);
72
+ if (prompt)
73
+ out.prompt = prompt;
74
+ const threshold = coerceThreshold(data.threshold);
75
+ if (threshold)
76
+ out.threshold = threshold;
77
+ const depositMultiplier = coerceMultiplier(data.depositMultiplier);
78
+ if (depositMultiplier)
79
+ out.depositMultiplier = depositMultiplier;
80
+ const mode = coerceMode(data.mode);
81
+ if (mode)
82
+ out.mode = mode;
83
+ return out;
84
+ }
85
+ catch {
86
+ // No file, unreadable, or malformed JSON — fall back to env/defaults.
87
+ return {};
88
+ }
89
+ }
90
+ function fromEnv() {
91
+ const out = {};
92
+ const prompt = coercePrompt(ENV_SNAPSHOT.prompt);
93
+ if (prompt)
94
+ out.prompt = prompt;
95
+ const threshold = coerceThreshold(ENV_SNAPSHOT.threshold);
96
+ if (threshold)
97
+ out.threshold = threshold;
98
+ const depositMultiplier = coerceMultiplier(ENV_SNAPSHOT.depositMultiplier);
99
+ if (depositMultiplier)
100
+ out.depositMultiplier = depositMultiplier;
101
+ const mode = coerceMode(ENV_SNAPSHOT.mode);
102
+ if (mode)
103
+ out.mode = mode;
104
+ return out;
105
+ }
106
+ /** Mirror api-mcp-consumed values into process.env so its x402 layer honours them. */
107
+ function mirrorToEnv(prefs) {
108
+ process.env.X402_PAYMENT_MODE = prefs.mode;
109
+ process.env.X402_DEPOSIT_MULTIPLIER = String(prefs.depositMultiplier);
110
+ }
111
+ function resolve() {
112
+ return {
113
+ ...DEFAULT_BATCH_PREFS,
114
+ ...fromEnv(), // env over default
115
+ ...readPersisted(), // file over env
116
+ };
117
+ }
118
+ /**
119
+ * Resolve preferences (file > env > default), cache them, and mirror the
120
+ * api-mcp-consumed values into process.env. Call once at startup BEFORE
121
+ * setupX402() so the deposit multiplier and initial mode are in place before
122
+ * the batch channel is built.
123
+ */
124
+ export function loadBatchPrefs() {
125
+ _cache = resolve();
126
+ mirrorToEnv(_cache);
127
+ return _cache;
128
+ }
129
+ /** Current preferences (lazily resolved on first access). */
130
+ export function getBatchPrefs() {
131
+ if (!_cache)
132
+ loadBatchPrefs();
133
+ return _cache;
134
+ }
135
+ /**
136
+ * Merge a (pre-validated) patch into the current preferences, persist to the
137
+ * config file, and mirror to process.env. Caller is responsible for validating
138
+ * raw user input (use the coerce* helpers) and for applying any mode change to
139
+ * the live payment scheme via setPaymentMode().
140
+ */
141
+ export function setBatchPrefs(patch) {
142
+ const next = { ...getBatchPrefs(), ...patch };
143
+ let persisted = false;
144
+ let persistError;
145
+ try {
146
+ mkdirSync(configDir(), { recursive: true });
147
+ writeFileSync(configFile(), JSON.stringify(next, null, 2) + '\n', 'utf8');
148
+ persisted = true;
149
+ }
150
+ catch (err) {
151
+ persistError = err instanceof Error ? err.message : String(err);
152
+ }
153
+ _cache = next;
154
+ mirrorToEnv(next);
155
+ return { prefs: next, persisted, persistError };
156
+ }
157
+ /** Clear persisted overrides — delete the file and re-resolve from env/defaults. */
158
+ export function resetBatchPrefs() {
159
+ let persistError;
160
+ try {
161
+ rmSync(configFile(), { force: true });
162
+ }
163
+ catch (err) {
164
+ persistError = err instanceof Error ? err.message : String(err);
165
+ }
166
+ return { prefs: loadBatchPrefs(), persisted: persistError === undefined, persistError };
167
+ }
168
+ /** Absolute path to the config file (for display in setup output). */
169
+ export function batchConfigPath() {
170
+ return configFile();
171
+ }
172
+ /** Whether a persisted config file currently exists. */
173
+ export function hasPersistedConfig() {
174
+ try {
175
+ return existsSync(configFile());
176
+ }
177
+ catch {
178
+ return false;
179
+ }
180
+ }
181
+ //# sourceMappingURL=batch-prefs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"batch-prefs.js","sourceRoot":"","sources":["../src/batch-prefs.ts"],"names":[],"mappings":"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"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AA0XH,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA;;;;;;;GAOG;AAgZH,OAAO,EAAE,CAAC"}
package/dist/cli.js CHANGED
@@ -27,36 +27,32 @@ async function checkLatestVersion() {
27
27
  * Build the batch-settlement guidance line for the agent system prompt.
28
28
  *
29
29
  * Only meaningful when paying via x402; returns '' for api_key/none. The line's
30
- * proactivity is driven by two user-set env vars:
31
- * X402_BATCH_PROMPT — autonomy level: 'ask' (default) | 'auto' | 'off'
32
- * X402_BATCH_THRESHOLD integer count of anticipated calls that means "many"
33
- * (default 5; non-numeric / ≤0 falls back to the default)
30
+ * proactivity is driven by the resolved batch preferences (file > env > default;
31
+ * see batch-prefs.ts):
32
+ * prompt autonomy level: 'ask' (default) | 'auto' | 'off'
33
+ * threshold — count of anticipated calls that means "many" (default 5)
34
34
  */
35
- function buildBatchGuidance(authMethod) {
35
+ function buildBatchGuidance(authMethod, prompt, threshold) {
36
36
  if (authMethod !== 'x402')
37
37
  return '';
38
- const rawPrompt = process.env.X402_BATCH_PROMPT?.trim().toLowerCase();
39
- const prompt = rawPrompt === 'auto' || rawPrompt === 'off' ? rawPrompt : 'ask';
40
- const parsedThreshold = parseInt(process.env.X402_BATCH_THRESHOLD ?? '', 10);
41
- const threshold = Number.isFinite(parsedThreshold) && parsedThreshold > 0 ? parsedThreshold : 5;
42
38
  if (prompt === 'off') {
43
- return 'Batch payments: only switch to batch mode if the user explicitly asks.';
39
+ return 'Batch payments: only switch to batch mode if the user explicitly asks. You can change this preference with 1s_batch_config.';
44
40
  }
45
41
  if (prompt === 'auto') {
46
- return `Batch payments: when you anticipate ${threshold} or more blockchain calls in a session, switch to batch automatically via 1s_payment_mode {mode:'batch'}, and call 1s_refund when finished to reclaim leftover balance.`;
42
+ return `Batch payments: when you anticipate ${threshold} or more blockchain calls in a session, switch to batch automatically via 1s_payment_mode {mode:'batch'}, and call 1s_refund when finished to reclaim leftover balance. Batch behaviour is configurable with 1s_batch_config.`;
47
43
  }
48
- return `Batch payments: when you anticipate ${threshold} or more blockchain calls in one session, batch mode (a USDC payment channel) is cheaper than per-call exact payments. Because batch deposits USDC up front, ask the user before switching; on agreement call 1s_payment_mode {mode:'batch'}, and remind them to 1s_refund leftover balance when finished.`;
44
+ return `Batch payments: when you anticipate ${threshold} or more blockchain calls in one session, batch mode (a USDC payment channel) is cheaper than per-call exact payments. Because batch deposits USDC up front, ask the user before switching; on agreement call 1s_payment_mode {mode:'batch'}, and remind them to 1s_refund leftover balance when finished. The user can tune batch behaviour (autonomy, threshold, deposit) any time via 1s_batch_config — no restart needed.`;
49
45
  }
50
46
  /** Build the MCP instructions string based on version comparison and active auth method. */
51
- function buildInstructions(currentVersion, latestVersion, authMethod) {
47
+ function buildInstructions(currentVersion, latestVersion, authMethod, batchPrompt, batchThreshold) {
52
48
  const authLine = authMethod === 'api_key'
53
49
  ? 'Blockchain API tools are authenticated via API key. If a tool returns a 402 error, the API key may be invalid or inactive — tell the user to verify their key at app.onesource.io. If a tool returns a 403 error, the account does not have a developer plan — tell the user to upgrade at app.onesource.io.'
54
50
  : authMethod === 'x402'
55
51
  ? 'Blockchain API tools require x402 payment (USDC on Base). If a tool returns a 402 error, the user needs to configure X402_PRIVATE_KEY. Call 1s_setup_check for diagnostics and setup instructions.'
56
52
  : 'Blockchain API tools require authentication. Set ONESOURCE_API_KEY (API key) or X402_PRIVATE_KEY (x402 micropayments) to access them. Call 1s_setup_check for setup instructions.';
57
- const batchGuidance = buildBatchGuidance(authMethod);
53
+ const batchGuidance = buildBatchGuidance(authMethod, batchPrompt, batchThreshold);
58
54
  const baseline = [
59
- 'OneSource MCP — 29 tools for blockchain data.',
55
+ 'OneSource MCP — 30 tools for blockchain data.',
60
56
  '',
61
57
  authLine,
62
58
  ...(batchGuidance ? ['', batchGuidance] : []),
@@ -110,6 +106,11 @@ if (args.includes('--http')) {
110
106
  let authMethod = 'none';
111
107
  let x402Fetch;
112
108
  let x402Address;
109
+ // Resolve batch preferences (file > env > default) and mirror the deposit
110
+ // multiplier + initial mode into process.env BEFORE setupX402 builds the
111
+ // payment channel, so settings saved via 1s_batch_config take effect at startup.
112
+ const { loadBatchPrefs } = await import('./batch-prefs.js');
113
+ const batchPrefs = loadBatchPrefs();
113
114
  if (apiKey) {
114
115
  authMethod = 'api_key';
115
116
  console.error('[onesource] auth: api_key');
@@ -136,7 +137,7 @@ if (args.includes('--http')) {
136
137
  const bugReportUrl = process.env.ONESOURCE_BUG_REPORT_URL;
137
138
  // Check for updates (non-blocking, 3s timeout)
138
139
  const latestVersion = await checkLatestVersion();
139
- const instructions = buildInstructions(VERSION, latestVersion, authMethod);
140
+ const instructions = buildInstructions(VERSION, latestVersion, authMethod, batchPrefs.prompt, batchPrefs.threshold);
140
141
  if (latestVersion && latestVersion !== VERSION) {
141
142
  console.error(`[onesource] v${VERSION} (update available: v${latestVersion})`);
142
143
  }
@@ -171,6 +172,12 @@ if (args.includes('--http')) {
171
172
  res.writeHead(204).end();
172
173
  return;
173
174
  }
175
+ // Browser redirect — GET / with Accept: text/html → landing page
176
+ if (req.method === 'GET' && req.url === '/' && req.headers['accept']?.includes('text/html')) {
177
+ res.writeHead(301, { 'Location': 'https://onesource.io/mcp' });
178
+ res.end();
179
+ return;
180
+ }
174
181
  // Health check
175
182
  if (req.method === 'GET' && req.url === '/health') {
176
183
  res.writeHead(200, { 'Content-Type': 'application/json' });
@@ -274,6 +281,11 @@ else {
274
281
  let authMethod = 'none';
275
282
  let x402Fetch;
276
283
  let x402Address;
284
+ // Resolve batch preferences (file > env > default) and mirror the deposit
285
+ // multiplier + initial mode into process.env BEFORE setupX402 builds the
286
+ // payment channel, so settings saved via 1s_batch_config take effect at startup.
287
+ const { loadBatchPrefs } = await import('./batch-prefs.js');
288
+ const batchPrefs = loadBatchPrefs();
277
289
  if (apiKey) {
278
290
  authMethod = 'api_key';
279
291
  console.error('[onesource] auth: api_key');
@@ -300,7 +312,7 @@ else {
300
312
  const bugReportUrl = process.env.ONESOURCE_BUG_REPORT_URL;
301
313
  // Check for updates (non-blocking, 3s timeout)
302
314
  const latestVersion = await checkLatestVersion();
303
- const instructions = buildInstructions(VERSION, latestVersion, authMethod);
315
+ const instructions = buildInstructions(VERSION, latestVersion, authMethod, batchPrefs.prompt, batchPrefs.threshold);
304
316
  if (latestVersion && latestVersion !== VERSION) {
305
317
  console.error(`[onesource] v${VERSION} (update available: v${latestVersion})`);
306
318
  }
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Unified MCP Server Factory
3
3
  *
4
- * Creates a single McpServer named 'onesource' with all 29 tools
5
- * (27 API incl. payment-mode + 1 setup check + 1 bug report) by delegating to the register modules.
4
+ * Creates a single McpServer named 'onesource' with all 30 tools
5
+ * (27 API incl. payment-mode + 1 setup check + 1 batch config + 1 bug report)
6
+ * by delegating to the register modules.
6
7
  */
7
8
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
9
  import type { OneSourceClient } from '@one-source/api-mcp/client';
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAGlC,kFAAkF;IAClF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAmC9E;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC"}
1
+ {"version":3,"file":"create-server.d.ts","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,EAAmB,KAAK,SAAS,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEvC,MAAM,WAAW,mBAAmB;IAGlC,kFAAkF;IAClF,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,0EAA0E;IAC1E,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kEAAkE;IAClE,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,eAAe,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,kBAAkB,CAmC9E;AAGD,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Unified MCP Server Factory
3
3
  *
4
- * Creates a single McpServer named 'onesource' with all 29 tools
5
- * (27 API incl. payment-mode + 1 setup check + 1 bug report) by delegating to the register modules.
4
+ * Creates a single McpServer named 'onesource' with all 30 tools
5
+ * (27 API incl. payment-mode + 1 setup check + 1 batch config + 1 bug report)
6
+ * by delegating to the register modules.
6
7
  */
7
8
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
8
9
  import { registerApiTools } from './register-api-tools.js';
@@ -1 +1 @@
1
- {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA4BvC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA0B;IACxD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,eAAe,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACnD,MAAM;QACN,SAAS;QACT,SAAS;QACT,MAAM,EAAE,IAAI,EAAE,MAAM;QACpB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,MAAM;QACN,SAAS;QACT,SAAS;QACT,wBAAwB;QACxB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACrC,MAAM;QACN,SAAS;QACT,SAAS;QACT,YAAY,EAAE,IAAI,EAAE,YAAY;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnF,CAAC;AAED,wCAAwC;AACxC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC"}
1
+ {"version":3,"file":"create-server.js","sourceRoot":"","sources":["../src/create-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AA4BvC;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,IAA0B;IACxD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,eAAe,EAAE,CAAC;IACvD,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,CAAC;IAElC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,EACvC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,SAAS,CACrE,CAAC;IAEF,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,gBAAgB,CAAC;QACnD,MAAM;QACN,SAAS;QACT,SAAS;QACT,MAAM,EAAE,IAAI,EAAE,MAAM;QACpB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,iBAAiB,CAAC;QAClC,MAAM;QACN,SAAS;QACT,SAAS;QACT,wBAAwB;QACxB,UAAU,EAAE,IAAI,EAAE,UAAU;QAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;KAC/B,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,qBAAqB,CAAC;QACrC,MAAM;QACN,SAAS;QACT,SAAS;QACT,YAAY,EAAE,IAAI,EAAE,YAAY;KACjC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,EAAE,CAAC;AACnF,CAAC;AAED,wCAAwC;AACxC,OAAO,EAAE,OAAO,EAAE,CAAC;AACnB,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"register-docs-tools.d.ts","sourceRoot":"","sources":["../src/register-docs-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAkBzE,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAgF/D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAG7B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CAkTxE"}
1
+ {"version":3,"file":"register-docs-tools.d.ts","sourceRoot":"","sources":["../src/register-docs-tools.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAgCzE,OAAO,KAAK,EAAE,SAAS,EAAiB,MAAM,gBAAgB,CAAC;AAiF/D,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,SAAS,EAAE,SAAS,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAG7B,2DAA2D;IAC3D,UAAU,CAAC,EAAE,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;IACzC,8FAA8F;IAC9F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,wBAAwB,GAAG,MAAM,CA+TxE"}
@@ -5,7 +5,9 @@
5
5
  * Code is commented out for easy re-enable. Only 1s_setup_check remains active.
6
6
  */
7
7
  import { createHash } from 'node:crypto';
8
- import { getPaymentModeInfo } from '@one-source/api-mcp/x402';
8
+ import { z } from 'zod';
9
+ import { getPaymentModeInfo, setPaymentMode } from '@one-source/api-mcp/x402';
10
+ import { getBatchPrefs, setBatchPrefs, resetBatchPrefs, batchConfigPath, hasPersistedConfig, coercePrompt, coerceThreshold, coerceMultiplier, coerceMode, MIN_DEPOSIT_MULTIPLIER, } from './batch-prefs.js';
9
11
  import { VERSION } from './version.js';
10
12
  function hashSession(sessionId) {
11
13
  if (!sessionId)
@@ -23,7 +25,7 @@ function instrumentedTool(server, analytics, transport, name, description,
23
25
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
24
26
  schema,
25
27
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
26
- handler) {
28
+ handler, category = 'docs') {
27
29
  server.tool(name, description, schema, async (input, extra) => {
28
30
  const start = performance.now();
29
31
  const inputKeys = Object.keys(input);
@@ -33,7 +35,7 @@ handler) {
33
35
  type: 'tool_call',
34
36
  service: 'onesource-docs',
35
37
  tool: name,
36
- category: 'docs',
38
+ category,
37
39
  timestamp: new Date().toISOString(),
38
40
  input_params: inputKeys,
39
41
  version: VERSION,
@@ -253,11 +255,8 @@ export function registerDocsTools(opts) {
253
255
  parts.push('\n## Batch Settlement (x402)\n');
254
256
  if (activeMethod === 'x402') {
255
257
  const info = getPaymentModeInfo();
256
- // Current preferences (defaults mirror buildInstructions in cli.ts)
257
- const rawPrompt = process.env.X402_BATCH_PROMPT?.trim().toLowerCase();
258
- const promptPref = rawPrompt === 'auto' || rawPrompt === 'off' ? rawPrompt : 'ask';
259
- const parsedThreshold = parseInt(process.env.X402_BATCH_THRESHOLD ?? '', 10);
260
- const threshold = Number.isFinite(parsedThreshold) && parsedThreshold > 0 ? parsedThreshold : 5;
258
+ const prefs = getBatchPrefs();
259
+ const persisted = hasPersistedConfig();
261
260
  parts.push(`Current mode: **${info.mode}**${info.mode === 'exact' ? ' (per-call payments)' : ' (payment channel)'}`);
262
261
  if (info.batchAvailable) {
263
262
  parts.push('Batch available: **Yes**');
@@ -265,49 +264,33 @@ export function registerDocsTools(opts) {
265
264
  else {
266
265
  parts.push('Batch available: **No** — the channel scheme failed to initialise (usually an RPC issue). Check `X402_RPC_URL` and restart the server.');
267
266
  }
268
- parts.push(`Switch preference: \`X402_BATCH_PROMPT=${promptPref}\` (ask / auto / off)`);
269
- parts.push(`"Many" threshold: \`X402_BATCH_THRESHOLD=${threshold}\` (anticipated calls before batching is considered)`);
270
- parts.push('\nBatch settlement opens a USDC payment channel: the first paid call deposits `price × deposit multiplier` (default 10×) on-chain, then subsequent calls are signed off-chain and settled together with a single claim. Best for a **burst of calls** — cheaper than paying per call. Switching back to `exact` leaves any unspent channel balance locked until the on-chain withdraw delay (~1 day on mainnet), so reclaim it with `1s_refund` when done.');
271
- parts.push('\n### Switch at runtime (no restart)\n');
272
- parts.push('- Enable batch any time: call `1s_payment_mode` with `{ "mode": "batch" }`.');
273
- parts.push('- Back to per-call: call `1s_payment_mode` with `{ "mode": "exact" }`.');
274
- parts.push('- Reclaim unspent deposit when finished: call `1s_refund` (idle channels also auto-refund after a few hours).');
275
- parts.push('\n### Configure via environment variables\n');
276
- parts.push('All have sensible defaults batch runs out of the box. Set these to change defaults at startup:\n');
277
- parts.push('- `X402_PAYMENT_MODE` (default `exact`) set to `batch` to start the session in batch mode.');
278
- parts.push('- `X402_DEPOSIT_MULTIPLIER` (default `10`) deposit = price × this multiplier, funding that many calls per channel.');
267
+ parts.push('\n**Current batch settings:**');
268
+ parts.push(`- Autonomy: \`${prefs.prompt}\` (ask / auto / off — whether the agent confirms before switching to batch)`);
269
+ parts.push(`- "Many" threshold: \`${prefs.threshold}\` (anticipated calls at/above which batching is considered)`);
270
+ parts.push(`- Deposit multiplier: \`${prefs.depositMultiplier}\` (channel deposit = call price × this)`);
271
+ parts.push(`- Default mode: \`${prefs.mode}\` (scheme the session starts in)`);
272
+ parts.push(`- Saved to: ${persisted ? `\`${batchConfigPath()}\`` : `*(not yet saved — using ${process.env.X402_BATCH_PROMPT || process.env.X402_BATCH_THRESHOLD ? 'env vars / ' : ''}defaults)*`}`);
273
+ parts.push('\nBatch settlement opens a USDC payment channel: the first paid call deposits `price × deposit multiplier` on-chain, then subsequent calls are signed off-chain and settled together with a single claim. Best for a **burst of calls** — cheaper than paying per call. Switching back to `exact` leaves any unspent channel balance locked until the on-chain withdraw delay (~1 day on mainnet), so reclaim it with `1s_refund` when done.');
274
+ parts.push('\n### Configure from this session — no config editing, no restart\n');
275
+ parts.push('Use the `1s_batch_config` tool to view or change every batch setting. Changes are saved to the server-managed config file above and persist across restarts — you never need to edit the MCP client config or set env vars by hand.');
276
+ parts.push('- View current settings: call `1s_batch_config` with no arguments.');
277
+ parts.push('- Change autonomy: `1s_batch_config { "prompt": "auto" }` (or `"ask"` / `"off"`).');
278
+ parts.push('- Change the threshold: `1s_batch_config { "threshold": 8 }`.');
279
+ parts.push('- Change the deposit multiplier: `1s_batch_config { "deposit_multiplier": 20 }` (min ' + MIN_DEPOSIT_MULTIPLIER + '; applies to the next channel opened).');
280
+ parts.push('- Set the default mode and switch now: `1s_batch_config { "mode": "batch" }` (applies immediately and on future restarts).');
281
+ parts.push('- Reset everything to defaults: `1s_batch_config { "reset": true }`.');
282
+ parts.push('\nThe `prompt`, `threshold`, and `mode` changes take effect immediately for the rest of this session; `deposit_multiplier` applies to the next payment channel that opens.');
283
+ parts.push('\n### Other runtime controls\n');
284
+ parts.push('- Switch scheme for this session only (without changing the saved default): `1s_payment_mode { "mode": "batch" }` or `{ "mode": "exact" }`.');
285
+ parts.push('- Reclaim unspent channel deposit when finished: `1s_refund` (idle channels also auto-refund after a few hours).');
286
+ parts.push('\n### Advanced: install-time env vars\n');
287
+ parts.push('Setting these in the MCP config seeds the defaults at startup (the saved config file, when present, takes priority). Most users should use `1s_batch_config` instead.');
288
+ parts.push('- `X402_BATCH_PROMPT` (default `ask`), `X402_BATCH_THRESHOLD` (default `5`), `X402_PAYMENT_MODE` (default `exact`), `X402_DEPOSIT_MULTIPLIER` (default `10`).');
279
289
  parts.push('- `X402_RPC_URL` (default Base public RPC) — set your own Base RPC if channel deposits rate-limit.');
280
290
  parts.push('- `X402_CHANNEL_DIR` (default unset = in-memory) — directory to persist the channel across restarts.');
281
- parts.push('- `X402_BATCH_PROMPT` (default `ask`) — agent autonomy: `ask` (confirm before switching), `auto` (switch on its own), or `off` (only on explicit request).');
282
- parts.push('- `X402_BATCH_THRESHOLD` (default `5`) — number of anticipated calls at/above which the agent considers batching.');
283
- parts.push('\n**Claude Code:**');
284
- parts.push('```');
285
- parts.push('claude mcp remove onesource');
286
- parts.push('claude mcp add onesource -e X402_PRIVATE_KEY=0x... -e X402_PAYMENT_MODE=batch -e X402_BATCH_PROMPT=ask -e X402_BATCH_THRESHOLD=5 -- npx -y @one-source/mcp@latest');
287
- parts.push('```\n');
288
- parts.push('**Claude Desktop / Cursor:**');
289
- parts.push('```json');
290
- parts.push('{');
291
- parts.push(' "mcpServers": {');
292
- parts.push(' "onesource": {');
293
- parts.push(' "command": "npx",');
294
- parts.push(' "args": ["-y", "@one-source/mcp@latest"],');
295
- parts.push(' "env": {');
296
- parts.push(' "X402_PRIVATE_KEY": "0x...",');
297
- parts.push(' "X402_PAYMENT_MODE": "batch",');
298
- parts.push(' "X402_BATCH_PROMPT": "ask",');
299
- parts.push(' "X402_BATCH_THRESHOLD": "5"');
300
- parts.push(' }');
301
- parts.push(' }');
302
- parts.push(' }');
303
- parts.push('}');
304
- parts.push('```\n');
305
- parts.push('**Any MCP client (stdio):**');
306
- parts.push('```');
307
- parts.push('X402_PRIVATE_KEY=0x... X402_PAYMENT_MODE=batch X402_BATCH_PROMPT=ask X402_BATCH_THRESHOLD=5 npx -y @one-source/mcp@latest');
308
- parts.push('```\n');
309
- parts.push('### Your preference\n');
310
- parts.push(`> **Agent:** ask the user how they want batch handled — (1) **how many calls** in a session should make batching worth it (currently ${threshold}), and (2) whether you should **ask first** (current: \`${promptPref}\`), **switch automatically**, or **only on request**. Offer to persist their answer via \`X402_BATCH_THRESHOLD\` and \`X402_BATCH_PROMPT\` using the config above (takes effect on restart).`);
291
+ parts.push('- `ONESOURCE_CONFIG_DIR` (default `~/.onesource`) — directory holding the saved batch config.');
292
+ parts.push('\n### Your preference\n');
293
+ parts.push(`> **Agent:** ask the user how they want batch payments handled — (1) **how many calls** in a session should make batching worth it (currently ${prefs.threshold}), and (2) whether you should **ask first** (current: \`${prefs.prompt}\`), **switch automatically**, or **only act on request**. When they answer, apply it immediately with \`1s_batch_config\` (e.g. \`{ "threshold": 8, "prompt": "auto" }\`) — it persists automatically, so there is no config file to edit and no restart needed.`);
311
294
  }
312
295
  else {
313
296
  parts.push('Batch settlement applies only to x402 payments. ' + (activeMethod === 'api_key'
@@ -316,7 +299,7 @@ export function registerDocsTools(opts) {
316
299
  }
317
300
  // 3. API connectivity
318
301
  parts.push('\n## API Connectivity\n');
319
- const baseUrl = process.env.ONESOURCE_BASE_URL ?? 'https://skills.onesource.io';
302
+ const baseUrl = process.env.ONESOURCE_BASE_URL ?? 'https://api.onesource.io';
320
303
  try {
321
304
  await fetch(baseUrl, { method: 'HEAD', signal: AbortSignal.timeout(5000) });
322
305
  parts.push(`Backend: **Reachable** (${baseUrl})`);
@@ -343,12 +326,139 @@ export function registerDocsTools(opts) {
343
326
  if (activeMethod !== 'none') {
344
327
  parts.push('- Try an API tool: `1s_network_info` (returns chain ID, block number, gas price)');
345
328
  }
346
- if (activeMethod === 'x402' && getPaymentModeInfo().mode === 'exact') {
347
- parts.push('- Making many calls this session? Ask me to enable batch mode (`1s_payment_mode`) to pay once for the whole burst.');
329
+ if (activeMethod === 'x402') {
330
+ parts.push('- Review your batch-payment preferences and adjust them with `1s_batch_config` (see Batch Settlement above) no config editing or restart needed.');
331
+ if (getPaymentModeInfo().mode === 'exact') {
332
+ parts.push('- Making many calls this session? Enable batch mode (`1s_payment_mode { "mode": "batch" }`) to pay once for the whole burst.');
333
+ }
348
334
  }
349
335
  return parts.join('\n');
350
336
  });
351
- return 1;
337
+ // ---------------------------------------------------------------------------
338
+ // 1s_batch_config — view or change x402 batch-settlement preferences at
339
+ // runtime. Persists to the server-managed config file so settings survive
340
+ // restarts without editing the MCP client config. Decoupled from auth: it can
341
+ // record preferences even before x402 is active, but only x402 sessions act on
342
+ // them, and a live mode switch only happens when x402 is enabled.
343
+ // ---------------------------------------------------------------------------
344
+ instrumentedTool(server, analytics, transport, '1s_batch_config', 'View or change x402 batch-settlement preferences and save them so they persist across restarts — no MCP config editing or restart required. ' +
345
+ 'Call with no arguments to see current settings. ' +
346
+ 'Set "prompt" (ask/auto/off — agent autonomy when switching to batch), "threshold" (anticipated calls before batching is worth it), ' +
347
+ '"deposit_multiplier" (channel deposit = call price × this; applies to the next channel opened), or "mode" (exact/batch — the default scheme, also switched live for this session). ' +
348
+ 'Pass "reset": true to restore defaults. Only affects x402 payments; with an API key, calls are covered by your plan.', {
349
+ prompt: z.enum(['ask', 'auto', 'off']).optional()
350
+ .describe('Agent autonomy when deciding to switch to batch mode: ask (confirm first), auto (switch on its own), off (only on explicit request).'),
351
+ threshold: z.number().int().positive().optional()
352
+ .describe('Anticipated call count at/above which batch mode is worth considering. Default 5.'),
353
+ deposit_multiplier: z.number().min(MIN_DEPOSIT_MULTIPLIER).optional()
354
+ .describe(`Channel deposit = call price × this multiplier. Minimum ${MIN_DEPOSIT_MULTIPLIER}. Applies to the next channel opened.`),
355
+ mode: z.enum(['exact', 'batch']).optional()
356
+ .describe('Default payment scheme the session starts in. Also switched live for the current session when x402 is active.'),
357
+ reset: z.boolean().optional()
358
+ .describe('Restore all batch settings to their built-in defaults (deletes the saved config file).'),
359
+ }, (input) => handleBatchConfig(input, opts.authMethod), 'ops');
360
+ return 2;
361
+ }
362
+ /**
363
+ * Handler for `1s_batch_config`. Validates input, persists the change, applies a
364
+ * live payment-mode switch when x402 is active, and returns a human/agent-readable
365
+ * summary of the resulting settings.
366
+ */
367
+ function handleBatchConfig(input, authMethod) {
368
+ const info = getPaymentModeInfo();
369
+ const x402Active = info.enabled || authMethod === 'x402';
370
+ // --- reset path ---
371
+ if (input.reset === true) {
372
+ const { prefs, persisted, persistError } = resetBatchPrefs();
373
+ if (x402Active && info.enabled)
374
+ setPaymentMode(prefs.mode);
375
+ return renderBatchConfig('Batch settings reset to defaults.', prefs, persisted, persistError, x402Active, info.enabled);
376
+ }
377
+ // --- validate provided fields (only those present) ---
378
+ const patch = {};
379
+ const errors = [];
380
+ if (input.prompt !== undefined) {
381
+ const v = coercePrompt(input.prompt);
382
+ if (v)
383
+ patch.prompt = v;
384
+ else
385
+ errors.push(`prompt must be one of ask / auto / off (got ${JSON.stringify(input.prompt)})`);
386
+ }
387
+ if (input.threshold !== undefined) {
388
+ const v = coerceThreshold(input.threshold);
389
+ if (v)
390
+ patch.threshold = v;
391
+ else
392
+ errors.push(`threshold must be a positive integer (got ${JSON.stringify(input.threshold)})`);
393
+ }
394
+ if (input.deposit_multiplier !== undefined) {
395
+ const v = coerceMultiplier(input.deposit_multiplier);
396
+ if (v)
397
+ patch.depositMultiplier = v;
398
+ else
399
+ errors.push(`deposit_multiplier must be a number ≥ ${MIN_DEPOSIT_MULTIPLIER} (got ${JSON.stringify(input.deposit_multiplier)})`);
400
+ }
401
+ if (input.mode !== undefined) {
402
+ const v = coerceMode(input.mode);
403
+ if (v)
404
+ patch.mode = v;
405
+ else
406
+ errors.push(`mode must be exact or batch (got ${JSON.stringify(input.mode)})`);
407
+ }
408
+ if (errors.length > 0) {
409
+ return `Could not apply batch config — ${errors.join('; ')}. No changes were made.`;
410
+ }
411
+ // --- no fields → report current settings ---
412
+ if (Object.keys(patch).length === 0) {
413
+ const prefs = getBatchPrefs();
414
+ return renderBatchConfig('Current batch settings (no changes requested).', prefs, hasPersistedConfig(), undefined, x402Active, info.enabled);
415
+ }
416
+ // --- apply ---
417
+ const { prefs, persisted, persistError } = setBatchPrefs(patch);
418
+ // Apply a live mode switch only when x402 is genuinely active in this session.
419
+ let modeNote;
420
+ if (patch.mode !== undefined) {
421
+ if (info.enabled) {
422
+ const applied = setPaymentMode(patch.mode);
423
+ if (patch.mode === 'batch' && !info.batchAvailable) {
424
+ modeNote = 'Saved as the default, but batch could not be activated this session — the channel scheme is unavailable (check `X402_RPC_URL` and restart). Mode stays `exact` for now.';
425
+ }
426
+ else if (applied === patch.mode) {
427
+ modeNote = `Switched the live payment scheme to \`${applied}\` for this session.`;
428
+ }
429
+ }
430
+ else {
431
+ modeNote = 'Saved as the default mode; it will take effect once x402 is active (set `X402_PRIVATE_KEY`).';
432
+ }
433
+ }
434
+ return renderBatchConfig('Batch settings updated.', prefs, persisted, persistError, x402Active, info.enabled, modeNote);
435
+ }
436
+ /** Format batch settings + status notes into the tool's text response. */
437
+ function renderBatchConfig(headline, prefs, persisted, persistError, x402Active, x402Enabled, modeNote) {
438
+ const lines = [headline, ''];
439
+ lines.push('**Batch settings**');
440
+ lines.push(`- Autonomy (prompt): \`${prefs.prompt}\``);
441
+ lines.push(`- "Many" threshold: \`${prefs.threshold}\``);
442
+ lines.push(`- Deposit multiplier: \`${prefs.depositMultiplier}\``);
443
+ lines.push(`- Default mode: \`${prefs.mode}\``);
444
+ if (modeNote)
445
+ lines.push('', modeNote);
446
+ lines.push('');
447
+ if (persisted) {
448
+ lines.push(`Saved to \`${batchConfigPath()}\` — these settings persist across restarts.`);
449
+ }
450
+ else {
451
+ lines.push(`⚠️ Could not write the config file (${persistError ?? 'unknown error'}). The settings are active for this session but will not survive a restart.`);
452
+ }
453
+ if (!x402Active) {
454
+ lines.push('');
455
+ lines.push('Note: batch settlement only applies to x402 payments. These preferences are saved and will take effect once x402 is active (set `X402_PRIVATE_KEY`).');
456
+ }
457
+ else if (!x402Enabled) {
458
+ lines.push('');
459
+ lines.push('Note: x402 is not active in this process yet, so the live payment scheme was not changed — the saved defaults apply on the next x402 session.');
460
+ }
461
+ return lines.join('\n');
352
462
  }
353
463
  // export { loadData, type LoadedData };
354
464
  //# sourceMappingURL=register-docs-tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register-docs-tools.js","sourceRoot":"","sources":["../src/register-docs-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"register-docs-tools.js","sourceRoot":"","sources":["../src/register-docs-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@one-source/mcp",
3
3
  "mcpName": "io.onesource/mcp",
4
- "version": "5.3.4",
4
+ "version": "5.4.1",
5
5
  "type": "module",
6
- "description": "Unified MCP server for OneSource — 29 tools for blockchain data",
6
+ "description": "Unified MCP server for OneSource — 30 tools for blockchain data",
7
7
  "bin": {
8
8
  "onesource-mcp": "./dist/cli.js"
9
9
  },
@@ -29,7 +29,7 @@
29
29
  },
30
30
  "dependencies": {
31
31
  "@modelcontextprotocol/sdk": "^1.27.1",
32
- "@one-source/api-mcp": "^5.3.4",
32
+ "@one-source/api-mcp": "^5.4.1",
33
33
  "@one-source/docs-mcp": "^4.0.3",
34
34
  "zod": "^3.24.0"
35
35
  },
@@ -0,0 +1,76 @@
1
+ ---
2
+ name: onesource-batch-config
3
+ description: >-
4
+ Configure OneSource MCP x402 batch-settlement preferences from the session
5
+ using the 1s_batch_config tool — autonomy (ask/auto/off), the "many calls"
6
+ threshold, the channel deposit multiplier, and the default payment mode.
7
+ Settings persist across restarts with no config-file editing. Use when the
8
+ user wants to change how/when batch mode kicks in, set a default payment mode,
9
+ or review current batch settings.
10
+ ---
11
+
12
+ # OneSource Batch Config (`1s_batch_config`)
13
+
14
+ `1s_batch_config` lets you view and change the x402 batch-settlement preferences for OneSource MCP **from within the session**. Changes are saved to a server-managed file (`~/.onesource/batch-config.json`, override with `ONESOURCE_CONFIG_DIR`) and persist across restarts — the user never has to edit the MCP client config or set environment variables by hand.
15
+
16
+ This only matters when paying via **x402** (`X402_PRIVATE_KEY` set). With an API key, blockchain calls are covered by the plan and there is nothing to batch.
17
+
18
+ ## When to Use
19
+
20
+ - The user asks how/when the agent should switch to batch mode, or wants to change that behavior.
21
+ - The user wants a default payment mode (`exact` or `batch`) that sticks across restarts.
22
+ - The user wants to tune the channel deposit size (deposit multiplier).
23
+ - You want to show the current batch settings.
24
+ - `1s_setup_check` prompts you to confirm the user's batch preference — apply the answer here.
25
+
26
+ ## Parameters
27
+
28
+ All are optional. Call with **no arguments** to view current settings.
29
+
30
+ | Param | Type | Description |
31
+ |-------|------|-------------|
32
+ | `prompt` | `ask` \| `auto` \| `off` | Agent autonomy when deciding to switch to batch: `ask` (confirm first — default), `auto` (switch on its own), `off` (only on explicit request). |
33
+ | `threshold` | integer > 0 | Anticipated call count at/above which batch mode is worth considering. Default `5`. |
34
+ | `deposit_multiplier` | number ≥ 3 | Channel deposit = call price × this multiplier. Default `10`. Applies to the **next** channel opened. |
35
+ | `mode` | `exact` \| `batch` | Default payment scheme the session starts in. Also switches the live scheme immediately when x402 is active. |
36
+ | `reset` | boolean | Restore all settings to defaults (deletes the saved config file). |
37
+
38
+ ## Examples
39
+
40
+ View current settings:
41
+ ```
42
+ 1s_batch_config
43
+ ```
44
+
45
+ Make the agent switch automatically once it expects 8+ calls:
46
+ ```
47
+ 1s_batch_config { "prompt": "auto", "threshold": 8 }
48
+ ```
49
+
50
+ Default to batch mode and switch now:
51
+ ```
52
+ 1s_batch_config { "mode": "batch" }
53
+ ```
54
+
55
+ Larger deposits (fund more calls per channel):
56
+ ```
57
+ 1s_batch_config { "deposit_multiplier": 20 }
58
+ ```
59
+
60
+ Reset to defaults:
61
+ ```
62
+ 1s_batch_config { "reset": true }
63
+ ```
64
+
65
+ ## Notes
66
+
67
+ - `prompt`, `threshold`, and `mode` take effect **immediately** for the rest of the session; `deposit_multiplier` applies to the next payment channel that opens.
68
+ - A saved config takes priority over the matching install-time env vars (`X402_BATCH_PROMPT`, `X402_BATCH_THRESHOLD`, `X402_PAYMENT_MODE`, `X402_DEPOSIT_MULTIPLIER`).
69
+ - To switch the scheme for the current session only (without changing the saved default), use `1s_payment_mode` instead.
70
+ - After a batch burst, reclaim any unspent channel deposit with `1s_refund`.
71
+
72
+ ## Related Tools
73
+
74
+ - `1s_payment_mode` — switch the live payment scheme (`exact`/`batch`) for this session only.
75
+ - `1s_refund` — reclaim unused batch-channel deposit back to your wallet.
76
+ - `1s_setup_check` — shows current batch settings and prompts for the user's preference.
@@ -9,7 +9,7 @@ description: >-
9
9
 
10
10
  # OneSource MCP Setup Guide
11
11
 
12
- OneSource MCP provides 29 tools for blockchain data and live chain queries. Blockchain API tools require authentication — either an API key (`ONESOURCE_API_KEY`) or x402 micropayments in USDC on the Base network (`X402_PRIVATE_KEY`). If both are set, API key takes priority.
12
+ OneSource MCP provides 30 tools for blockchain data and live chain queries. Blockchain API tools require authentication — either an API key (`ONESOURCE_API_KEY`) or x402 micropayments in USDC on the Base network (`X402_PRIVATE_KEY`). If both are set, API key takes priority.
13
13
 
14
14
  ## Before You Start
15
15
 
@@ -294,6 +294,16 @@ After setting your auth (either option) and reloading:
294
294
 
295
295
  > **Tip:** If you edited the config file manually (instead of using `claude mcp add`), you must run `/reload-plugins` for changes to take effect. Restarting Claude Code also works.
296
296
 
297
+ ## Step 8: Configure Batch Payments (x402, optional)
298
+
299
+ If you authenticate with x402, you can pay per call (`exact`, default) or open a USDC payment channel (`batch`) that funds many calls from one deposit — cheaper for a burst of calls. You don't need to edit any config for this:
300
+
301
+ - **`1s_batch_config`** — view or change batch preferences (autonomy, "many calls" threshold, deposit multiplier, default mode) from the session. Changes persist across restarts. See the `onesource-batch-config` skill.
302
+ - **`1s_payment_mode`** — switch the live scheme (`exact`/`batch`) for the current session only.
303
+ - **`1s_refund`** — reclaim any unspent channel deposit when you're done.
304
+
305
+ `1s_setup_check` shows your current mode and batch settings, and will prompt you for your preferred batch behavior.
306
+
297
307
  ## Troubleshooting
298
308
 
299
309
  | Problem | Solution |
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: onesource-report-bug
3
+ description: >-
4
+ Report a bug or unexpected error in OneSource MCP to the OneSource team using
5
+ the 1s_report_bug tool. Use when a 1s_* blockchain tool returns an unexpected
6
+ error, or when the user explicitly asks to report a problem. Free, no payment
7
+ required. Do NOT report 402 (payment/auth) or 403 (plan) responses — those are
8
+ billing/auth issues, not bugs.
9
+ ---
10
+
11
+ # OneSource Report Bug (`1s_report_bug`)
12
+
13
+ `1s_report_bug` sends a structured bug report to the OneSource team (forwarded to Slack). It works out of the box — free, no authentication or payment required.
14
+
15
+ ## When to Use
16
+
17
+ - A blockchain API tool (`1s_*` prefix) returns an **unexpected error** (server crash, malformed response, broken feature). Report it automatically, once per conversation per distinct error.
18
+ - The user explicitly asks to report a bug or issue.
19
+
20
+ **Do NOT report:**
21
+ - **402** responses — payment required or API key rejected (an auth/billing issue, not a bug).
22
+ - **403** responses — the account needs a developer plan (a billing issue, not a bug).
23
+ - The same error more than once per conversation.
24
+
25
+ ## Parameters
26
+
27
+ | Param | Type | Required | Description |
28
+ |-------|------|----------|-------------|
29
+ | `description` | string | yes | What went wrong — describe the bug, what you expected, and what actually happened. |
30
+ | `tool_name` | string | no | The MCP tool that produced the error (e.g. `1s_network_info`, `1s_erc20_balance_live`). |
31
+ | `error_message` | string | no | The error message or relevant output from the failed call. |
32
+ | `severity` | `low` \| `medium` \| `high` \| `critical` | no | `low` (cosmetic), `medium` (degraded function), `high` (feature broken), `critical` (server crash or data loss). |
33
+ | `network` | string | no | The blockchain network involved, if applicable (e.g. `ethereum`, `sepolia`). |
34
+ | `steps_to_reproduce` | string | no | Steps to reproduce the issue, if known. |
35
+
36
+ ## Example
37
+
38
+ ```
39
+ 1s_report_bug {
40
+ "tool_name": "1s_events_live",
41
+ "description": "Requested last 5 Transfer events for USDC but the tool returned a 500 with an empty body.",
42
+ "error_message": "Tool error: HTTP 500",
43
+ "severity": "high",
44
+ "network": "ethereum"
45
+ }
46
+ ```
47
+
48
+ ## Choosing Severity
49
+
50
+ - **critical** — server crash or data loss.
51
+ - **high** — a feature is broken / consistently errors.
52
+ - **medium** — degraded functionality, partial results.
53
+ - **low** — cosmetic or minor wording issues.
54
+
55
+ ## Related Tools
56
+
57
+ - `1s_setup_check` — diagnose version, auth, and connectivity before reporting (rules out config issues).