@ironwallet/mcp-server 1.0.1 → 1.0.3
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 +17 -11
- package/dist/api/rates.d.ts +62 -0
- package/dist/api/rates.js +198 -0
- package/dist/api/rates.js.map +1 -0
- package/dist/api/swap.d.ts +1 -1
- package/dist/api/swap.js +1 -1
- package/dist/config.d.ts +16 -12
- package/dist/config.js +48 -31
- package/dist/config.js.map +1 -1
- package/dist/consent/copy.d.ts +18 -0
- package/dist/consent/copy.js +27 -0
- package/dist/consent/copy.js.map +1 -0
- package/dist/consent/store.d.ts +23 -0
- package/dist/consent/store.js +63 -0
- package/dist/consent/store.js.map +1 -0
- package/dist/device-fingerprint.d.ts +18 -0
- package/dist/device-fingerprint.js +81 -0
- package/dist/device-fingerprint.js.map +1 -0
- package/dist/generated/env-config.js +3 -1
- package/dist/generated/env-config.js.map +1 -1
- package/dist/generated/env-profile.d.ts +4 -0
- package/dist/keystore/store.js +3 -7
- package/dist/keystore/store.js.map +1 -1
- package/dist/keystore/types.d.ts +8 -3
- package/dist/local-secrets.d.ts +2 -2
- package/dist/local-secrets.js +5 -9
- package/dist/local-secrets.js.map +1 -1
- package/dist/networks.d.ts +5 -0
- package/dist/networks.js +21 -0
- package/dist/networks.js.map +1 -0
- package/dist/policy.d.ts +33 -3
- package/dist/policy.js +121 -32
- package/dist/policy.js.map +1 -1
- package/dist/restrict-private-file.d.ts +9 -0
- package/dist/restrict-private-file.js +53 -0
- package/dist/restrict-private-file.js.map +1 -0
- package/dist/server.js +3 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/definitions.d.ts +40 -0
- package/dist/tools/definitions.js +256 -0
- package/dist/tools/definitions.js.map +1 -0
- package/dist/tools/helpers.d.ts +0 -3
- package/dist/tools/helpers.js +0 -3
- package/dist/tools/helpers.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/swap.d.ts +1 -1
- package/dist/tools/swap.js +12 -76
- package/dist/tools/swap.js.map +1 -1
- package/dist/tools/transfer.d.ts +1 -1
- package/dist/tools/transfer.js +13 -54
- package/dist/tools/transfer.js.map +1 -1
- package/dist/tools/wallets.d.ts +1 -1
- package/dist/tools/wallets.js +110 -47
- package/dist/tools/wallets.js.map +1 -1
- package/dist/wallet/derive.d.ts +1 -1
- package/dist/wallet/derive.js +1 -1
- package/dist/web/manager.js +64 -3
- package/dist/web/manager.js.map +1 -1
- package/package.json +30 -5
- package/server.json +23 -0
- package/tools.json +632 -0
package/dist/tools/helpers.js
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared MCP tool helpers: response shaping, logging wrapper, wallet session.
|
|
3
3
|
*/
|
|
4
|
-
import { z } from "zod";
|
|
5
|
-
import { ALL_NETWORKS } from "../config.js";
|
|
6
4
|
import { resolveEntry, syncAddresses, unlockMnemonic, } from "../keystore/store.js";
|
|
7
5
|
import { requirePassphrase } from "../passphrase.js";
|
|
8
6
|
import { getAccessToken } from "../api/auth.js";
|
|
9
7
|
import { logError, logInfo, newCorrelationId, } from "../log.js";
|
|
10
|
-
export const networkEnum = z.enum(ALL_NETWORKS);
|
|
11
8
|
/** MCP 2025-06-18: audience=user asks the host to show the image in the UI. */
|
|
12
9
|
const USER_VISIBLE_IMAGE = {
|
|
13
10
|
audience: ["user", "assistant"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/tools/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* MCP tool registrations. Design rule: the mnemonic never crosses the agent
|
|
3
3
|
* boundary. Tools return addresses, balances, estimates, and tx hashes — never
|
|
4
4
|
* seed words. There is intentionally no export_seed / import_wallet tool.
|
|
5
|
+
* create_wallets is blocked until MCP consent is on file.
|
|
5
6
|
*/
|
|
6
7
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
7
8
|
export declare function registerTools(server: McpServer): void;
|
package/dist/tools/index.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* MCP tool registrations. Design rule: the mnemonic never crosses the agent
|
|
3
3
|
* boundary. Tools return addresses, balances, estimates, and tx hashes — never
|
|
4
4
|
* seed words. There is intentionally no export_seed / import_wallet tool.
|
|
5
|
+
* create_wallets is blocked until MCP consent is on file.
|
|
5
6
|
*/
|
|
6
7
|
import { ok, session, withToolLog } from "./helpers.js";
|
|
7
8
|
import { registerWalletTools } from "./wallets.js";
|
package/dist/tools/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAE9C,MAAM,UAAU,aAAa,CAAC,MAAiB;IAC7C,MAAM,OAAO,GAAG,EAAE,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,CAAC;IAC7C,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,qBAAqB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,iBAAiB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACrC,CAAC"}
|
package/dist/tools/swap.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tools for
|
|
2
|
+
* MCP tools for swaps: discovery, estimate, execute, status.
|
|
3
3
|
*/
|
|
4
4
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
5
|
import type { ToolHelpers } from "./helpers.js";
|
package/dist/tools/swap.js
CHANGED
|
@@ -1,27 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* MCP tools for
|
|
2
|
+
* MCP tools for swaps: discovery, estimate, execute, status.
|
|
3
3
|
*/
|
|
4
|
-
import { z } from "zod";
|
|
5
4
|
import { assertServerWritable, canSwap, parseNetworkId } from "../config.js";
|
|
6
5
|
import { getBalance } from "../api/balances.js";
|
|
7
6
|
import { assetKey, createSwap, estimateSwap, executeSwap, getSwapStatus, listSwapAssetsFrom, listSwapAssetsTo, listSwapNetworks, resolveSwapAsset, } from "../api/swap.js";
|
|
8
7
|
import { signSwapTransactions } from "../signing/swap.js";
|
|
9
|
-
import { enforcePolicy } from "../policy.js";
|
|
8
|
+
import { enforcePolicy, enforceUsdLimit } from "../policy.js";
|
|
10
9
|
import { logInfo } from "../log.js";
|
|
11
|
-
|
|
12
|
-
network: z.string().describe("Network id, e.g. ethereum, bsc, bitcoin."),
|
|
13
|
-
symbol: z.string().describe("Asset symbol, e.g. ETH, USDT."),
|
|
14
|
-
address: z
|
|
15
|
-
.string()
|
|
16
|
-
.optional()
|
|
17
|
-
.nullable()
|
|
18
|
-
.describe("Token contract address. Omit/null for the native coin."),
|
|
19
|
-
decimals: z
|
|
20
|
-
.number()
|
|
21
|
-
.int()
|
|
22
|
-
.optional()
|
|
23
|
-
.describe("Token decimals. If omitted, resolved via SWP catalog (paged). Prefer passing decimals (+ address for tokens) from list_swap_assets."),
|
|
24
|
-
});
|
|
10
|
+
import { mcpToolConfig, toolDefinition, } from "./definitions.js";
|
|
25
11
|
async function enrichAssets(items, addresses) {
|
|
26
12
|
return Promise.all(items.map(async (asset) => {
|
|
27
13
|
const net = parseNetworkId(asset.network);
|
|
@@ -120,13 +106,7 @@ async function prepareSwapSides(helpers, opts) {
|
|
|
120
106
|
}
|
|
121
107
|
export function registerSwapTools(server, helpers) {
|
|
122
108
|
const { ok, withToolLog, session } = helpers;
|
|
123
|
-
server.registerTool("list_swap_networks", {
|
|
124
|
-
title: "List swap networks",
|
|
125
|
-
description: "List networks available for Swap Proxy (SWP). Use before listing swap assets.",
|
|
126
|
-
inputSchema: {
|
|
127
|
-
wallet: z.string().optional(),
|
|
128
|
-
},
|
|
129
|
-
}, async ({ wallet }) => withToolLog("list_swap_networks", { wallet }, async ({ correlationId }) => {
|
|
109
|
+
server.registerTool("list_swap_networks", mcpToolConfig(toolDefinition("list_swap_networks")), async ({ wallet }) => withToolLog("list_swap_networks", { wallet }, async ({ correlationId }) => {
|
|
130
110
|
const { token } = await session(wallet, correlationId);
|
|
131
111
|
const networks = await listSwapNetworks(token, { correlationId });
|
|
132
112
|
return ok({
|
|
@@ -141,21 +121,7 @@ export function registerSwapTools(server, helpers) {
|
|
|
141
121
|
}),
|
|
142
122
|
});
|
|
143
123
|
}));
|
|
144
|
-
server.registerTool("list_swap_assets", {
|
|
145
|
-
title: "List swap assets",
|
|
146
|
-
description: "List tradable assets from Swap Proxy. direction=from lists sell assets; direction=to requires fromNetwork/fromSymbol (and fromAddress for tokens) and lists buy assets. Enriches with wallet address and balance when possible.",
|
|
147
|
-
inputSchema: {
|
|
148
|
-
wallet: z.string().optional(),
|
|
149
|
-
direction: z.enum(["from", "to"]),
|
|
150
|
-
fromNetwork: z.string().optional(),
|
|
151
|
-
fromSymbol: z.string().optional(),
|
|
152
|
-
fromAddress: z.string().optional().nullable(),
|
|
153
|
-
search: z.string().optional(),
|
|
154
|
-
networks: z.array(z.string()).optional(),
|
|
155
|
-
page: z.number().int().positive().optional(),
|
|
156
|
-
pageSize: z.number().int().positive().max(100).optional(),
|
|
157
|
-
},
|
|
158
|
-
}, async (args) => withToolLog("list_swap_assets", args, async ({ correlationId }) => {
|
|
124
|
+
server.registerTool("list_swap_assets", mcpToolConfig(toolDefinition("list_swap_assets")), async (args) => withToolLog("list_swap_assets", args, async ({ correlationId }) => {
|
|
159
125
|
const { entry, token } = await session(args.wallet, correlationId);
|
|
160
126
|
let page;
|
|
161
127
|
if (args.direction === "from") {
|
|
@@ -192,20 +158,7 @@ export function registerSwapTools(server, helpers) {
|
|
|
192
158
|
items,
|
|
193
159
|
});
|
|
194
160
|
}));
|
|
195
|
-
server.registerTool("estimate_swap", {
|
|
196
|
-
title: "Estimate swap",
|
|
197
|
-
description: "Get a Swap Proxy quote (amounts, fees, operationId). Quote can expire — prefer execute_swap for sending (it re-estimates). Amount is a decimal string; set maxMode=true to sell the full balance (backend corrects amount).",
|
|
198
|
-
inputSchema: {
|
|
199
|
-
wallet: z.string().optional(),
|
|
200
|
-
from: assetInputSchema,
|
|
201
|
-
to: assetInputSchema,
|
|
202
|
-
amount: z
|
|
203
|
-
.string()
|
|
204
|
-
.optional()
|
|
205
|
-
.describe("Sell amount as decimal string. Required unless maxMode."),
|
|
206
|
-
maxMode: z.boolean().optional(),
|
|
207
|
-
},
|
|
208
|
-
}, async ({ wallet, from, to, amount, maxMode }) => withToolLog("estimate_swap", { wallet, from, to, amount, maxMode }, async ({ correlationId }) => {
|
|
161
|
+
server.registerTool("estimate_swap", mcpToolConfig(toolDefinition("estimate_swap")), async ({ wallet, from, to, amount, maxMode }) => withToolLog("estimate_swap", { wallet, from, to, amount, maxMode }, async ({ correlationId }) => {
|
|
209
162
|
const prep = await prepareSwapSides(helpers, {
|
|
210
163
|
wallet,
|
|
211
164
|
from,
|
|
@@ -234,20 +187,7 @@ export function registerSwapTools(server, helpers) {
|
|
|
234
187
|
note: "Quote may expire. Call execute_swap to create+sign+broadcast (it performs a fresh estimate).",
|
|
235
188
|
});
|
|
236
189
|
}));
|
|
237
|
-
server.registerTool("execute_swap", {
|
|
238
|
-
title: "Execute swap",
|
|
239
|
-
description: "Execute a swap via Swap Proxy: fresh estimate → create → local sign → execute. Does NOT use the transfer relay. Irreversible once submitted — no second confirmation. Returns operationId and txHash; poll with get_swap_status.",
|
|
240
|
-
inputSchema: {
|
|
241
|
-
wallet: z.string().optional(),
|
|
242
|
-
from: assetInputSchema,
|
|
243
|
-
to: assetInputSchema,
|
|
244
|
-
amount: z
|
|
245
|
-
.string()
|
|
246
|
-
.optional()
|
|
247
|
-
.describe("Sell amount as decimal string. Required unless maxMode."),
|
|
248
|
-
maxMode: z.boolean().optional(),
|
|
249
|
-
},
|
|
250
|
-
}, async ({ wallet, from, to, amount, maxMode }) => withToolLog("execute_swap", { wallet, from, to, amount, maxMode }, async ({ correlationId, started }) => {
|
|
190
|
+
server.registerTool("execute_swap", mcpToolConfig(toolDefinition("execute_swap")), async ({ wallet, from, to, amount, maxMode }) => withToolLog("execute_swap", { wallet, from, to, amount, maxMode }, async ({ correlationId, started }) => {
|
|
251
191
|
assertServerWritable("swap");
|
|
252
192
|
const prep = await prepareSwapSides(helpers, {
|
|
253
193
|
wallet,
|
|
@@ -278,10 +218,13 @@ export function registerSwapTools(server, helpers) {
|
|
|
278
218
|
}
|
|
279
219
|
// Mobile: from.amount = requested sellAmount; correctedAmountFrom separate.
|
|
280
220
|
const corrected = est.correctedAmountFrom ?? est.from.amount ?? prep.sellAmount;
|
|
281
|
-
|
|
221
|
+
await enforceUsdLimit(prep.entry, {
|
|
282
222
|
kind: "swap",
|
|
283
223
|
network: prep.sell.networkId,
|
|
284
224
|
amount: corrected,
|
|
225
|
+
symbol: prep.fromSide.asset.symbol,
|
|
226
|
+
tokenAddress: prep.fromSide.asset.address ?? undefined,
|
|
227
|
+
correlationId,
|
|
285
228
|
});
|
|
286
229
|
const createFrom = {
|
|
287
230
|
...prep.fromSide,
|
|
@@ -326,14 +269,7 @@ export function registerSwapTools(server, helpers) {
|
|
|
326
269
|
note: "Poll get_swap_status with operationId until complete. Do not re-execute blindly after a timeout.",
|
|
327
270
|
});
|
|
328
271
|
}));
|
|
329
|
-
server.registerTool("get_swap_status", {
|
|
330
|
-
title: "Get swap status",
|
|
331
|
-
description: "Poll Swap Proxy order/operation status by operationId.",
|
|
332
|
-
inputSchema: {
|
|
333
|
-
wallet: z.string().optional(),
|
|
334
|
-
operationId: z.string(),
|
|
335
|
-
},
|
|
336
|
-
}, async ({ wallet, operationId }) => withToolLog("get_swap_status", { wallet, operationId }, async ({ correlationId }) => {
|
|
272
|
+
server.registerTool("get_swap_status", mcpToolConfig(toolDefinition("get_swap_status")), async ({ wallet, operationId }) => withToolLog("get_swap_status", { wallet, operationId }, async ({ correlationId }) => {
|
|
337
273
|
const { token } = await session(wallet, correlationId);
|
|
338
274
|
const status = await getSwapStatus(token, operationId, {
|
|
339
275
|
correlationId,
|
package/dist/tools/swap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/tools/swap.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/tools/swap.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/transfer.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* MCP tools for balance reads and transfer relay (estimate → sign → forward).
|
|
3
3
|
*/
|
|
4
4
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
|
-
import {
|
|
5
|
+
import type { ToolHelpers } from "./helpers.js";
|
|
6
6
|
export declare function registerTransferTools(server: McpServer, helpers: ToolHelpers): void;
|
package/dist/tools/transfer.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* MCP tools for balance reads and transfer relay (estimate → sign → forward).
|
|
3
3
|
*/
|
|
4
|
-
import { z } from "zod";
|
|
5
4
|
import { assertServerWritable, canSend } from "../config.js";
|
|
6
5
|
import { resolveEntry } from "../keystore/store.js";
|
|
7
6
|
import { estimate, forward, operationState } from "../api/relay.js";
|
|
@@ -9,9 +8,9 @@ import { getBalance } from "../api/balances.js";
|
|
|
9
8
|
import { parseUnits, formatUnits } from "ethers";
|
|
10
9
|
import { signForward } from "../signing/index.js";
|
|
11
10
|
import { tonPublicKeyHex } from "../signing/ton.js";
|
|
12
|
-
import { enforcePolicy } from "../policy.js";
|
|
11
|
+
import { enforcePolicy, enforceUsdLimit } from "../policy.js";
|
|
13
12
|
import { logInfo, logWarn } from "../log.js";
|
|
14
|
-
import {
|
|
13
|
+
import { mcpToolConfig, toolDefinition } from "./definitions.js";
|
|
15
14
|
/**
|
|
16
15
|
* Estimate a transfer and, if the amount + fee would exceed the balance, reduce
|
|
17
16
|
* the amount to `balance - fee` and re-estimate. Fees for native coins are paid
|
|
@@ -119,18 +118,7 @@ async function resolveAmountForFee(opts) {
|
|
|
119
118
|
}
|
|
120
119
|
export function registerTransferTools(server, helpers) {
|
|
121
120
|
const { ok, withToolLog, session } = helpers;
|
|
122
|
-
server.registerTool("get_balance", {
|
|
123
|
-
title: "Get balance",
|
|
124
|
-
description: "Get the balance for a wallet on a network. Optionally pass a token contract address; omit for the native coin.",
|
|
125
|
-
inputSchema: {
|
|
126
|
-
wallet: z.string().optional().describe("Wallet name. Optional if only one exists."),
|
|
127
|
-
network: networkEnum,
|
|
128
|
-
tokenAddress: z
|
|
129
|
-
.string()
|
|
130
|
-
.optional()
|
|
131
|
-
.describe("Token contract address. Omit for the native coin."),
|
|
132
|
-
},
|
|
133
|
-
}, async ({ wallet, network, tokenAddress }) => withToolLog("get_balance", { wallet, network, tokenAddress }, async ({ correlationId }) => {
|
|
121
|
+
server.registerTool("get_balance", mcpToolConfig(toolDefinition("get_balance")), async ({ wallet, network, tokenAddress }) => withToolLog("get_balance", { wallet, network, tokenAddress }, async ({ correlationId }) => {
|
|
134
122
|
const entry = resolveEntry(wallet);
|
|
135
123
|
const address = entry.addresses[network];
|
|
136
124
|
if (!address) {
|
|
@@ -139,21 +127,7 @@ export function registerTransferTools(server, helpers) {
|
|
|
139
127
|
const result = await getBalance(network, address, tokenAddress);
|
|
140
128
|
return ok({ ...result, correlationId });
|
|
141
129
|
}));
|
|
142
|
-
server.registerTool("estimate_transfer", {
|
|
143
|
-
title: "Estimate transfer",
|
|
144
|
-
description: "Estimate fees for a transfer without sending. Returns fees and the number of transactions that would be signed.",
|
|
145
|
-
inputSchema: {
|
|
146
|
-
wallet: z.string().optional(),
|
|
147
|
-
network: networkEnum,
|
|
148
|
-
to: z.string().describe("Recipient address."),
|
|
149
|
-
amount: z.string().describe("Amount in asset units (decimal string)."),
|
|
150
|
-
tokenAddress: z
|
|
151
|
-
.string()
|
|
152
|
-
.optional()
|
|
153
|
-
.describe("Token contract address. Omit for the native coin."),
|
|
154
|
-
memo: z.string().optional(),
|
|
155
|
-
},
|
|
156
|
-
}, async ({ wallet, network, to, amount, tokenAddress, memo }) => withToolLog("estimate_transfer", { wallet, network, to, amount, tokenAddress, hasMemo: Boolean(memo) }, async ({ correlationId }) => {
|
|
130
|
+
server.registerTool("estimate_transfer", mcpToolConfig(toolDefinition("estimate_transfer")), async ({ wallet, network, to, amount, tokenAddress, memo }) => withToolLog("estimate_transfer", { wallet, network, to, amount, tokenAddress, hasMemo: Boolean(memo) }, async ({ correlationId }) => {
|
|
157
131
|
if (!canSend(network)) {
|
|
158
132
|
throw new Error(`Sending on "${network}" is not supported.`);
|
|
159
133
|
}
|
|
@@ -177,21 +151,7 @@ export function registerTransferTools(server, helpers) {
|
|
|
177
151
|
correlationId,
|
|
178
152
|
});
|
|
179
153
|
}));
|
|
180
|
-
server.registerTool("send_transfer", {
|
|
181
|
-
title: "Send transfer",
|
|
182
|
-
description: "Send a transfer: sign locally with the wallet's key and broadcast via the Ironwallet forward relay (estimate -> sign -> forward) for EVM, Tron, Bitcoin, Litecoin, Doge, Solana, XRP and TON. Irreversible once broadcast — no second confirmation. Returns the transaction hash (and operation id where applicable).",
|
|
183
|
-
inputSchema: {
|
|
184
|
-
wallet: z.string().optional(),
|
|
185
|
-
network: networkEnum,
|
|
186
|
-
to: z.string().describe("Recipient address."),
|
|
187
|
-
amount: z.string().describe("Amount in asset units (decimal string)."),
|
|
188
|
-
tokenAddress: z
|
|
189
|
-
.string()
|
|
190
|
-
.optional()
|
|
191
|
-
.describe("Token contract address. Omit for the native coin."),
|
|
192
|
-
memo: z.string().optional(),
|
|
193
|
-
},
|
|
194
|
-
}, async ({ wallet, network, to, amount, tokenAddress, memo }) => withToolLog("send_transfer", { wallet, network, to, amount, tokenAddress, hasMemo: Boolean(memo) }, async ({ correlationId, started }) => {
|
|
154
|
+
server.registerTool("send_transfer", mcpToolConfig(toolDefinition("send_transfer")), async ({ wallet, network, to, amount, tokenAddress, memo }) => withToolLog("send_transfer", { wallet, network, to, amount, tokenAddress, hasMemo: Boolean(memo) }, async ({ correlationId, started }) => {
|
|
195
155
|
assertServerWritable("send");
|
|
196
156
|
if (!canSend(network)) {
|
|
197
157
|
throw new Error(`Sending on "${network}" is not supported.`);
|
|
@@ -220,7 +180,14 @@ export function registerTransferTools(server, helpers) {
|
|
|
220
180
|
kind: "transfer",
|
|
221
181
|
network,
|
|
222
182
|
toAddress: to,
|
|
183
|
+
});
|
|
184
|
+
await enforceUsdLimit(entry, {
|
|
185
|
+
kind: "transfer",
|
|
186
|
+
network,
|
|
223
187
|
amount: resolved.amount,
|
|
188
|
+
symbol: resolved.symbol,
|
|
189
|
+
tokenAddress,
|
|
190
|
+
correlationId,
|
|
224
191
|
});
|
|
225
192
|
const params = {
|
|
226
193
|
fromAddress: address,
|
|
@@ -266,15 +233,7 @@ export function registerTransferTools(server, helpers) {
|
|
|
266
233
|
: {}),
|
|
267
234
|
});
|
|
268
235
|
}));
|
|
269
|
-
server.registerTool("get_operation_status", {
|
|
270
|
-
title: "Get operation status",
|
|
271
|
-
description: "Poll the state of a forward operation by its operation id.",
|
|
272
|
-
inputSchema: {
|
|
273
|
-
wallet: z.string().optional(),
|
|
274
|
-
network: networkEnum,
|
|
275
|
-
operationId: z.string(),
|
|
276
|
-
},
|
|
277
|
-
}, async ({ wallet, network, operationId }) => withToolLog("get_operation_status", { wallet, network, operationId }, async ({ correlationId }) => {
|
|
236
|
+
server.registerTool("get_operation_status", mcpToolConfig(toolDefinition("get_operation_status")), async ({ wallet, network, operationId }) => withToolLog("get_operation_status", { wallet, network, operationId }, async ({ correlationId }) => {
|
|
278
237
|
const { token } = await session(wallet, correlationId);
|
|
279
238
|
const state = await operationState(network, token, operationId, {
|
|
280
239
|
correlationId,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/tools/transfer.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transfer.js","sourceRoot":"","sources":["../../src/tools/transfer.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/wallets.d.ts
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* MCP tools for local keystore wallet management.
|
|
3
3
|
*/
|
|
4
4
|
import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
5
|
-
import {
|
|
5
|
+
import type { ToolHelpers } from "./helpers.js";
|
|
6
6
|
export declare function registerWalletTools(server: McpServer, helpers: ToolHelpers): void;
|