agentpay-mcp 3.1.0 → 4.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +381 -232
- package/dist/index.js +83 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/bridge.d.ts +52 -0
- package/dist/tools/bridge.d.ts.map +1 -0
- package/dist/tools/bridge.js +97 -0
- package/dist/tools/bridge.js.map +1 -0
- package/dist/tools/budget.d.ts +84 -0
- package/dist/tools/budget.d.ts.map +1 -0
- package/dist/tools/budget.js +163 -0
- package/dist/tools/budget.js.map +1 -0
- package/dist/tools/escrow.d.ts +73 -0
- package/dist/tools/escrow.d.ts.map +1 -0
- package/dist/tools/escrow.js +146 -0
- package/dist/tools/escrow.js.map +1 -0
- package/dist/tools/identity.d.ts +65 -0
- package/dist/tools/identity.d.ts.map +1 -0
- package/dist/tools/identity.js +158 -0
- package/dist/tools/identity.js.map +1 -0
- package/dist/tools/swap.d.ts +65 -0
- package/dist/tools/swap.d.ts.map +1 -0
- package/dist/tools/swap.js +101 -0
- package/dist/tools/swap.js.map +1 -0
- package/dist/tools/tokens.d.ts +129 -0
- package/dist/tools/tokens.d.ts.map +1 -0
- package/dist/tools/tokens.js +138 -0
- package/dist/tools/tokens.js.map +1 -0
- package/dist/tools/transfers.d.ts +86 -0
- package/dist/tools/transfers.d.ts.map +1 -0
- package/dist/tools/transfers.js +136 -0
- package/dist/tools/transfers.js.map +1 -0
- package/package.json +9 -4
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* tokens.ts — lookup_token, add_custom_token, list_chain_tokens tools.
|
|
3
|
+
*
|
|
4
|
+
* Wraps agentwallet-sdk v6 TokenRegistry for MCP access.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export declare const LookupTokenSchema: z.ZodObject<{
|
|
8
|
+
symbol: z.ZodString;
|
|
9
|
+
chainId: z.ZodNumber;
|
|
10
|
+
}, "strip", z.ZodTypeAny, {
|
|
11
|
+
symbol: string;
|
|
12
|
+
chainId: number;
|
|
13
|
+
}, {
|
|
14
|
+
symbol: string;
|
|
15
|
+
chainId: number;
|
|
16
|
+
}>;
|
|
17
|
+
export type LookupTokenInput = z.infer<typeof LookupTokenSchema>;
|
|
18
|
+
export declare const lookupTokenTool: {
|
|
19
|
+
name: string;
|
|
20
|
+
description: string;
|
|
21
|
+
inputSchema: {
|
|
22
|
+
type: "object";
|
|
23
|
+
properties: {
|
|
24
|
+
symbol: {
|
|
25
|
+
type: string;
|
|
26
|
+
description: string;
|
|
27
|
+
};
|
|
28
|
+
chainId: {
|
|
29
|
+
type: string;
|
|
30
|
+
description: string;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
required: string[];
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
export declare function handleLookupToken(input: LookupTokenInput): Promise<{
|
|
37
|
+
content: Array<{
|
|
38
|
+
type: 'text';
|
|
39
|
+
text: string;
|
|
40
|
+
}>;
|
|
41
|
+
isError?: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
export declare const AddCustomTokenSchema: z.ZodObject<{
|
|
44
|
+
symbol: z.ZodString;
|
|
45
|
+
address: z.ZodString;
|
|
46
|
+
decimals: z.ZodNumber;
|
|
47
|
+
chainId: z.ZodNumber;
|
|
48
|
+
name: z.ZodOptional<z.ZodString>;
|
|
49
|
+
}, "strip", z.ZodTypeAny, {
|
|
50
|
+
symbol: string;
|
|
51
|
+
chainId: number;
|
|
52
|
+
address: string;
|
|
53
|
+
decimals: number;
|
|
54
|
+
name?: string | undefined;
|
|
55
|
+
}, {
|
|
56
|
+
symbol: string;
|
|
57
|
+
chainId: number;
|
|
58
|
+
address: string;
|
|
59
|
+
decimals: number;
|
|
60
|
+
name?: string | undefined;
|
|
61
|
+
}>;
|
|
62
|
+
export type AddCustomTokenInput = z.infer<typeof AddCustomTokenSchema>;
|
|
63
|
+
export declare const addCustomTokenTool: {
|
|
64
|
+
name: string;
|
|
65
|
+
description: string;
|
|
66
|
+
inputSchema: {
|
|
67
|
+
type: "object";
|
|
68
|
+
properties: {
|
|
69
|
+
symbol: {
|
|
70
|
+
type: string;
|
|
71
|
+
description: string;
|
|
72
|
+
};
|
|
73
|
+
address: {
|
|
74
|
+
type: string;
|
|
75
|
+
description: string;
|
|
76
|
+
};
|
|
77
|
+
decimals: {
|
|
78
|
+
type: string;
|
|
79
|
+
description: string;
|
|
80
|
+
};
|
|
81
|
+
chainId: {
|
|
82
|
+
type: string;
|
|
83
|
+
description: string;
|
|
84
|
+
};
|
|
85
|
+
name: {
|
|
86
|
+
type: string;
|
|
87
|
+
description: string;
|
|
88
|
+
};
|
|
89
|
+
};
|
|
90
|
+
required: string[];
|
|
91
|
+
};
|
|
92
|
+
};
|
|
93
|
+
export declare function handleAddCustomToken(input: AddCustomTokenInput): Promise<{
|
|
94
|
+
content: Array<{
|
|
95
|
+
type: 'text';
|
|
96
|
+
text: string;
|
|
97
|
+
}>;
|
|
98
|
+
isError?: boolean;
|
|
99
|
+
}>;
|
|
100
|
+
export declare const ListChainTokensSchema: z.ZodObject<{
|
|
101
|
+
chainId: z.ZodNumber;
|
|
102
|
+
}, "strip", z.ZodTypeAny, {
|
|
103
|
+
chainId: number;
|
|
104
|
+
}, {
|
|
105
|
+
chainId: number;
|
|
106
|
+
}>;
|
|
107
|
+
export type ListChainTokensInput = z.infer<typeof ListChainTokensSchema>;
|
|
108
|
+
export declare const listChainTokensTool: {
|
|
109
|
+
name: string;
|
|
110
|
+
description: string;
|
|
111
|
+
inputSchema: {
|
|
112
|
+
type: "object";
|
|
113
|
+
properties: {
|
|
114
|
+
chainId: {
|
|
115
|
+
type: string;
|
|
116
|
+
description: string;
|
|
117
|
+
};
|
|
118
|
+
};
|
|
119
|
+
required: string[];
|
|
120
|
+
};
|
|
121
|
+
};
|
|
122
|
+
export declare function handleListChainTokens(input: ListChainTokensInput): Promise<{
|
|
123
|
+
content: Array<{
|
|
124
|
+
type: 'text';
|
|
125
|
+
text: string;
|
|
126
|
+
}>;
|
|
127
|
+
isError?: boolean;
|
|
128
|
+
}>;
|
|
129
|
+
//# sourceMappingURL=tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/tools/tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAMvB,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAa3B,CAAA;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAsBhF;AAID,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;EAM/B,CAAA;AAEF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEtE,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgB9B,CAAA;AAED,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,mBAAmB,GACzB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA2BhF;AAID,eAAO,MAAM,qBAAqB;;;;;;EAEhC,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAExE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;CAW/B,CAAA;AAED,wBAAsB,qBAAqB,CACzC,KAAK,EAAE,oBAAoB,GAC1B,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAiBhF"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listChainTokensTool = exports.ListChainTokensSchema = exports.addCustomTokenTool = exports.AddCustomTokenSchema = exports.lookupTokenTool = exports.LookupTokenSchema = void 0;
|
|
4
|
+
exports.handleLookupToken = handleLookupToken;
|
|
5
|
+
exports.handleAddCustomToken = handleAddCustomToken;
|
|
6
|
+
exports.handleListChainTokens = handleListChainTokens;
|
|
7
|
+
/**
|
|
8
|
+
* tokens.ts — lookup_token, add_custom_token, list_chain_tokens tools.
|
|
9
|
+
*
|
|
10
|
+
* Wraps agentwallet-sdk v6 TokenRegistry for MCP access.
|
|
11
|
+
*/
|
|
12
|
+
const zod_1 = require("zod");
|
|
13
|
+
const agentwallet_sdk_1 = require("agentwallet-sdk");
|
|
14
|
+
const format_js_1 = require("../utils/format.js");
|
|
15
|
+
// ─── lookup_token ──────────────────────────────────────────────────────────
|
|
16
|
+
exports.LookupTokenSchema = zod_1.z.object({
|
|
17
|
+
symbol: zod_1.z.string().describe('Token symbol, e.g. "USDC"'),
|
|
18
|
+
chainId: zod_1.z.number().int().describe('Chain ID, e.g. 8453 for Base Mainnet'),
|
|
19
|
+
});
|
|
20
|
+
exports.lookupTokenTool = {
|
|
21
|
+
name: 'lookup_token',
|
|
22
|
+
description: 'Look up a token by symbol and chain ID from the global token registry. ' +
|
|
23
|
+
'Returns the token address, decimals, and metadata if found.',
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: 'object',
|
|
26
|
+
properties: {
|
|
27
|
+
symbol: { type: 'string', description: 'Token symbol (e.g. "USDC", "WETH")' },
|
|
28
|
+
chainId: { type: 'number', description: 'Chain ID (e.g. 8453 for Base Mainnet)' },
|
|
29
|
+
},
|
|
30
|
+
required: ['symbol', 'chainId'],
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
async function handleLookupToken(input) {
|
|
34
|
+
try {
|
|
35
|
+
const registry = (0, agentwallet_sdk_1.getGlobalRegistry)();
|
|
36
|
+
const token = registry.getToken(input.symbol.toUpperCase(), input.chainId);
|
|
37
|
+
if (!token) {
|
|
38
|
+
return {
|
|
39
|
+
content: [
|
|
40
|
+
(0, format_js_1.textContent)(JSON.stringify({ found: false, symbol: input.symbol, chainId: input.chainId })),
|
|
41
|
+
],
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
return {
|
|
45
|
+
content: [(0, format_js_1.textContent)(JSON.stringify({ found: true, ...token }))],
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
catch (error) {
|
|
49
|
+
return {
|
|
50
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'lookup_token'))],
|
|
51
|
+
isError: true,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
// ─── add_custom_token ──────────────────────────────────────────────────────
|
|
56
|
+
exports.AddCustomTokenSchema = zod_1.z.object({
|
|
57
|
+
symbol: zod_1.z.string().describe('Token symbol'),
|
|
58
|
+
address: zod_1.z.string().describe('Token contract address (0x-prefixed)'),
|
|
59
|
+
decimals: zod_1.z.number().int().min(0).max(18).describe('Token decimal precision'),
|
|
60
|
+
chainId: zod_1.z.number().int().describe('Chain ID where this token lives'),
|
|
61
|
+
name: zod_1.z.string().optional().describe('Human-readable token name (optional, defaults to symbol)'),
|
|
62
|
+
});
|
|
63
|
+
exports.addCustomTokenTool = {
|
|
64
|
+
name: 'add_custom_token',
|
|
65
|
+
description: 'Register a custom ERC-20 token in the global token registry so it can be used ' +
|
|
66
|
+
'by send_token, get_balances, and swap_tokens.',
|
|
67
|
+
inputSchema: {
|
|
68
|
+
type: 'object',
|
|
69
|
+
properties: {
|
|
70
|
+
symbol: { type: 'string', description: 'Token symbol' },
|
|
71
|
+
address: { type: 'string', description: 'Token contract address (0x-prefixed)' },
|
|
72
|
+
decimals: { type: 'number', description: 'Token decimal precision (0–18)' },
|
|
73
|
+
chainId: { type: 'number', description: 'Chain ID' },
|
|
74
|
+
name: { type: 'string', description: 'Human-readable name (optional)' },
|
|
75
|
+
},
|
|
76
|
+
required: ['symbol', 'address', 'decimals', 'chainId'],
|
|
77
|
+
},
|
|
78
|
+
};
|
|
79
|
+
async function handleAddCustomToken(input) {
|
|
80
|
+
try {
|
|
81
|
+
const registry = (0, agentwallet_sdk_1.getGlobalRegistry)();
|
|
82
|
+
registry.addToken({
|
|
83
|
+
symbol: input.symbol.toUpperCase(),
|
|
84
|
+
address: input.address,
|
|
85
|
+
decimals: input.decimals,
|
|
86
|
+
chainId: input.chainId,
|
|
87
|
+
name: input.name ?? input.symbol,
|
|
88
|
+
});
|
|
89
|
+
const added = registry.getToken(input.symbol.toUpperCase(), input.chainId);
|
|
90
|
+
return {
|
|
91
|
+
content: [
|
|
92
|
+
(0, format_js_1.textContent)(JSON.stringify({
|
|
93
|
+
success: true,
|
|
94
|
+
token: added,
|
|
95
|
+
})),
|
|
96
|
+
],
|
|
97
|
+
};
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
return {
|
|
101
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'add_custom_token'))],
|
|
102
|
+
isError: true,
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// ─── list_chain_tokens ─────────────────────────────────────────────────────
|
|
107
|
+
exports.ListChainTokensSchema = zod_1.z.object({
|
|
108
|
+
chainId: zod_1.z.number().int().describe('Chain ID to list tokens for, e.g. 8453'),
|
|
109
|
+
});
|
|
110
|
+
exports.listChainTokensTool = {
|
|
111
|
+
name: 'list_chain_tokens',
|
|
112
|
+
description: 'List all tokens registered for a given chain ID in the global token registry.',
|
|
113
|
+
inputSchema: {
|
|
114
|
+
type: 'object',
|
|
115
|
+
properties: {
|
|
116
|
+
chainId: { type: 'number', description: 'Chain ID (e.g. 8453 for Base Mainnet)' },
|
|
117
|
+
},
|
|
118
|
+
required: ['chainId'],
|
|
119
|
+
},
|
|
120
|
+
};
|
|
121
|
+
async function handleListChainTokens(input) {
|
|
122
|
+
try {
|
|
123
|
+
const registry = (0, agentwallet_sdk_1.getGlobalRegistry)();
|
|
124
|
+
const tokens = registry.listTokens(input.chainId);
|
|
125
|
+
return {
|
|
126
|
+
content: [
|
|
127
|
+
(0, format_js_1.textContent)(JSON.stringify({ chainId: input.chainId, count: tokens.length, tokens })),
|
|
128
|
+
],
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
return {
|
|
133
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'list_chain_tokens'))],
|
|
134
|
+
isError: true,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/tools/tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* transfers.ts — send_token, get_balances tools.
|
|
3
|
+
*
|
|
4
|
+
* Wraps agentwallet-sdk v6 agentTransferToken + getBalances.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
export declare const SendTokenSchema: z.ZodObject<{
|
|
8
|
+
tokenSymbol: z.ZodString;
|
|
9
|
+
chainId: z.ZodNumber;
|
|
10
|
+
recipientAddress: z.ZodString;
|
|
11
|
+
amount: z.ZodString;
|
|
12
|
+
}, "strip", z.ZodTypeAny, {
|
|
13
|
+
chainId: number;
|
|
14
|
+
tokenSymbol: string;
|
|
15
|
+
recipientAddress: string;
|
|
16
|
+
amount: string;
|
|
17
|
+
}, {
|
|
18
|
+
chainId: number;
|
|
19
|
+
tokenSymbol: string;
|
|
20
|
+
recipientAddress: string;
|
|
21
|
+
amount: string;
|
|
22
|
+
}>;
|
|
23
|
+
export type SendTokenInput = z.infer<typeof SendTokenSchema>;
|
|
24
|
+
export declare const sendTokenTool: {
|
|
25
|
+
name: string;
|
|
26
|
+
description: string;
|
|
27
|
+
inputSchema: {
|
|
28
|
+
type: "object";
|
|
29
|
+
properties: {
|
|
30
|
+
tokenSymbol: {
|
|
31
|
+
type: string;
|
|
32
|
+
description: string;
|
|
33
|
+
};
|
|
34
|
+
chainId: {
|
|
35
|
+
type: string;
|
|
36
|
+
description: string;
|
|
37
|
+
};
|
|
38
|
+
recipientAddress: {
|
|
39
|
+
type: string;
|
|
40
|
+
description: string;
|
|
41
|
+
};
|
|
42
|
+
amount: {
|
|
43
|
+
type: string;
|
|
44
|
+
description: string;
|
|
45
|
+
};
|
|
46
|
+
};
|
|
47
|
+
required: string[];
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
export declare function handleSendToken(input: SendTokenInput): Promise<{
|
|
51
|
+
content: Array<{
|
|
52
|
+
type: 'text';
|
|
53
|
+
text: string;
|
|
54
|
+
}>;
|
|
55
|
+
isError?: boolean;
|
|
56
|
+
}>;
|
|
57
|
+
export declare const GetBalancesSchema: z.ZodObject<{
|
|
58
|
+
chainId: z.ZodOptional<z.ZodNumber>;
|
|
59
|
+
}, "strip", z.ZodTypeAny, {
|
|
60
|
+
chainId?: number | undefined;
|
|
61
|
+
}, {
|
|
62
|
+
chainId?: number | undefined;
|
|
63
|
+
}>;
|
|
64
|
+
export type GetBalancesInput = z.infer<typeof GetBalancesSchema>;
|
|
65
|
+
export declare const getBalancesTool: {
|
|
66
|
+
name: string;
|
|
67
|
+
description: string;
|
|
68
|
+
inputSchema: {
|
|
69
|
+
type: "object";
|
|
70
|
+
properties: {
|
|
71
|
+
chainId: {
|
|
72
|
+
type: string;
|
|
73
|
+
description: string;
|
|
74
|
+
};
|
|
75
|
+
};
|
|
76
|
+
required: never[];
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
export declare function handleGetBalances(input: GetBalancesInput): Promise<{
|
|
80
|
+
content: Array<{
|
|
81
|
+
type: 'text';
|
|
82
|
+
text: string;
|
|
83
|
+
}>;
|
|
84
|
+
isError?: boolean;
|
|
85
|
+
}>;
|
|
86
|
+
//# sourceMappingURL=transfers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfers.d.ts","sourceRoot":"","sources":["../../src/tools/transfers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAUvB,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;EAO1B,CAAA;AAEF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAE5D,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;CAiBzB,CAAA;AAED,wBAAsB,eAAe,CACnC,KAAK,EAAE,cAAc,GACpB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA0ChF;AAID,eAAO,MAAM,iBAAiB;;;;;;EAM5B,CAAA;AAEF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEhE,eAAO,MAAM,eAAe;;;;;;;;;;;;;CAe3B,CAAA;AAED,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,gBAAgB,GACtB,OAAO,CAAC;IAAE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAwChF"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBalancesTool = exports.GetBalancesSchema = exports.sendTokenTool = exports.SendTokenSchema = void 0;
|
|
4
|
+
exports.handleSendToken = handleSendToken;
|
|
5
|
+
exports.handleGetBalances = handleGetBalances;
|
|
6
|
+
/**
|
|
7
|
+
* transfers.ts — send_token, get_balances tools.
|
|
8
|
+
*
|
|
9
|
+
* Wraps agentwallet-sdk v6 agentTransferToken + getBalances.
|
|
10
|
+
*/
|
|
11
|
+
const zod_1 = require("zod");
|
|
12
|
+
const agentwallet_sdk_1 = require("agentwallet-sdk");
|
|
13
|
+
const client_js_1 = require("../utils/client.js");
|
|
14
|
+
const format_js_1 = require("../utils/format.js");
|
|
15
|
+
// ─── send_token ────────────────────────────────────────────────────────────
|
|
16
|
+
exports.SendTokenSchema = zod_1.z.object({
|
|
17
|
+
tokenSymbol: zod_1.z.string().describe('Token symbol, e.g. "USDC"'),
|
|
18
|
+
chainId: zod_1.z.number().int().describe('Chain ID where the token lives, e.g. 8453'),
|
|
19
|
+
recipientAddress: zod_1.z.string().describe('Recipient wallet address (0x-prefixed)'),
|
|
20
|
+
amount: zod_1.z
|
|
21
|
+
.string()
|
|
22
|
+
.describe('Amount in human-readable units, e.g. "10.5" for 10.5 USDC'),
|
|
23
|
+
});
|
|
24
|
+
exports.sendTokenTool = {
|
|
25
|
+
name: 'send_token',
|
|
26
|
+
description: 'Send any ERC-20 token from the Agent Wallet to a recipient. ' +
|
|
27
|
+
'Resolves the token address and decimals from the global registry, ' +
|
|
28
|
+
'then calls agentTransferToken through the AgentAccountV2 contract. ' +
|
|
29
|
+
'Subject to configured spend limits.',
|
|
30
|
+
inputSchema: {
|
|
31
|
+
type: 'object',
|
|
32
|
+
properties: {
|
|
33
|
+
tokenSymbol: { type: 'string', description: 'Token symbol (e.g. "USDC", "WETH")' },
|
|
34
|
+
chainId: { type: 'number', description: 'Chain ID (e.g. 8453 for Base Mainnet)' },
|
|
35
|
+
recipientAddress: { type: 'string', description: 'Recipient address (0x-prefixed)' },
|
|
36
|
+
amount: { type: 'string', description: 'Amount in human-readable units (e.g. "10.5")' },
|
|
37
|
+
},
|
|
38
|
+
required: ['tokenSymbol', 'chainId', 'recipientAddress', 'amount'],
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
async function handleSendToken(input) {
|
|
42
|
+
try {
|
|
43
|
+
const wallet = (0, client_js_1.getWallet)();
|
|
44
|
+
const registry = (0, agentwallet_sdk_1.getGlobalRegistry)();
|
|
45
|
+
const token = registry.getToken(input.tokenSymbol.toUpperCase(), input.chainId);
|
|
46
|
+
if (!token) {
|
|
47
|
+
throw new Error(`Token "${input.tokenSymbol}" not found for chain ${input.chainId}. ` +
|
|
48
|
+
'Use add_custom_token to register it first.');
|
|
49
|
+
}
|
|
50
|
+
const rawAmount = (0, agentwallet_sdk_1.parseAmount)(input.amount, token.decimals);
|
|
51
|
+
const txHash = await (0, agentwallet_sdk_1.agentTransferToken)(wallet, {
|
|
52
|
+
token: token.address,
|
|
53
|
+
to: input.recipientAddress,
|
|
54
|
+
amount: rawAmount,
|
|
55
|
+
});
|
|
56
|
+
return {
|
|
57
|
+
content: [
|
|
58
|
+
(0, format_js_1.textContent)(JSON.stringify({
|
|
59
|
+
success: true,
|
|
60
|
+
txHash,
|
|
61
|
+
token: token.symbol,
|
|
62
|
+
to: input.recipientAddress,
|
|
63
|
+
amount: input.amount,
|
|
64
|
+
rawAmount: rawAmount.toString(),
|
|
65
|
+
chainId: input.chainId,
|
|
66
|
+
})),
|
|
67
|
+
],
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
return {
|
|
72
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'send_token'))],
|
|
73
|
+
isError: true,
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// ─── get_balances ──────────────────────────────────────────────────────────
|
|
78
|
+
exports.GetBalancesSchema = zod_1.z.object({
|
|
79
|
+
chainId: zod_1.z
|
|
80
|
+
.number()
|
|
81
|
+
.int()
|
|
82
|
+
.optional()
|
|
83
|
+
.describe('Chain ID to query balances on. Defaults to the configured wallet chain.'),
|
|
84
|
+
});
|
|
85
|
+
exports.getBalancesTool = {
|
|
86
|
+
name: 'get_balances',
|
|
87
|
+
description: 'Get all ERC-20 token balances for the configured Agent Wallet address. ' +
|
|
88
|
+
'Uses the global token registry to enumerate tokens for the given chain.',
|
|
89
|
+
inputSchema: {
|
|
90
|
+
type: 'object',
|
|
91
|
+
properties: {
|
|
92
|
+
chainId: {
|
|
93
|
+
type: 'number',
|
|
94
|
+
description: 'Chain ID (defaults to the configured wallet chain)',
|
|
95
|
+
},
|
|
96
|
+
},
|
|
97
|
+
required: [],
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
async function handleGetBalances(input) {
|
|
101
|
+
try {
|
|
102
|
+
const wallet = (0, client_js_1.getWallet)();
|
|
103
|
+
const config = (0, client_js_1.getConfig)();
|
|
104
|
+
const chainId = input.chainId ?? config.chainId;
|
|
105
|
+
const ctx = {
|
|
106
|
+
publicClient: wallet.publicClient,
|
|
107
|
+
walletClient: wallet.walletClient,
|
|
108
|
+
account: wallet.walletClient.account.address,
|
|
109
|
+
chainId,
|
|
110
|
+
};
|
|
111
|
+
const balances = await (0, agentwallet_sdk_1.getBalances)(ctx);
|
|
112
|
+
// Serialize bigints to strings for JSON
|
|
113
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
114
|
+
const serialized = balances.map((b) => ({
|
|
115
|
+
...b,
|
|
116
|
+
rawBalance: typeof b.rawBalance === 'bigint' ? b.rawBalance.toString() : b.rawBalance,
|
|
117
|
+
}));
|
|
118
|
+
return {
|
|
119
|
+
content: [
|
|
120
|
+
(0, format_js_1.textContent)(JSON.stringify({
|
|
121
|
+
walletAddress: wallet.walletClient.account.address,
|
|
122
|
+
chainId,
|
|
123
|
+
count: serialized.length,
|
|
124
|
+
balances: serialized,
|
|
125
|
+
})),
|
|
126
|
+
],
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
return {
|
|
131
|
+
content: [(0, format_js_1.textContent)((0, format_js_1.formatError)(error, 'get_balances'))],
|
|
132
|
+
isError: true,
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=transfers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transfers.js","sourceRoot":"","sources":["../../src/tools/transfers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agentpay-mcp",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "4.0.1",
|
|
4
4
|
"mcpName": "io.github.up2itnow0822/agentpay",
|
|
5
|
-
"description": "AgentPay MCP Server — Non-custodial x402 payment layer for AI agents. Multi-chain wallets, spending limits, and machine-to-machine payments.",
|
|
5
|
+
"description": "AgentPay MCP Server — Non-custodial x402 payment layer for AI agents. Multi-chain wallets, spending limits, and machine-to-machine payments. Patent Pending.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
8
8
|
"bin": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"test:watch": "vitest",
|
|
24
24
|
"test:coverage": "vitest run --coverage",
|
|
25
25
|
"typecheck": "tsc --noEmit",
|
|
26
|
-
"lint": "eslint src --
|
|
26
|
+
"lint": "eslint src/ tests/ --config eslint.config.mjs",
|
|
27
27
|
"prepublishOnly": "npm run clean && npm run build && npm run typecheck"
|
|
28
28
|
},
|
|
29
29
|
"keywords": [
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
},
|
|
54
54
|
"dependencies": {
|
|
55
55
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
56
|
-
"agentwallet-sdk": "^
|
|
56
|
+
"agentwallet-sdk": "^6.0.0",
|
|
57
57
|
"viem": "2.46.0",
|
|
58
58
|
"zod": "^3.22.4"
|
|
59
59
|
},
|
|
@@ -62,8 +62,13 @@
|
|
|
62
62
|
},
|
|
63
63
|
"devDependencies": {
|
|
64
64
|
"@types/node": "^20.11.0",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^8.57.1",
|
|
66
|
+
"@typescript-eslint/parser": "^8.57.1",
|
|
65
67
|
"@vitest/coverage-v8": "^4.0.18",
|
|
68
|
+
"eslint": "^10.1.0",
|
|
69
|
+
"globals": "^17.4.0",
|
|
66
70
|
"typescript": "^5.3.3",
|
|
71
|
+
"typescript-eslint": "^8.57.1",
|
|
67
72
|
"vitest": "^4.0.18"
|
|
68
73
|
}
|
|
69
74
|
}
|