@aibtc/mcp-server 1.35.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 (38) 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 +9 -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/signing.tools.d.ts.map +1 -1
  28. package/dist/tools/signing.tools.js +19 -6
  29. package/dist/tools/signing.tools.js.map +1 -1
  30. package/dist/tools/skill-mappings.d.ts.map +1 -1
  31. package/dist/tools/skill-mappings.js +8 -0
  32. package/dist/tools/skill-mappings.js.map +1 -1
  33. package/dist/tools/tenero.tools.d.ts +22 -0
  34. package/dist/tools/tenero.tools.d.ts.map +1 -0
  35. package/dist/tools/tenero.tools.js +318 -0
  36. package/dist/tools/tenero.tools.js.map +1 -0
  37. package/package.json +1 -1
  38. package/skill/SKILL.md +1 -1
@@ -0,0 +1,318 @@
1
+ /**
2
+ * Tenero market analytics tools
3
+ *
4
+ * Read-only MCP tools for Stacks ecosystem market data via the Tenero API
5
+ * (formerly STXTools) at https://api.tenero.io. No authentication required.
6
+ *
7
+ * Tools:
8
+ * - tenero_token_info — Token metadata, price, and volume
9
+ * - tenero_market_summary — Price history and pool liquidity for a token
10
+ * - tenero_market_stats — Overall market volume, netflow, and active traders
11
+ * - tenero_top_gainers — Top gaining tokens by 24h price change
12
+ * - tenero_top_losers — Top losing tokens by 24h price change
13
+ * - tenero_trending_pools — Trending DEX liquidity pools by 1h volume
14
+ * - tenero_wallet_trades — Trade history for a wallet address
15
+ * - tenero_wallet_holdings — Token holdings with current USD value for a wallet
16
+ * - tenero_whale_trades — Recent large trades above threshold value
17
+ * - tenero_holder_stats — Token holder distribution and concentration stats
18
+ * - tenero_search — Search tokens, pools, and wallets by name or address
19
+ */
20
+ import { z } from "zod";
21
+ import { createJsonResponse, createErrorResponse } from "../utils/index.js";
22
+ import { getTokenInfo, getMarketSummary, getMarketStats, getTopGainers, getTopLosers, getTrendingPools, getWalletTrades, getWalletHoldings, getWhaleTrades, getHolderStats, searchTokens, } from "../services/tenero-api.js";
23
+ export function registerTeneroTools(server) {
24
+ // Token info
25
+ server.registerTool("tenero_token_info", {
26
+ description: "Get token details including metadata, current price, market cap, and 24h volume. " +
27
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
28
+ inputSchema: {
29
+ contractId: z
30
+ .string()
31
+ .describe("Token contract address in format PRINCIPAL.contract-name " +
32
+ "(e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex)"),
33
+ chain: z
34
+ .string()
35
+ .optional()
36
+ .default("stacks")
37
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
38
+ },
39
+ }, async ({ contractId, chain }) => {
40
+ try {
41
+ const data = await getTokenInfo(contractId, chain);
42
+ return createJsonResponse(data);
43
+ }
44
+ catch (error) {
45
+ return createErrorResponse(error);
46
+ }
47
+ });
48
+ // Market summary (per token)
49
+ server.registerTool("tenero_market_summary", {
50
+ description: "Get token market summary including price history, 24h volume, and pool liquidity. " +
51
+ "Returns weighted price across all pools trading this token. " +
52
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
53
+ inputSchema: {
54
+ contractId: z
55
+ .string()
56
+ .describe("Token contract address in format PRINCIPAL.contract-name " +
57
+ "(e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex)"),
58
+ chain: z
59
+ .string()
60
+ .optional()
61
+ .default("stacks")
62
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
63
+ },
64
+ }, async ({ contractId, chain }) => {
65
+ try {
66
+ const data = await getMarketSummary(contractId, chain);
67
+ return createJsonResponse(data);
68
+ }
69
+ catch (error) {
70
+ return createErrorResponse(error);
71
+ }
72
+ });
73
+ // Overall market stats
74
+ server.registerTool("tenero_market_stats", {
75
+ description: "Get overall Stacks ecosystem market statistics including total volume, " +
76
+ "buy/sell netflow, unique traders, and active pools. " +
77
+ "Returns a time series of daily stats for recent periods. " +
78
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
79
+ inputSchema: {
80
+ chain: z
81
+ .string()
82
+ .optional()
83
+ .default("stacks")
84
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
85
+ },
86
+ }, async ({ chain }) => {
87
+ try {
88
+ const data = await getMarketStats(chain);
89
+ return createJsonResponse(data);
90
+ }
91
+ catch (error) {
92
+ return createErrorResponse(error);
93
+ }
94
+ });
95
+ // Top gainers
96
+ server.registerTool("tenero_top_gainers", {
97
+ description: "List top gaining tokens by 24h price change percentage on the Stacks ecosystem. " +
98
+ "Useful for spotting momentum and trending assets. " +
99
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
100
+ inputSchema: {
101
+ limit: z
102
+ .number()
103
+ .int()
104
+ .min(1)
105
+ .max(50)
106
+ .optional()
107
+ .default(10)
108
+ .describe("Maximum number of tokens to return (default: 10, max: 50)"),
109
+ chain: z
110
+ .string()
111
+ .optional()
112
+ .default("stacks")
113
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
114
+ },
115
+ }, async ({ limit, chain }) => {
116
+ try {
117
+ const data = await getTopGainers(limit, chain);
118
+ return createJsonResponse(data);
119
+ }
120
+ catch (error) {
121
+ return createErrorResponse(error);
122
+ }
123
+ });
124
+ // Top losers
125
+ server.registerTool("tenero_top_losers", {
126
+ description: "List top losing tokens by 24h price change percentage on the Stacks ecosystem. " +
127
+ "Useful for identifying underperforming assets or potential reversal candidates. " +
128
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
129
+ inputSchema: {
130
+ limit: z
131
+ .number()
132
+ .int()
133
+ .min(1)
134
+ .max(50)
135
+ .optional()
136
+ .default(10)
137
+ .describe("Maximum number of tokens to return (default: 10, max: 50)"),
138
+ chain: z
139
+ .string()
140
+ .optional()
141
+ .default("stacks")
142
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
143
+ },
144
+ }, async ({ limit, chain }) => {
145
+ try {
146
+ const data = await getTopLosers(limit, chain);
147
+ return createJsonResponse(data);
148
+ }
149
+ catch (error) {
150
+ return createErrorResponse(error);
151
+ }
152
+ });
153
+ // Trending pools
154
+ server.registerTool("tenero_trending_pools", {
155
+ description: "List trending DEX liquidity pools by volume over the last hour. " +
156
+ "Includes pool platform, token pair, volume, and liquidity details. " +
157
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
158
+ inputSchema: {
159
+ limit: z
160
+ .number()
161
+ .int()
162
+ .min(1)
163
+ .max(50)
164
+ .optional()
165
+ .default(10)
166
+ .describe("Maximum number of pools to return (default: 10, max: 50)"),
167
+ chain: z
168
+ .string()
169
+ .optional()
170
+ .default("stacks")
171
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
172
+ },
173
+ }, async ({ limit, chain }) => {
174
+ try {
175
+ const data = await getTrendingPools(limit, chain);
176
+ return createJsonResponse(data);
177
+ }
178
+ catch (error) {
179
+ return createErrorResponse(error);
180
+ }
181
+ });
182
+ // Wallet trades
183
+ server.registerTool("tenero_wallet_trades", {
184
+ description: "Get trade history for a Stacks wallet address. " +
185
+ "Returns recent buy/sell events with token, pool, and USD value details. " +
186
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
187
+ inputSchema: {
188
+ address: z
189
+ .string()
190
+ .describe("Stacks wallet address (SP... or SM...)"),
191
+ limit: z
192
+ .number()
193
+ .int()
194
+ .min(1)
195
+ .max(100)
196
+ .optional()
197
+ .default(20)
198
+ .describe("Maximum number of trades to return (default: 20, max: 100)"),
199
+ chain: z
200
+ .string()
201
+ .optional()
202
+ .default("stacks")
203
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
204
+ },
205
+ }, async ({ address, limit, chain }) => {
206
+ try {
207
+ const data = await getWalletTrades(address, limit, chain);
208
+ return createJsonResponse(data);
209
+ }
210
+ catch (error) {
211
+ return createErrorResponse(error);
212
+ }
213
+ });
214
+ // Wallet holdings
215
+ server.registerTool("tenero_wallet_holdings", {
216
+ description: "Get token holdings with current USD value for a Stacks wallet address. " +
217
+ "Shows portfolio composition including token balances and estimated values. " +
218
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
219
+ inputSchema: {
220
+ address: z
221
+ .string()
222
+ .describe("Stacks wallet address (SP... or SM...)"),
223
+ chain: z
224
+ .string()
225
+ .optional()
226
+ .default("stacks")
227
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
228
+ },
229
+ }, async ({ address, chain }) => {
230
+ try {
231
+ const data = await getWalletHoldings(address, chain);
232
+ return createJsonResponse(data);
233
+ }
234
+ catch (error) {
235
+ return createErrorResponse(error);
236
+ }
237
+ });
238
+ // Whale trades
239
+ server.registerTool("tenero_whale_trades", {
240
+ description: "Get recent large/whale trades above threshold value on the Stacks ecosystem. " +
241
+ "Useful for tracking smart money and large market movements. " +
242
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
243
+ inputSchema: {
244
+ limit: z
245
+ .number()
246
+ .int()
247
+ .min(1)
248
+ .max(50)
249
+ .optional()
250
+ .default(10)
251
+ .describe("Maximum number of whale trades to return (default: 10, max: 50)"),
252
+ chain: z
253
+ .string()
254
+ .optional()
255
+ .default("stacks")
256
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
257
+ },
258
+ }, async ({ limit, chain }) => {
259
+ try {
260
+ const data = await getWhaleTrades(limit, chain);
261
+ return createJsonResponse(data);
262
+ }
263
+ catch (error) {
264
+ return createErrorResponse(error);
265
+ }
266
+ });
267
+ // Holder stats
268
+ server.registerTool("tenero_holder_stats", {
269
+ description: "Get token holder distribution and concentration statistics. " +
270
+ "Shows total holders, top holder percentages, and Gini coefficient. " +
271
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
272
+ inputSchema: {
273
+ contractId: z
274
+ .string()
275
+ .describe("Token contract address in format PRINCIPAL.contract-name " +
276
+ "(e.g. SP102V8P0F7JX67ARQ77WEA3D3CFB5XW39REDT0AM.token-alex)"),
277
+ chain: z
278
+ .string()
279
+ .optional()
280
+ .default("stacks")
281
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
282
+ },
283
+ }, async ({ contractId, chain }) => {
284
+ try {
285
+ const data = await getHolderStats(contractId, chain);
286
+ return createJsonResponse(data);
287
+ }
288
+ catch (error) {
289
+ return createErrorResponse(error);
290
+ }
291
+ });
292
+ // Search
293
+ server.registerTool("tenero_search", {
294
+ description: "Search tokens, pools, and wallets by name, symbol, or contract address. " +
295
+ "Returns matching tokens with metadata and pricing information. " +
296
+ "Powered by the Tenero API (api.tenero.io). No authentication required.",
297
+ inputSchema: {
298
+ query: z
299
+ .string()
300
+ .min(1)
301
+ .describe("Search query: token name, symbol, or contract address"),
302
+ chain: z
303
+ .string()
304
+ .optional()
305
+ .default("stacks")
306
+ .describe("Chain to query: stacks, spark, or sportsfun (default: stacks)"),
307
+ },
308
+ }, async ({ query, chain }) => {
309
+ try {
310
+ const data = await searchTokens(query, chain);
311
+ return createJsonResponse(data);
312
+ }
313
+ catch (error) {
314
+ return createErrorResponse(error);
315
+ }
316
+ });
317
+ }
318
+ //# sourceMappingURL=tenero.tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tenero.tools.js","sourceRoot":"","sources":["../../src/tools/tenero.tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aibtc/mcp-server",
3
- "version": "1.35.0",
3
+ "version": "1.36.0",
4
4
  "description": "Bitcoin-native MCP server for AI agents: BTC/STX wallets, DeFi yield, sBTC peg, NFTs, and x402 payments.",
5
5
  "mcpName": "io.github.aibtcdev/mcp-server",
6
6
  "type": "module",
package/skill/SKILL.md CHANGED
@@ -4,7 +4,7 @@ description: Bitcoin L1 wallet for agents - check balances, send BTC, manage UTX
4
4
  license: MIT
5
5
  metadata:
6
6
  author: aibtcdev
7
- version: 1.35.0 # x-release-please-version
7
+ version: 1.36.0 # x-release-please-version
8
8
  npm: "@aibtc/mcp-server"
9
9
  github: https://github.com/aibtcdev/aibtc-mcp-server
10
10
  ---