@one-source/mcp 5.3.4 → 5.4.0
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 +5 -4
- package/README.npm.md +5 -4
- package/README.repo.md +18 -8
- package/dist/batch-prefs.d.ts +67 -0
- package/dist/batch-prefs.d.ts.map +1 -0
- package/dist/batch-prefs.js +181 -0
- package/dist/batch-prefs.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +29 -17
- package/dist/cli.js.map +1 -1
- package/dist/create-server.d.ts +3 -2
- package/dist/create-server.d.ts.map +1 -1
- package/dist/create-server.js +3 -2
- package/dist/create-server.js.map +1 -1
- package/dist/register-docs-tools.d.ts.map +1 -1
- package/dist/register-docs-tools.js +162 -52
- package/dist/register-docs-tools.js.map +1 -1
- package/package.json +3 -3
- package/skills/onesource-batch-config/SKILL.md +76 -0
- package/skills/onesource-mcp-setup/SKILL.md +11 -1
- package/skills/onesource-report-bug/SKILL.md +57 -0
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) —
|
|
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 (
|
|
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 (
|
|
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 `
|
|
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) —
|
|
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 (
|
|
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 (
|
|
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 `
|
|
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) —
|
|
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 (
|
|
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 (
|
|
99
|
+
### Setup & Ops (3 tools)
|
|
100
100
|
|
|
101
101
|
No authentication required.
|
|
102
102
|
|
|
103
103
|
|
|
104
|
-
| Tool
|
|
105
|
-
|
|
|
106
|
-
| `1s_setup_check`
|
|
107
|
-
| `
|
|
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,7 +254,7 @@ 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
|
| --- | --- | --- |
|
|
@@ -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;
|
|
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
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
*
|
|
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 —
|
|
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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"}
|
package/dist/create-server.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unified MCP Server Factory
|
|
3
3
|
*
|
|
4
|
-
* Creates a single McpServer named 'onesource' with all
|
|
5
|
-
* (27 API incl. payment-mode + 1 setup check + 1
|
|
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
|
|
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"}
|
package/dist/create-server.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Unified MCP Server Factory
|
|
3
3
|
*
|
|
4
|
-
* Creates a single McpServer named 'onesource' with all
|
|
5
|
-
* (27 API incl. payment-mode + 1 setup check + 1
|
|
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
|
|
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;
|
|
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 {
|
|
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
|
|
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
|
-
|
|
257
|
-
const
|
|
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(
|
|
269
|
-
parts.push(
|
|
270
|
-
parts.push(
|
|
271
|
-
parts.push(
|
|
272
|
-
parts.push(
|
|
273
|
-
parts.push(
|
|
274
|
-
parts.push('
|
|
275
|
-
parts.push('\n### Configure
|
|
276
|
-
parts.push('
|
|
277
|
-
parts.push('-
|
|
278
|
-
parts.push('-
|
|
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('- `
|
|
282
|
-
parts.push('
|
|
283
|
-
parts.push(
|
|
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'
|
|
@@ -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'
|
|
347
|
-
parts.push('-
|
|
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
|
-
|
|
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.
|
|
4
|
+
"version": "5.4.0",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"description": "Unified MCP server for OneSource —
|
|
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.
|
|
32
|
+
"@one-source/api-mcp": "^5.4.0",
|
|
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
|
|
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).
|