@aibtc/mcp-server 1.21.1 → 1.22.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/dist/endpoints/registry.d.ts +6 -0
- package/dist/endpoints/registry.d.ts.map +1 -1
- package/dist/endpoints/registry.js +43 -0
- package/dist/endpoints/registry.js.map +1 -1
- package/dist/services/bns.service.d.ts +11 -0
- package/dist/services/bns.service.d.ts.map +1 -1
- package/dist/services/bns.service.js +35 -1
- package/dist/services/bns.service.js.map +1 -1
- package/dist/services/hiro-api.d.ts +11 -2
- package/dist/services/hiro-api.d.ts.map +1 -1
- package/dist/services/hiro-api.js +37 -9
- package/dist/services/hiro-api.js.map +1 -1
- package/dist/services/x402.service.d.ts +31 -0
- package/dist/services/x402.service.d.ts.map +1 -1
- package/dist/services/x402.service.js +93 -37
- package/dist/services/x402.service.js.map +1 -1
- package/dist/tools/bns.tools.d.ts.map +1 -1
- package/dist/tools/bns.tools.js +53 -3
- package/dist/tools/bns.tools.js.map +1 -1
- package/dist/tools/endpoint.tools.d.ts.map +1 -1
- package/dist/tools/endpoint.tools.js +203 -42
- package/dist/tools/endpoint.tools.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/settings.tools.d.ts +6 -0
- package/dist/tools/settings.tools.d.ts.map +1 -0
- package/dist/tools/settings.tools.js +251 -0
- package/dist/tools/settings.tools.js.map +1 -0
- package/dist/utils/fee.d.ts.map +1 -1
- package/dist/utils/fee.js +36 -10
- package/dist/utils/fee.js.map +1 -1
- package/dist/utils/storage.d.ts +28 -0
- package/dist/utils/storage.d.ts.map +1 -1
- package/dist/utils/storage.js +66 -0
- package/dist/utils/storage.js.map +1 -1
- package/package.json +1 -1
- package/skill/SKILL.md +1 -1
- package/skill/references/stacks-defi.md +14 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.service.d.ts","sourceRoot":"","sources":["../../src/services/x402.service.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"x402.service.d.ts","sourceRoot":"","sources":["../../src/services/x402.service.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAc,EAAE,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AAGlD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,OAAO,EAAE,MAAM,uBAAuB,CAAC;AACvE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AAyD1D;;GAEG;AACH,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAclB;AAED;;GAEG;AACH,wBAAsB,eAAe,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAe9E;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,aAAa,CAEjE;AAED;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC,CAmBxD;AAED;;GAEG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,CAkBnD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,IAAI,CAEvC;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,IAAI,EAAE,kBAAkB,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,GAAG,0BAA0B,CAAC;AAEvE;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE;IAC3C,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,GAAG,OAAO,CAAC,WAAW,CAAC,CA+CvB;AAED,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -6,6 +6,52 @@ import { NETWORK, API_URL } from "../config/networks.js";
|
|
|
6
6
|
import { getWalletManager } from "./wallet-manager.js";
|
|
7
7
|
// Cache clients by base URL
|
|
8
8
|
const clientCache = new Map();
|
|
9
|
+
/**
|
|
10
|
+
* Safe JSON transform - parses string responses without throwing
|
|
11
|
+
*/
|
|
12
|
+
function safeJsonTransform(data) {
|
|
13
|
+
if (typeof data !== "string") {
|
|
14
|
+
return data;
|
|
15
|
+
}
|
|
16
|
+
const trimmed = data.trim();
|
|
17
|
+
if (!trimmed) {
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
try {
|
|
21
|
+
return JSON.parse(trimmed);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
return data;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Create a plain axios instance with JSON parsing for both success and error responses.
|
|
29
|
+
* Used as the base for both payment-wrapped clients and probe requests.
|
|
30
|
+
*/
|
|
31
|
+
function createBaseAxiosInstance(baseURL) {
|
|
32
|
+
const instance = axios.create({
|
|
33
|
+
baseURL,
|
|
34
|
+
timeout: 60000,
|
|
35
|
+
transformResponse: [safeJsonTransform],
|
|
36
|
+
});
|
|
37
|
+
// Ensure error response bodies (especially 402 payloads) are also parsed as JSON
|
|
38
|
+
instance.interceptors.response.use((response) => response, (error) => {
|
|
39
|
+
const data = error?.response?.data;
|
|
40
|
+
if (typeof data === "string") {
|
|
41
|
+
const trimmed = data.trim();
|
|
42
|
+
if (trimmed) {
|
|
43
|
+
try {
|
|
44
|
+
error.response.data = JSON.parse(trimmed);
|
|
45
|
+
}
|
|
46
|
+
catch {
|
|
47
|
+
// Leave as-is if it's not JSON
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return Promise.reject(error);
|
|
52
|
+
});
|
|
53
|
+
return instance;
|
|
54
|
+
}
|
|
9
55
|
/**
|
|
10
56
|
* Convert mnemonic to account
|
|
11
57
|
*/
|
|
@@ -34,47 +80,18 @@ export async function createApiClient(baseUrl) {
|
|
|
34
80
|
}
|
|
35
81
|
// Get account (from managed wallet or env mnemonic)
|
|
36
82
|
const account = await getAccount();
|
|
37
|
-
const axiosInstance =
|
|
38
|
-
baseURL: url,
|
|
39
|
-
timeout: 60000,
|
|
40
|
-
transformResponse: [
|
|
41
|
-
(data) => {
|
|
42
|
-
if (typeof data !== "string") {
|
|
43
|
-
return data;
|
|
44
|
-
}
|
|
45
|
-
const trimmed = data.trim();
|
|
46
|
-
if (!trimmed) {
|
|
47
|
-
return data;
|
|
48
|
-
}
|
|
49
|
-
try {
|
|
50
|
-
return JSON.parse(trimmed);
|
|
51
|
-
}
|
|
52
|
-
catch {
|
|
53
|
-
return data;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
});
|
|
58
|
-
// Ensure 402 payloads are parsed before x402-stacks validates them
|
|
59
|
-
axiosInstance.interceptors.response.use((response) => response, (error) => {
|
|
60
|
-
const data = error?.response?.data;
|
|
61
|
-
if (typeof data === "string") {
|
|
62
|
-
const trimmed = data.trim();
|
|
63
|
-
if (trimmed) {
|
|
64
|
-
try {
|
|
65
|
-
error.response.data = JSON.parse(trimmed);
|
|
66
|
-
}
|
|
67
|
-
catch {
|
|
68
|
-
// Leave as-is if it's not JSON
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
return Promise.reject(error);
|
|
73
|
-
});
|
|
83
|
+
const axiosInstance = createBaseAxiosInstance(url);
|
|
74
84
|
const client = wrapAxiosWithPayment(axiosInstance, account);
|
|
75
85
|
clientCache.set(url, client);
|
|
76
86
|
return client;
|
|
77
87
|
}
|
|
88
|
+
/**
|
|
89
|
+
* Create a plain axios client without payment interceptor.
|
|
90
|
+
* Used for known-free endpoints where 402 responses should fail, not auto-pay.
|
|
91
|
+
*/
|
|
92
|
+
export function createPlainClient(baseUrl) {
|
|
93
|
+
return createBaseAxiosInstance(baseUrl);
|
|
94
|
+
}
|
|
78
95
|
/**
|
|
79
96
|
* Get wallet address - checks managed wallet first, then env mnemonic
|
|
80
97
|
*/
|
|
@@ -118,5 +135,44 @@ export async function getAccount() {
|
|
|
118
135
|
export function clearClientCache() {
|
|
119
136
|
clientCache.clear();
|
|
120
137
|
}
|
|
138
|
+
/**
|
|
139
|
+
* Probe an endpoint without payment interceptor
|
|
140
|
+
* Returns either free response data or payment requirements
|
|
141
|
+
*/
|
|
142
|
+
export async function probeEndpoint(options) {
|
|
143
|
+
const { method, url, params, data } = options;
|
|
144
|
+
const axiosInstance = createBaseAxiosInstance();
|
|
145
|
+
try {
|
|
146
|
+
const response = await axiosInstance.request({ method, url, params, data });
|
|
147
|
+
// 200 response - free endpoint
|
|
148
|
+
return {
|
|
149
|
+
type: 'free',
|
|
150
|
+
data: response.data,
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
const axiosError = error;
|
|
155
|
+
// 402 Payment Required - parse payment info
|
|
156
|
+
if (axiosError.response?.status === 402) {
|
|
157
|
+
const paymentData = axiosError.response.data;
|
|
158
|
+
if (!paymentData.amount || !paymentData.asset || !paymentData.recipient || !paymentData.network) {
|
|
159
|
+
throw new Error(`Invalid 402 response from ${url}: missing payment fields`);
|
|
160
|
+
}
|
|
161
|
+
return {
|
|
162
|
+
type: 'payment_required',
|
|
163
|
+
amount: paymentData.amount,
|
|
164
|
+
asset: paymentData.asset,
|
|
165
|
+
recipient: paymentData.recipient,
|
|
166
|
+
network: paymentData.network,
|
|
167
|
+
endpoint: url,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
// Other errors - propagate
|
|
171
|
+
if (axiosError.response) {
|
|
172
|
+
throw new Error(`HTTP ${axiosError.response.status} from ${url}: ${JSON.stringify(axiosError.response.data)}`);
|
|
173
|
+
}
|
|
174
|
+
throw error;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
121
177
|
export { NETWORK, API_URL };
|
|
122
178
|
//# sourceMappingURL=x402.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"x402.service.js","sourceRoot":"","sources":["../../src/services/x402.service.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,CAAC;AACvB,OAAO,KAA6B,MAAM,OAAO,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAgB,MAAM,uBAAuB,CAAC;AAEvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,4BAA4B;AAC5B,MAAM,WAAW,GAA+B,IAAI,GAAG,EAAE,CAAC;AAE1D;;GAEG;AACH,
|
|
1
|
+
{"version":3,"file":"x402.service.js","sourceRoot":"","sources":["../../src/services/x402.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bns.tools.d.ts","sourceRoot":"","sources":["../../src/tools/bns.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"bns.tools.d.ts","sourceRoot":"","sources":["../../src/tools/bns.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAOpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgWxD"}
|
package/dist/tools/bns.tools.js
CHANGED
|
@@ -155,12 +155,62 @@ export function registerBnsTools(server) {
|
|
|
155
155
|
return createErrorResponse(error);
|
|
156
156
|
}
|
|
157
157
|
});
|
|
158
|
+
// Claim BNS name fast (single transaction, recommended for .btc)
|
|
159
|
+
server.registerTool("claim_bns_name_fast", {
|
|
160
|
+
description: "Register a BNS domain name in a single transaction using name-claim-fast. " +
|
|
161
|
+
"This is the RECOMMENDED method — no preorder/register wait needed. " +
|
|
162
|
+
"Burns the name price in STX and mints the BNS NFT atomically. " +
|
|
163
|
+
"Works for all open namespaces (BNS V2).",
|
|
164
|
+
inputSchema: {
|
|
165
|
+
name: z
|
|
166
|
+
.string()
|
|
167
|
+
.describe("BNS name to claim (e.g., 'myname' or 'myname.btc')"),
|
|
168
|
+
sendTo: z
|
|
169
|
+
.string()
|
|
170
|
+
.optional()
|
|
171
|
+
.describe("Optional recipient address. Defaults to the wallet's own address."),
|
|
172
|
+
},
|
|
173
|
+
}, async ({ name, sendTo }) => {
|
|
174
|
+
try {
|
|
175
|
+
const bnsService = getBnsService(NETWORK);
|
|
176
|
+
const account = await getAccount();
|
|
177
|
+
// Check if name is available first
|
|
178
|
+
const available = await bnsService.checkAvailability(name);
|
|
179
|
+
if (!available) {
|
|
180
|
+
return createErrorResponse(new Error(`Name "${name}" is not available for registration`));
|
|
181
|
+
}
|
|
182
|
+
// Get the price for reference
|
|
183
|
+
const price = await bnsService.getPrice(name);
|
|
184
|
+
// Perform the claim
|
|
185
|
+
const result = await bnsService.claimNameFast(account, name, sendTo);
|
|
186
|
+
const fullName = name.endsWith(".btc") ? name : `${name}.btc`;
|
|
187
|
+
return createJsonResponse({
|
|
188
|
+
success: true,
|
|
189
|
+
method: "name-claim-fast (single transaction)",
|
|
190
|
+
name: fullName,
|
|
191
|
+
sendTo: sendTo || account.address,
|
|
192
|
+
txid: result.txid,
|
|
193
|
+
network: NETWORK,
|
|
194
|
+
price: price
|
|
195
|
+
? {
|
|
196
|
+
microStx: price.amount,
|
|
197
|
+
stx: price.amountStx + " STX",
|
|
198
|
+
}
|
|
199
|
+
: null,
|
|
200
|
+
message: `Name "${fullName}" claimed! Once confirmed (~10 min), it will be registered to ${sendTo || account.address}.`,
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
catch (error) {
|
|
204
|
+
return createErrorResponse(error);
|
|
205
|
+
}
|
|
206
|
+
});
|
|
158
207
|
// Preorder BNS name (Step 1 of 2 for registration)
|
|
159
208
|
server.registerTool("preorder_bns_name", {
|
|
160
|
-
description: "Preorder a BNS domain name
|
|
209
|
+
description: "Preorder a BNS domain name (step 1 of 2-step registration). " +
|
|
210
|
+
"NOTE: For .btc names, prefer claim_bns_name_fast instead — it registers in one transaction. " +
|
|
211
|
+
"Use this 2-step flow only for non-.btc namespaces or if claim-fast is unavailable. " +
|
|
161
212
|
"After preorder is confirmed (~10 minutes), call register_bns_name with the same salt. " +
|
|
162
|
-
"IMPORTANT: Save the returned salt - you'll need it for the register step!
|
|
163
|
-
"Auto-detects contract version: V2 for .btc names, V1 for other namespaces.",
|
|
213
|
+
"IMPORTANT: Save the returned salt - you'll need it for the register step!",
|
|
164
214
|
inputSchema: {
|
|
165
215
|
name: z
|
|
166
216
|
.string()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bns.tools.js","sourceRoot":"","sources":["../../src/tools/bns.tools.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"bns.tools.js","sourceRoot":"","sources":["../../src/tools/bns.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.tools.d.ts","sourceRoot":"","sources":["../../src/tools/endpoint.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.tools.d.ts","sourceRoot":"","sources":["../../src/tools/endpoint.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmHpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuS7D"}
|
|
@@ -1,8 +1,86 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import { createApiClient, API_URL } from "../services/x402.service.js";
|
|
3
|
-
import { ALL_ENDPOINTS, searchEndpoints, formatEndpointsTable, getEndpointsBySource, getCategories, } from "../endpoints/registry.js";
|
|
2
|
+
import { createApiClient, createPlainClient, API_URL, probeEndpoint } from "../services/x402.service.js";
|
|
3
|
+
import { ALL_ENDPOINTS, searchEndpoints, formatEndpointsTable, getEndpointsBySource, getCategories, lookupEndpoint, } from "../endpoints/registry.js";
|
|
4
4
|
import { createJsonResponse, createErrorResponse } from "../utils/index.js";
|
|
5
5
|
const ALL_SOURCES = "x402.biwas.xyz, x402.aibtc.com, stx402.com, aibtc.com";
|
|
6
|
+
/**
|
|
7
|
+
* Parse and validate endpoint URL from either a full URL or path+apiUrl combination.
|
|
8
|
+
* Merges any query parameters from the URL into the provided params.
|
|
9
|
+
*/
|
|
10
|
+
function parseEndpointUrl(options) {
|
|
11
|
+
const { url, path, apiUrl } = options;
|
|
12
|
+
let params = options.params;
|
|
13
|
+
if (url) {
|
|
14
|
+
const parsed = new URL(url);
|
|
15
|
+
if (parsed.protocol !== "https:") {
|
|
16
|
+
throw new Error("Only HTTPS URLs are allowed for x402 endpoints");
|
|
17
|
+
}
|
|
18
|
+
if (parsed.search) {
|
|
19
|
+
const urlParams = Object.fromEntries(parsed.searchParams);
|
|
20
|
+
params = { ...urlParams, ...params };
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
baseUrl: `${parsed.protocol}//${parsed.host}`,
|
|
24
|
+
requestPath: parsed.pathname,
|
|
25
|
+
fullUrl: `${parsed.protocol}//${parsed.host}${parsed.pathname}`,
|
|
26
|
+
params,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
if (path) {
|
|
30
|
+
if (apiUrl && !apiUrl.startsWith("https://")) {
|
|
31
|
+
throw new Error("Only HTTPS URLs are allowed for x402 endpoints");
|
|
32
|
+
}
|
|
33
|
+
const baseUrl = apiUrl || API_URL;
|
|
34
|
+
return {
|
|
35
|
+
baseUrl,
|
|
36
|
+
requestPath: path,
|
|
37
|
+
fullUrl: `${baseUrl}${path}`,
|
|
38
|
+
params,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
throw new Error("Either 'url' or 'path' parameter must be provided");
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Build the callWith object that echoes back original request params,
|
|
45
|
+
* allowing the LLM to copy them into a follow-up execute_x402_endpoint call.
|
|
46
|
+
*/
|
|
47
|
+
function buildCallWith(options) {
|
|
48
|
+
const callWith = { method: options.method, autoApprove: true };
|
|
49
|
+
if (options.url)
|
|
50
|
+
callWith.url = options.url;
|
|
51
|
+
if (options.path)
|
|
52
|
+
callWith.path = options.path;
|
|
53
|
+
if (options.apiUrl)
|
|
54
|
+
callWith.apiUrl = options.apiUrl;
|
|
55
|
+
if (options.params && Object.keys(options.params).length > 0)
|
|
56
|
+
callWith.params = options.params;
|
|
57
|
+
if (options.data && Object.keys(options.data).length > 0)
|
|
58
|
+
callWith.data = options.data;
|
|
59
|
+
return callWith;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Format an endpoint error into an MCP error response.
|
|
63
|
+
* Provides a helpful hint for 404s and includes HTTP status for other errors.
|
|
64
|
+
*/
|
|
65
|
+
function formatEndpointError(error, endpointLabel) {
|
|
66
|
+
let message = "Unknown error";
|
|
67
|
+
if (error instanceof Error) {
|
|
68
|
+
message = error.message;
|
|
69
|
+
}
|
|
70
|
+
const axiosError = error;
|
|
71
|
+
if (axiosError.response) {
|
|
72
|
+
if (axiosError.response.status === 404) {
|
|
73
|
+
message = `Endpoint not found: ${endpointLabel}. Use list_x402_endpoints to see available endpoints.`;
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
message = `HTTP ${axiosError.response.status}: ${JSON.stringify(axiosError.response.data)}`;
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
return {
|
|
80
|
+
content: [{ type: "text", text: `Error: ${message}` }],
|
|
81
|
+
isError: true,
|
|
82
|
+
};
|
|
83
|
+
}
|
|
6
84
|
export function registerEndpointTools(server) {
|
|
7
85
|
// List x402 endpoints
|
|
8
86
|
server.registerTool("list_x402_endpoints", {
|
|
@@ -132,61 +210,144 @@ Use list_x402_endpoints to discover available endpoints.`,
|
|
|
132
210
|
.record(z.string(), z.unknown())
|
|
133
211
|
.optional()
|
|
134
212
|
.describe("Request body for POST/PUT requests"),
|
|
213
|
+
autoApprove: z
|
|
214
|
+
.boolean()
|
|
215
|
+
.optional()
|
|
216
|
+
.default(false)
|
|
217
|
+
.describe("Skip cost probe and execute immediately. When false (default), probes first and returns cost info for paid endpoints. When true, executes atomically like before. Free endpoints always execute transparently."),
|
|
135
218
|
},
|
|
136
|
-
}, async ({ method, url, path, apiUrl, params, data }) => {
|
|
219
|
+
}, async ({ method, url, path, apiUrl, params, data, autoApprove }) => {
|
|
137
220
|
let baseUrl = "";
|
|
138
221
|
let requestPath = "";
|
|
222
|
+
let fullUrl = "";
|
|
139
223
|
try {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
224
|
+
const parsed = parseEndpointUrl({ url, path, apiUrl, params });
|
|
225
|
+
baseUrl = parsed.baseUrl;
|
|
226
|
+
requestPath = parsed.requestPath;
|
|
227
|
+
fullUrl = parsed.fullUrl;
|
|
228
|
+
params = parsed.params;
|
|
229
|
+
if (!autoApprove) {
|
|
230
|
+
const probeResult = await probeEndpoint({ method, url: fullUrl, params, data });
|
|
231
|
+
if (probeResult.type === 'free') {
|
|
232
|
+
return createJsonResponse({
|
|
233
|
+
endpoint: `${method} ${fullUrl}`,
|
|
234
|
+
response: probeResult.data,
|
|
235
|
+
});
|
|
144
236
|
}
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
237
|
+
else {
|
|
238
|
+
return createJsonResponse({
|
|
239
|
+
type: 'payment_required',
|
|
240
|
+
endpoint: `${method} ${fullUrl}`,
|
|
241
|
+
message: `This endpoint costs ${probeResult.amount} ${probeResult.asset}. To execute and pay, re-call execute_x402_endpoint with autoApprove: true and the same parameters shown in callWith below.`,
|
|
242
|
+
payment: {
|
|
243
|
+
amount: probeResult.amount,
|
|
244
|
+
asset: probeResult.asset,
|
|
245
|
+
recipient: probeResult.recipient,
|
|
246
|
+
network: probeResult.network,
|
|
247
|
+
},
|
|
248
|
+
callWith: buildCallWith({ method, url, path, apiUrl, params, data }),
|
|
249
|
+
});
|
|
151
250
|
}
|
|
152
251
|
}
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
}
|
|
160
|
-
if (apiUrl && !apiUrl.startsWith("https://")) {
|
|
161
|
-
throw new Error("Only HTTPS URLs are allowed for x402 endpoints");
|
|
162
|
-
}
|
|
163
|
-
const api = await createApiClient(baseUrl);
|
|
252
|
+
// autoApprove=true: use payment client only for known paid endpoints
|
|
253
|
+
const registryEntry = lookupEndpoint(method, requestPath, baseUrl);
|
|
254
|
+
const isKnownPaid = !!registryEntry && registryEntry.cost !== "FREE";
|
|
255
|
+
const api = isKnownPaid
|
|
256
|
+
? await createApiClient(baseUrl)
|
|
257
|
+
: createPlainClient(baseUrl);
|
|
164
258
|
const response = await api.request({ method, url: requestPath, params, data });
|
|
165
|
-
const endpoint = `${baseUrl}${requestPath}`;
|
|
166
259
|
return createJsonResponse({
|
|
167
|
-
endpoint: `${method} ${
|
|
260
|
+
endpoint: `${method} ${fullUrl}`,
|
|
168
261
|
response: response.data,
|
|
169
262
|
});
|
|
170
263
|
}
|
|
171
264
|
catch (error) {
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
265
|
+
const label = fullUrl || url || path || "unknown";
|
|
266
|
+
return formatEndpointError(error, label);
|
|
267
|
+
}
|
|
268
|
+
});
|
|
269
|
+
// Probe x402 endpoint (discover cost without paying)
|
|
270
|
+
server.registerTool("probe_x402_endpoint", {
|
|
271
|
+
description: `Probe an x402 API endpoint to discover its cost WITHOUT making payment.
|
|
272
|
+
|
|
273
|
+
This tool is useful for:
|
|
274
|
+
- Discovering the cost of a paid endpoint before executing
|
|
275
|
+
- Checking if an endpoint is free or requires payment
|
|
276
|
+
- Presenting costs to users for approval before paying
|
|
277
|
+
|
|
278
|
+
For free endpoints, returns the response data directly.
|
|
279
|
+
For paid endpoints, returns payment details (amount, asset, recipient) without executing payment.
|
|
280
|
+
|
|
281
|
+
After probing a paid endpoint, use execute_x402_endpoint to actually execute and pay.
|
|
282
|
+
|
|
283
|
+
Supported sources:
|
|
284
|
+
- x402.biwas.xyz (default): Use path like "/api/pools/trending"
|
|
285
|
+
- x402.aibtc.com: Use apiUrl="https://x402.aibtc.com" with path like "/inference/openrouter/chat"
|
|
286
|
+
- stx402.com: Use apiUrl="https://stx402.com" with path like "/api/ai/dad-joke"
|
|
287
|
+
- aibtc.com: Use apiUrl="https://aibtc.com" with path like "/api/inbox/{address}"
|
|
288
|
+
- Any x402-compatible URL: Use url parameter with full endpoint URL`,
|
|
289
|
+
inputSchema: {
|
|
290
|
+
method: z
|
|
291
|
+
.enum(["GET", "POST", "PUT", "DELETE"])
|
|
292
|
+
.default("GET")
|
|
293
|
+
.describe("HTTP method"),
|
|
294
|
+
url: z
|
|
295
|
+
.string()
|
|
296
|
+
.url()
|
|
297
|
+
.optional()
|
|
298
|
+
.describe("Full endpoint URL (e.g., 'https://stx402.com/api/ai/dad-joke'). Takes precedence over path+apiUrl."),
|
|
299
|
+
path: z
|
|
300
|
+
.string()
|
|
301
|
+
.optional()
|
|
302
|
+
.describe("API endpoint path (e.g., '/api/pools/trending'). Required if url is not provided."),
|
|
303
|
+
apiUrl: z
|
|
304
|
+
.string()
|
|
305
|
+
.url()
|
|
306
|
+
.optional()
|
|
307
|
+
.describe("API base URL. Known sources: x402.biwas.xyz, x402.aibtc.com, stx402.com, aibtc.com. Defaults to configured API_URL."),
|
|
308
|
+
params: z
|
|
309
|
+
.record(z.string(), z.string())
|
|
310
|
+
.optional()
|
|
311
|
+
.describe("Query parameters for GET requests"),
|
|
312
|
+
data: z
|
|
313
|
+
.record(z.string(), z.unknown())
|
|
314
|
+
.optional()
|
|
315
|
+
.describe("Request body for POST/PUT requests"),
|
|
316
|
+
},
|
|
317
|
+
}, async ({ method, url, path, apiUrl, params, data }) => {
|
|
318
|
+
let fullUrl = "";
|
|
319
|
+
try {
|
|
320
|
+
const parsed = parseEndpointUrl({ url, path, apiUrl, params });
|
|
321
|
+
fullUrl = parsed.fullUrl;
|
|
322
|
+
params = parsed.params;
|
|
323
|
+
// Probe the endpoint
|
|
324
|
+
const result = await probeEndpoint({ method, url: fullUrl, params, data });
|
|
325
|
+
if (result.type === 'free') {
|
|
326
|
+
// Free endpoint - return the data
|
|
327
|
+
return createJsonResponse({
|
|
328
|
+
type: 'free',
|
|
329
|
+
endpoint: `${method} ${fullUrl}`,
|
|
330
|
+
message: 'This endpoint is free (no payment required)',
|
|
331
|
+
response: result.data,
|
|
332
|
+
});
|
|
176
333
|
}
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
334
|
+
else {
|
|
335
|
+
return createJsonResponse({
|
|
336
|
+
type: 'payment_required',
|
|
337
|
+
endpoint: `${method} ${fullUrl}`,
|
|
338
|
+
message: `No payment made. This endpoint costs ${result.amount} ${result.asset}. To execute and pay, call execute_x402_endpoint with the parameters shown in callWith below.`,
|
|
339
|
+
payment: {
|
|
340
|
+
amount: result.amount,
|
|
341
|
+
asset: result.asset,
|
|
342
|
+
recipient: result.recipient,
|
|
343
|
+
network: result.network,
|
|
344
|
+
},
|
|
345
|
+
callWith: buildCallWith({ method, url, path, apiUrl, params, data }),
|
|
346
|
+
});
|
|
185
347
|
}
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
};
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
return formatEndpointError(error, fullUrl || "unknown");
|
|
190
351
|
}
|
|
191
352
|
});
|
|
192
353
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.tools.js","sourceRoot":"","sources":["../../src/tools/endpoint.tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.tools.js","sourceRoot":"","sources":["../../src/tools/endpoint.tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoCpE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAgDxD"}
|
package/dist/tools/index.js
CHANGED
|
@@ -26,6 +26,7 @@ import { registerEndpointTools } from "./endpoint.tools.js";
|
|
|
26
26
|
import { registerScaffoldTools } from "./scaffold.tools.js";
|
|
27
27
|
import { registerOpenRouterTools } from "./openrouter.tools.js";
|
|
28
28
|
import { registerYieldHunterTools } from "./yield-hunter.tools.js";
|
|
29
|
+
import { registerSettingsTools } from "./settings.tools.js";
|
|
29
30
|
/**
|
|
30
31
|
* Register all tools with the MCP server.
|
|
31
32
|
*
|
|
@@ -79,5 +80,6 @@ export function registerAllTools(server) {
|
|
|
79
80
|
registerScaffoldTools(server);
|
|
80
81
|
registerOpenRouterTools(server);
|
|
81
82
|
registerYieldHunterTools(server);
|
|
83
|
+
registerSettingsTools(server);
|
|
82
84
|
}
|
|
83
85
|
//# sourceMappingURL=index.js.map
|