@aibtc/mcp-server 1.34.0 → 1.36.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +7 -0
  2. package/dist/config/contracts.d.ts +14 -14
  3. package/dist/config/contracts.js +7 -7
  4. package/dist/config/contracts.js.map +1 -1
  5. package/dist/services/mempool-api.d.ts +64 -0
  6. package/dist/services/mempool-api.d.ts.map +1 -1
  7. package/dist/services/mempool-api.js +44 -0
  8. package/dist/services/mempool-api.js.map +1 -1
  9. package/dist/services/tenero-api.d.ts +76 -0
  10. package/dist/services/tenero-api.d.ts.map +1 -0
  11. package/dist/services/tenero-api.js +108 -0
  12. package/dist/services/tenero-api.js.map +1 -0
  13. package/dist/tools/dual-stacking.tools.d.ts +3 -0
  14. package/dist/tools/dual-stacking.tools.d.ts.map +1 -0
  15. package/dist/tools/dual-stacking.tools.js +281 -0
  16. package/dist/tools/dual-stacking.tools.js.map +1 -0
  17. package/dist/tools/inbox.tools.d.ts.map +1 -1
  18. package/dist/tools/inbox.tools.js +5 -0
  19. package/dist/tools/inbox.tools.js.map +1 -1
  20. package/dist/tools/index.d.ts.map +1 -1
  21. package/dist/tools/index.js +42 -0
  22. package/dist/tools/index.js.map +1 -1
  23. package/dist/tools/mempool.tools.d.ts +13 -0
  24. package/dist/tools/mempool.tools.d.ts.map +1 -0
  25. package/dist/tools/mempool.tools.js +125 -0
  26. package/dist/tools/mempool.tools.js.map +1 -0
  27. package/dist/tools/relay-diagnostic.tools.d.ts.map +1 -1
  28. package/dist/tools/relay-diagnostic.tools.js +67 -4
  29. package/dist/tools/relay-diagnostic.tools.js.map +1 -1
  30. package/dist/tools/signing.tools.d.ts.map +1 -1
  31. package/dist/tools/signing.tools.js +19 -6
  32. package/dist/tools/signing.tools.js.map +1 -1
  33. package/dist/tools/skill-mappings.d.ts +15 -0
  34. package/dist/tools/skill-mappings.d.ts.map +1 -0
  35. package/dist/tools/skill-mappings.js +237 -0
  36. package/dist/tools/skill-mappings.js.map +1 -0
  37. package/dist/tools/tenero.tools.d.ts +22 -0
  38. package/dist/tools/tenero.tools.d.ts.map +1 -0
  39. package/dist/tools/tenero.tools.js +318 -0
  40. package/dist/tools/tenero.tools.js.map +1 -0
  41. package/dist/utils/relay-health.d.ts +28 -0
  42. package/dist/utils/relay-health.d.ts.map +1 -1
  43. package/dist/utils/relay-health.js +157 -7
  44. package/dist/utils/relay-health.js.map +1 -1
  45. package/package.json +1 -1
  46. package/skill/SKILL.md +1 -1
package/README.md CHANGED
@@ -220,6 +220,13 @@ Both addresses are derived from the same recovery phrase, making it easy to mana
220
220
  | `get_cardinal_utxos` | UTXOs safe to spend (no inscriptions) |
221
221
  | `get_ordinal_utxos` | UTXOs containing inscriptions |
222
222
 
223
+ ### Mempool Watch (Bitcoin)
224
+ | Tool | Description |
225
+ |------|-------------|
226
+ | `get_btc_mempool_info` | Get current Bitcoin mempool statistics (tx count, vsize, fees, fee histogram) |
227
+ | `get_btc_transaction_status` | Get confirmation status and details for a Bitcoin transaction by txid |
228
+ | `get_btc_address_txs` | Get recent transaction history for a Bitcoin address (last 25 transactions) |
229
+
223
230
  ### Bitcoin Inscriptions
224
231
  | Tool | Description |
225
232
  |------|-------------|
@@ -51,11 +51,11 @@ export declare const ZEST_ASSETS: Record<string, ZestAssetConfig>;
51
51
  * Known contract addresses for testnet
52
52
  */
53
53
  export declare const TESTNET_CONTRACTS: {
54
- readonly SBTC_TOKEN: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token";
55
- readonly SBTC_DEPOSIT: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-deposit";
56
- readonly SBTC_REGISTRY: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-registry";
57
- readonly SBTC_WITHDRAWAL: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-withdrawal";
58
- readonly USDCX: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
54
+ readonly SBTC_TOKEN: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token";
55
+ readonly SBTC_DEPOSIT: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-deposit";
56
+ readonly SBTC_REGISTRY: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-registry";
57
+ readonly SBTC_WITHDRAWAL: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-withdrawal";
58
+ readonly USDCX: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx";
59
59
  readonly BNS: "ST000000000000000000002AMW42H.bns";
60
60
  readonly POX_4: "ST000000000000000000002AMW42H.pox-4";
61
61
  readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2";
@@ -90,11 +90,11 @@ export declare function getContracts(network: Network): {
90
90
  readonly REPUTATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.reputation-registry-v2";
91
91
  readonly VALIDATION_REGISTRY: "SP1NMR7MY0TJ1QA7WQBZ6504KC79PZNTRQH4YGFJD.validation-registry-v2";
92
92
  } | {
93
- readonly SBTC_TOKEN: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token";
94
- readonly SBTC_DEPOSIT: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-deposit";
95
- readonly SBTC_REGISTRY: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-registry";
96
- readonly SBTC_WITHDRAWAL: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-withdrawal";
97
- readonly USDCX: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
93
+ readonly SBTC_TOKEN: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token";
94
+ readonly SBTC_DEPOSIT: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-deposit";
95
+ readonly SBTC_REGISTRY: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-registry";
96
+ readonly SBTC_WITHDRAWAL: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-withdrawal";
97
+ readonly USDCX: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx";
98
98
  readonly BNS: "ST000000000000000000002AMW42H.bns";
99
99
  readonly POX_4: "ST000000000000000000002AMW42H.pox-4";
100
100
  readonly IDENTITY_REGISTRY: "ST3YT0XW92E6T2FE59B2G5N2WNNFSBZ6MZKQS5D18.identity-registry-v2";
@@ -122,8 +122,8 @@ export declare const WELL_KNOWN_TOKENS: {
122
122
  };
123
123
  readonly testnet: {
124
124
  readonly STX: "native";
125
- readonly sBTC: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token";
126
- readonly USDCx: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
125
+ readonly sBTC: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token";
126
+ readonly USDCx: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx";
127
127
  };
128
128
  };
129
129
  /**
@@ -149,8 +149,8 @@ export declare function getWellKnownTokens(network: Network): {
149
149
  readonly wSTX: "SP3K8BC0PPEVCV7NZ6QSRWPQ2JE9E5B6N3PA0KBR9.token-wstx-v2";
150
150
  } | {
151
151
  readonly STX: "native";
152
- readonly sBTC: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token";
153
- readonly USDCx: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx";
152
+ readonly sBTC: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token";
153
+ readonly USDCx: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx";
154
154
  };
155
155
  /**
156
156
  * Bitflow DEX contract addresses
@@ -102,13 +102,13 @@ export const ZEST_ASSETS = {
102
102
  * Known contract addresses for testnet
103
103
  */
104
104
  export const TESTNET_CONTRACTS = {
105
- // sBTC (testnet)
106
- SBTC_TOKEN: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-token",
107
- SBTC_DEPOSIT: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-deposit",
108
- SBTC_REGISTRY: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-registry",
109
- SBTC_WITHDRAWAL: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.sbtc-withdrawal",
110
- // Stablecoins
111
- USDCX: "ST1PQHQKV0RJXZFY1DGX8MNSNYVE3VGZJSRTPGZGM.usdcx",
105
+ // sBTC (testnet) — ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT is the testnet sBTC deployer
106
+ SBTC_TOKEN: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-token",
107
+ SBTC_DEPOSIT: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-deposit",
108
+ SBTC_REGISTRY: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-registry",
109
+ SBTC_WITHDRAWAL: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.sbtc-withdrawal",
110
+ // Stablecoins (testnet — no known testnet USDCx deployment yet, placeholder)
111
+ USDCX: "ST1F7QA2MDF17S807EPA36TSS8AMEFY4KA9TVGWXT.usdcx",
112
112
  // BNS
113
113
  BNS: "ST000000000000000000002AMW42H.bns",
114
114
  // Stacking
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/config/contracts.ts"],"names":[],"mappings":"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"}
@@ -59,6 +59,47 @@ export interface FeeEstimates {
59
59
  */
60
60
  minimumFee: number;
61
61
  }
62
+ /**
63
+ * Bitcoin transaction from mempool.space API
64
+ */
65
+ export interface MempoolTx {
66
+ txid: string;
67
+ version: number;
68
+ locktime: number;
69
+ size: number;
70
+ weight: number;
71
+ fee: number;
72
+ vin: Array<{
73
+ txid: string;
74
+ vout: number;
75
+ prevout?: {
76
+ value: number;
77
+ scriptpubkey_address?: string;
78
+ };
79
+ sequence: number;
80
+ is_coinbase: boolean;
81
+ }>;
82
+ vout: Array<{
83
+ value: number;
84
+ scriptpubkey_address?: string;
85
+ scriptpubkey_type: string;
86
+ }>;
87
+ status: {
88
+ confirmed: boolean;
89
+ block_height?: number;
90
+ block_hash?: string;
91
+ block_time?: number;
92
+ };
93
+ }
94
+ /**
95
+ * Mempool statistics from mempool.space API
96
+ */
97
+ export interface MempoolStats {
98
+ count: number;
99
+ vsize: number;
100
+ total_fee: number;
101
+ fee_histogram: Array<[number, number]>;
102
+ }
62
103
  /**
63
104
  * Simplified fee tiers for user selection
64
105
  */
@@ -185,6 +226,29 @@ export declare class MempoolApi {
185
226
  * ```
186
227
  */
187
228
  getTxHex(txid: string): Promise<string>;
229
+ /**
230
+ * Get transaction details by txid
231
+ *
232
+ * @param txid - Bitcoin transaction ID (64 hex chars)
233
+ * @returns Transaction details including inputs, outputs, and confirmation status
234
+ * @throws Error if API request fails
235
+ */
236
+ getTx(txid: string): Promise<MempoolTx>;
237
+ /**
238
+ * Get confirmed transaction history for a Bitcoin address (up to 25 most recent)
239
+ *
240
+ * @param address - Bitcoin address
241
+ * @returns Array of transactions (most recent first)
242
+ * @throws Error if API request fails
243
+ */
244
+ getAddressTxs(address: string): Promise<MempoolTx[]>;
245
+ /**
246
+ * Get current mempool statistics
247
+ *
248
+ * @returns Mempool stats including transaction count, vsize, total fee, and fee histogram
249
+ * @throws Error if API request fails
250
+ */
251
+ getMempoolStats(): Promise<MempoolStats>;
188
252
  /**
189
253
  * Get the network this client is configured for
190
254
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mempool-api.d.ts","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE;QACN,SAAS,EAAE,OAAO,CAAC;QACnB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAIzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAEtE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAE9E;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAU;gBAEtB,OAAO,EAAE,OAAO;IAK5B;;;;;;;;;;;;;OAaG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAchD;;;;;;;;;;;;OAYG;IACG,eAAe,IAAI,OAAO,CAAC,YAAY,CAAC;IAc9C;;;;;;;;;;OAUG;IACG,WAAW,IAAI,OAAO,CAAC,QAAQ,CAAC;IAStC;;;;;;OAMG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAKlD;;;;;;OAMG;IACG,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAO3D;;;;;;;;;;;;;OAaG;IACG,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAqB1D;;;;;;;;;;;;OAYG;IACG,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAc7C;;OAEG;IACH,UAAU,IAAI,OAAO;CAGtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,UAAU,CAE7D"}
1
+ {"version":3,"file":"mempool-api.d.ts","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
@@ -185,6 +185,50 @@ export class MempoolApi {
185
185
  const txHex = await response.text();
186
186
  return txHex.trim();
187
187
  }
188
+ /**
189
+ * Get transaction details by txid
190
+ *
191
+ * @param txid - Bitcoin transaction ID (64 hex chars)
192
+ * @returns Transaction details including inputs, outputs, and confirmation status
193
+ * @throws Error if API request fails
194
+ */
195
+ async getTx(txid) {
196
+ const response = await fetch(`${this.baseUrl}/tx/${txid}`);
197
+ if (!response.ok) {
198
+ const errorText = await response.text().catch(() => "Unknown error");
199
+ throw new Error(`Failed to fetch transaction ${txid}: ${response.status} ${response.statusText} - ${errorText}`);
200
+ }
201
+ return response.json();
202
+ }
203
+ /**
204
+ * Get confirmed transaction history for a Bitcoin address (up to 25 most recent)
205
+ *
206
+ * @param address - Bitcoin address
207
+ * @returns Array of transactions (most recent first)
208
+ * @throws Error if API request fails
209
+ */
210
+ async getAddressTxs(address) {
211
+ const response = await fetch(`${this.baseUrl}/address/${address}/txs`);
212
+ if (!response.ok) {
213
+ const errorText = await response.text().catch(() => "Unknown error");
214
+ throw new Error(`Failed to fetch transactions for ${address}: ${response.status} ${response.statusText} - ${errorText}`);
215
+ }
216
+ return response.json();
217
+ }
218
+ /**
219
+ * Get current mempool statistics
220
+ *
221
+ * @returns Mempool stats including transaction count, vsize, total fee, and fee histogram
222
+ * @throws Error if API request fails
223
+ */
224
+ async getMempoolStats() {
225
+ const response = await fetch(`${this.baseUrl}/mempool`);
226
+ if (!response.ok) {
227
+ const errorText = await response.text().catch(() => "Unknown error");
228
+ throw new Error(`Failed to fetch mempool stats: ${response.status} ${response.statusText} - ${errorText}`);
229
+ }
230
+ return response.json();
231
+ }
188
232
  /**
189
233
  * Get the network this client is configured for
190
234
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mempool-api.js","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mempool-api.js","sourceRoot":"","sources":["../../src/services/mempool-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Tenero API client for Stacks ecosystem market analytics
3
+ *
4
+ * Public API at https://api.tenero.io — no authentication required.
5
+ * Formerly known as STXTools. Covers Stacks, Spark, and SportsFun chains.
6
+ *
7
+ * Endpoint pattern: /v1/{chain}/{resource}
8
+ * Default chain: stacks
9
+ */
10
+ /**
11
+ * Get token details including metadata, price, and volume.
12
+ * @param contractId - Token contract address (e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex)
13
+ * @param chain - Chain to query (default: stacks)
14
+ */
15
+ export declare function getTokenInfo(contractId: string, chain?: string): Promise<unknown>;
16
+ /**
17
+ * Get token market summary including price history, volume, and pool liquidity.
18
+ * @param contractId - Token contract address
19
+ * @param chain - Chain to query (default: stacks)
20
+ */
21
+ export declare function getMarketSummary(contractId: string, chain?: string): Promise<unknown>;
22
+ /**
23
+ * Get overall market statistics: volume, active traders, netflow.
24
+ * @param chain - Chain to query (default: stacks)
25
+ */
26
+ export declare function getMarketStats(chain?: string): Promise<unknown>;
27
+ /**
28
+ * Get top gaining tokens by price change percentage.
29
+ * @param limit - Maximum number of results (default: 10)
30
+ * @param chain - Chain to query (default: stacks)
31
+ */
32
+ export declare function getTopGainers(limit?: number, chain?: string): Promise<unknown>;
33
+ /**
34
+ * Get top losing tokens by price change percentage.
35
+ * @param limit - Maximum number of results (default: 10)
36
+ * @param chain - Chain to query (default: stacks)
37
+ */
38
+ export declare function getTopLosers(limit?: number, chain?: string): Promise<unknown>;
39
+ /**
40
+ * Get trending DEX pools by volume within the last hour.
41
+ * @param limit - Maximum number of results (default: 10)
42
+ * @param chain - Chain to query (default: stacks)
43
+ */
44
+ export declare function getTrendingPools(limit?: number, chain?: string): Promise<unknown>;
45
+ /**
46
+ * Get wallet trade history.
47
+ * @param address - Stacks address to query
48
+ * @param limit - Maximum number of results (default: 20)
49
+ * @param chain - Chain to query (default: stacks)
50
+ */
51
+ export declare function getWalletTrades(address: string, limit?: number, chain?: string): Promise<unknown>;
52
+ /**
53
+ * Get wallet token holdings with current value.
54
+ * @param address - Stacks address to query
55
+ * @param chain - Chain to query (default: stacks)
56
+ */
57
+ export declare function getWalletHoldings(address: string, chain?: string): Promise<unknown>;
58
+ /**
59
+ * Get recent large/whale trades above threshold value.
60
+ * @param limit - Maximum number of results (default: 10)
61
+ * @param chain - Chain to query (default: stacks)
62
+ */
63
+ export declare function getWhaleTrades(limit?: number, chain?: string): Promise<unknown>;
64
+ /**
65
+ * Get token holder distribution and statistics.
66
+ * @param contractId - Token contract address
67
+ * @param chain - Chain to query (default: stacks)
68
+ */
69
+ export declare function getHolderStats(contractId: string, chain?: string): Promise<unknown>;
70
+ /**
71
+ * Search tokens, pools, and wallets by name or address.
72
+ * @param query - Search query string
73
+ * @param chain - Chain to query (default: stacks)
74
+ */
75
+ export declare function searchTokens(query: string, chain?: string): Promise<unknown>;
76
+ //# sourceMappingURL=tenero-api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenero-api.d.ts","sourceRoot":"","sources":["../../src/services/tenero-api.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAkBH;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;GAGG;AACH,wBAAsB,cAAc,CAAC,KAAK,SAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEvE;AAED;;;;GAIG;AACH,wBAAsB,aAAa,CACjC,KAAK,SAAK,EACV,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,SAAK,EACV,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,KAAK,SAAK,EACV,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,KAAK,SAAK,EACV,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,MAAM,EACf,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,KAAK,SAAK,EACV,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,cAAc,CAClC,UAAU,EAAE,MAAM,EAClB,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAElB;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,KAAK,EAAE,MAAM,EACb,KAAK,SAAW,GACf,OAAO,CAAC,OAAO,CAAC,CAIlB"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Tenero API client for Stacks ecosystem market analytics
3
+ *
4
+ * Public API at https://api.tenero.io — no authentication required.
5
+ * Formerly known as STXTools. Covers Stacks, Spark, and SportsFun chains.
6
+ *
7
+ * Endpoint pattern: /v1/{chain}/{resource}
8
+ * Default chain: stacks
9
+ */
10
+ const TENERO_BASE = "https://api.tenero.io";
11
+ async function fetchTenero(path) {
12
+ const response = await fetch(`${TENERO_BASE}${path}`);
13
+ if (!response.ok) {
14
+ const text = await response.text().catch(() => "Unknown error");
15
+ throw new Error(`Tenero API error ${response.status}: ${text}`);
16
+ }
17
+ const json = (await response.json());
18
+ return json.data;
19
+ }
20
+ /**
21
+ * Get token details including metadata, price, and volume.
22
+ * @param contractId - Token contract address (e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex)
23
+ * @param chain - Chain to query (default: stacks)
24
+ */
25
+ export async function getTokenInfo(contractId, chain = "stacks") {
26
+ return fetchTenero(`/v1/${chain}/tokens/${contractId}`);
27
+ }
28
+ /**
29
+ * Get token market summary including price history, volume, and pool liquidity.
30
+ * @param contractId - Token contract address
31
+ * @param chain - Chain to query (default: stacks)
32
+ */
33
+ export async function getMarketSummary(contractId, chain = "stacks") {
34
+ return fetchTenero(`/v1/${chain}/tokens/${contractId}/market_summary`);
35
+ }
36
+ /**
37
+ * Get overall market statistics: volume, active traders, netflow.
38
+ * @param chain - Chain to query (default: stacks)
39
+ */
40
+ export async function getMarketStats(chain = "stacks") {
41
+ return fetchTenero(`/v1/${chain}/market/stats`);
42
+ }
43
+ /**
44
+ * Get top gaining tokens by price change percentage.
45
+ * @param limit - Maximum number of results (default: 10)
46
+ * @param chain - Chain to query (default: stacks)
47
+ */
48
+ export async function getTopGainers(limit = 10, chain = "stacks") {
49
+ return fetchTenero(`/v1/${chain}/market/top_gainers?limit=${limit}`);
50
+ }
51
+ /**
52
+ * Get top losing tokens by price change percentage.
53
+ * @param limit - Maximum number of results (default: 10)
54
+ * @param chain - Chain to query (default: stacks)
55
+ */
56
+ export async function getTopLosers(limit = 10, chain = "stacks") {
57
+ return fetchTenero(`/v1/${chain}/market/top_losers?limit=${limit}`);
58
+ }
59
+ /**
60
+ * Get trending DEX pools by volume within the last hour.
61
+ * @param limit - Maximum number of results (default: 10)
62
+ * @param chain - Chain to query (default: stacks)
63
+ */
64
+ export async function getTrendingPools(limit = 10, chain = "stacks") {
65
+ return fetchTenero(`/v1/${chain}/pools/trending/1h?limit=${limit}`);
66
+ }
67
+ /**
68
+ * Get wallet trade history.
69
+ * @param address - Stacks address to query
70
+ * @param limit - Maximum number of results (default: 20)
71
+ * @param chain - Chain to query (default: stacks)
72
+ */
73
+ export async function getWalletTrades(address, limit = 20, chain = "stacks") {
74
+ return fetchTenero(`/v1/${chain}/wallets/${address}/trades?limit=${limit}`);
75
+ }
76
+ /**
77
+ * Get wallet token holdings with current value.
78
+ * @param address - Stacks address to query
79
+ * @param chain - Chain to query (default: stacks)
80
+ */
81
+ export async function getWalletHoldings(address, chain = "stacks") {
82
+ return fetchTenero(`/v1/${chain}/wallets/${address}/holdings_value`);
83
+ }
84
+ /**
85
+ * Get recent large/whale trades above threshold value.
86
+ * @param limit - Maximum number of results (default: 10)
87
+ * @param chain - Chain to query (default: stacks)
88
+ */
89
+ export async function getWhaleTrades(limit = 10, chain = "stacks") {
90
+ return fetchTenero(`/v1/${chain}/market/whale_trades?limit=${limit}`);
91
+ }
92
+ /**
93
+ * Get token holder distribution and statistics.
94
+ * @param contractId - Token contract address
95
+ * @param chain - Chain to query (default: stacks)
96
+ */
97
+ export async function getHolderStats(contractId, chain = "stacks") {
98
+ return fetchTenero(`/v1/${chain}/tokens/${contractId}/holder_stats`);
99
+ }
100
+ /**
101
+ * Search tokens, pools, and wallets by name or address.
102
+ * @param query - Search query string
103
+ * @param chain - Chain to query (default: stacks)
104
+ */
105
+ export async function searchTokens(query, chain = "stacks") {
106
+ return fetchTenero(`/v1/${chain}/search?q=${encodeURIComponent(query)}`);
107
+ }
108
+ //# sourceMappingURL=tenero-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenero-api.js","sourceRoot":"","sources":["../../src/services/tenero-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ export declare function registerDualStackingTools(server: McpServer): void;
3
+ //# sourceMappingURL=dual-stacking.tools.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dual-stacking.tools.d.ts","sourceRoot":"","sources":["../../src/tools/dual-stacking.tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AA+DpE,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAySjE"}