@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.
Files changed (39) hide show
  1. package/dist/endpoints/registry.d.ts +6 -0
  2. package/dist/endpoints/registry.d.ts.map +1 -1
  3. package/dist/endpoints/registry.js +43 -0
  4. package/dist/endpoints/registry.js.map +1 -1
  5. package/dist/services/bns.service.d.ts +11 -0
  6. package/dist/services/bns.service.d.ts.map +1 -1
  7. package/dist/services/bns.service.js +35 -1
  8. package/dist/services/bns.service.js.map +1 -1
  9. package/dist/services/hiro-api.d.ts +11 -2
  10. package/dist/services/hiro-api.d.ts.map +1 -1
  11. package/dist/services/hiro-api.js +37 -9
  12. package/dist/services/hiro-api.js.map +1 -1
  13. package/dist/services/x402.service.d.ts +31 -0
  14. package/dist/services/x402.service.d.ts.map +1 -1
  15. package/dist/services/x402.service.js +93 -37
  16. package/dist/services/x402.service.js.map +1 -1
  17. package/dist/tools/bns.tools.d.ts.map +1 -1
  18. package/dist/tools/bns.tools.js +53 -3
  19. package/dist/tools/bns.tools.js.map +1 -1
  20. package/dist/tools/endpoint.tools.d.ts.map +1 -1
  21. package/dist/tools/endpoint.tools.js +203 -42
  22. package/dist/tools/endpoint.tools.js.map +1 -1
  23. package/dist/tools/index.d.ts.map +1 -1
  24. package/dist/tools/index.js +2 -0
  25. package/dist/tools/index.js.map +1 -1
  26. package/dist/tools/settings.tools.d.ts +6 -0
  27. package/dist/tools/settings.tools.d.ts.map +1 -0
  28. package/dist/tools/settings.tools.js +251 -0
  29. package/dist/tools/settings.tools.js.map +1 -0
  30. package/dist/utils/fee.d.ts.map +1 -1
  31. package/dist/utils/fee.js +36 -10
  32. package/dist/utils/fee.js.map +1 -1
  33. package/dist/utils/storage.d.ts +28 -0
  34. package/dist/utils/storage.d.ts.map +1 -1
  35. package/dist/utils/storage.js +66 -0
  36. package/dist/utils/storage.js.map +1 -1
  37. package/package.json +1 -1
  38. package/skill/SKILL.md +1 -1
  39. 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;AAM1D;;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,CAsD9E;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,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,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 = axios.create({
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":"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"}
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,CAkSxD"}
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"}
@@ -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. This is step 1 of a 2-step registration process. " +
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;AAcpE,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA0M7D"}
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
- if (url) {
141
- const parsed = new URL(url);
142
- if (parsed.protocol !== "https:") {
143
- throw new Error("Only HTTPS URLs are allowed for x402 endpoints");
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
- baseUrl = `${parsed.protocol}//${parsed.host}`;
146
- requestPath = parsed.pathname;
147
- // Merge URL query params into params to avoid duplication
148
- if (parsed.search) {
149
- const urlParams = Object.fromEntries(parsed.searchParams);
150
- params = { ...urlParams, ...params };
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
- else if (path) {
154
- baseUrl = apiUrl || API_URL;
155
- requestPath = path;
156
- }
157
- else {
158
- throw new Error("Either 'url' or 'path' parameter must be provided");
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} ${endpoint}`,
260
+ endpoint: `${method} ${fullUrl}`,
168
261
  response: response.data,
169
262
  });
170
263
  }
171
264
  catch (error) {
172
- const endpoint = baseUrl ? `${baseUrl}${requestPath}` : (url || path || "unknown");
173
- let message = "Unknown error";
174
- if (error instanceof Error) {
175
- message = error.message;
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
- const axiosError = error;
178
- if (axiosError.response) {
179
- if (axiosError.response.status === 404) {
180
- message = `Endpoint not found: ${endpoint}. Use list_x402_endpoints to see available endpoints.`;
181
- }
182
- else {
183
- message = `HTTP ${axiosError.response.status}: ${JSON.stringify(axiosError.response.data)}`;
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
- return {
187
- content: [{ type: "text", text: `Error: ${message}` }],
188
- isError: true,
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":"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"}
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;AAmCpE;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA+CxD"}
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"}
@@ -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