@missionsquad/mcp-defillama 1.1.0 → 1.2.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.
package/dist/tools.js CHANGED
@@ -1,23 +1,48 @@
1
1
  import { getProtocolsHandler, getProtocolTvlHandler, getHistoricalChainTvlHandler, getChainTvlHandler, getCurrentProtocolTvlHandler, getChainsHandler, getTokenPricesHandler, getHistoricalPricesHandler, getBatchHistoricalPricesHandler, getPriceChartHandler, getPricePercentageChangeHandler, getFirstPricesHandler, getBlockHandler, getStablecoinsHandler, getStablecoinChartsAllHandler, getStablecoinChartsChainHandler, getStablecoinDataHandler, getStablecoinChainsHandler, getStablecoinPricesHandler, getPoolsHandler, getPoolChartHandler, getDexsOverviewHandler, getDexsOverviewByChainHandler, getDexSummaryHandler, getOptionsOverviewHandler, getOptionsOverviewByChainHandler, getOptionSummaryHandler, getOpenInterestOverviewHandler, getFeesOverviewHandler, getFeesOverviewByChainHandler, getFeeSummaryHandler } from "./handlers/defillama.js";
2
+ // ---------------------------------------------------------------------------
3
+ // Reusable property fragments
4
+ // ---------------------------------------------------------------------------
5
+ // Responses are compacted by default; these optional controls fetch more.
6
+ const fullProp = {
7
+ full: { type: "boolean", description: "Optional. Return the complete untrimmed response (default false)" }
8
+ };
9
+ const pointsProp = {
10
+ points: { type: "number", description: "Optional. Max time-series data points to return (default 30)" }
11
+ };
12
+ const limitProp = {
13
+ limit: { type: "number", description: "Optional. Max number of items to return" }
14
+ };
15
+ const includeTokensProp = {
16
+ includeTokens: { type: "boolean", description: "Optional. Include token-level breakdowns (default false)" }
17
+ };
18
+ const dateTimeProp = (extra = "") => ({
19
+ type: "string",
20
+ description: `12-hour datetime string, e.g. "06/15/2024 03:30 PM" (UTC assumed), ` +
21
+ `or with a timezone "06/15/2024 03:30 PM America/New_York" / "+05:30". ` +
22
+ `UNIX seconds are also accepted.${extra}`
23
+ });
24
+ const coinsProperty = {
25
+ type: "array",
26
+ description: "Coin identifiers, e.g. \"ethereum:0xc02aaa...\" or \"coingecko:ethereum\"",
27
+ items: { type: "string" }
28
+ };
2
29
  // Query options shared by the DEX/options/fees overview & summary endpoints.
3
30
  const overviewProperties = {
31
+ dataType: {
32
+ type: "string",
33
+ description: "Optional. Metric to return (e.g. dailyVolume, dailyFees, dailyRevenue)"
34
+ },
4
35
  excludeTotalDataChart: {
5
36
  type: "boolean",
6
- description: "Exclude the aggregated chart from the response"
37
+ description: "Optional. Exclude the aggregated chart (default true; set false to include)"
7
38
  },
8
39
  excludeTotalDataChartBreakdown: {
9
40
  type: "boolean",
10
- description: "Exclude the broken-down chart from the response"
41
+ description: "Optional. Exclude the broken-down chart (default true; set false to include)"
11
42
  },
12
- dataType: {
13
- type: "string",
14
- description: "Metric to return (e.g. dailyVolume, dailyFees, dailyRevenue)"
15
- }
16
- };
17
- const coinsProperty = {
18
- type: "array",
19
- description: "Coin identifiers, e.g. \"ethereum:0xc02aaa...\" or \"coingecko:ethereum\"",
20
- items: { type: "string" }
43
+ ...pointsProp,
44
+ ...limitProp,
45
+ ...fullProp
21
46
  };
22
47
  export const tools = [
23
48
  // -------------------------------------------------------------------------
@@ -25,35 +50,58 @@ export const tools = [
25
50
  // -------------------------------------------------------------------------
26
51
  {
27
52
  name: "defillama_get_protocols",
28
- description: "List all protocols tracked by DefiLlama along with their TVL",
29
- inputSchema: { type: "object", properties: {}, required: [] }
53
+ description: "List all protocols tracked by DefiLlama with their TVL (trimmed to the top entries by TVL). " +
54
+ "Example: { \"limit\": 50 (optional), \"full\": false (optional) }",
55
+ inputSchema: {
56
+ type: "object",
57
+ properties: { ...limitProp, ...fullProp },
58
+ required: []
59
+ }
30
60
  },
31
61
  {
32
62
  name: "defillama_get_protocol_tvl",
33
- description: "Get the full historical TVL breakdown for a specific protocol",
63
+ description: "Get the historical TVL breakdown for a specific protocol. Returns current per-chain TVL and a " +
64
+ "downsampled TVL series by default. " +
65
+ "Example: { \"protocol\": \"aave\", \"points\": 60 (optional), \"includeTokens\": false (optional), \"full\": false (optional) }",
34
66
  inputSchema: {
35
67
  type: "object",
36
- properties: { protocol: { type: "string", description: "Protocol slug, e.g. aave" } },
68
+ properties: {
69
+ protocol: { type: "string", description: "Protocol slug, e.g. aave" },
70
+ ...pointsProp,
71
+ ...includeTokensProp,
72
+ ...fullProp
73
+ },
37
74
  required: ["protocol"]
38
75
  }
39
76
  },
40
77
  {
41
78
  name: "defillama_get_historical_chain_tvl",
42
- description: "Get historical TVL across all chains combined",
43
- inputSchema: { type: "object", properties: {}, required: [] }
79
+ description: "Get historical TVL across all chains combined (downsampled time series). " +
80
+ "Example: { \"points\": 30 (optional), \"full\": false (optional) }",
81
+ inputSchema: {
82
+ type: "object",
83
+ properties: { ...pointsProp, ...fullProp },
84
+ required: []
85
+ }
44
86
  },
45
87
  {
46
88
  name: "defillama_get_chain_tvl",
47
- description: "Get historical TVL data for a specific chain",
89
+ description: "Get historical TVL for a specific chain (downsampled time series). " +
90
+ "Example: { \"chain\": \"ethereum\", \"points\": 30 (optional), \"full\": false (optional) }",
48
91
  inputSchema: {
49
92
  type: "object",
50
- properties: { chain: { type: "string", description: "Chain name, e.g. ethereum" } },
93
+ properties: {
94
+ chain: { type: "string", description: "Chain name, e.g. ethereum" },
95
+ ...pointsProp,
96
+ ...fullProp
97
+ },
51
98
  required: ["chain"]
52
99
  }
53
100
  },
54
101
  {
55
102
  name: "defillama_get_current_protocol_tvl",
56
- description: "Get the current TVL of a protocol as a single number",
103
+ description: "Get the current TVL of a protocol as a single number. " +
104
+ "Example: { \"protocol\": \"aave\" }",
57
105
  inputSchema: {
58
106
  type: "object",
59
107
  properties: { protocol: { type: "string", description: "Protocol slug, e.g. aave" } },
@@ -62,15 +110,21 @@ export const tools = [
62
110
  },
63
111
  {
64
112
  name: "defillama_get_chains",
65
- description: "Get the current TVL of every chain tracked by DefiLlama",
66
- inputSchema: { type: "object", properties: {}, required: [] }
113
+ description: "Get the current TVL of every chain (trimmed to the top chains by TVL). " +
114
+ "Example: { \"limit\": 50 (optional), \"full\": false (optional) }",
115
+ inputSchema: {
116
+ type: "object",
117
+ properties: { ...limitProp, ...fullProp },
118
+ required: []
119
+ }
67
120
  },
68
121
  // -------------------------------------------------------------------------
69
122
  // Coins / Prices
70
123
  // -------------------------------------------------------------------------
71
124
  {
72
125
  name: "defillama_get_token_prices",
73
- description: "Get current prices of tokens by contract address",
126
+ description: "Get current prices of tokens by identifier. " +
127
+ "Example: { \"coins\": [\"ethereum:0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2\", \"coingecko:bitcoin\"] }",
74
128
  inputSchema: {
75
129
  type: "object",
76
130
  properties: { coins: coinsProperty },
@@ -79,65 +133,72 @@ export const tools = [
79
133
  },
80
134
  {
81
135
  name: "defillama_get_historical_prices",
82
- description: "Get token prices at a given historical timestamp",
136
+ description: "Get token prices at a given historical date/time. " +
137
+ "Example: { \"coins\": [\"coingecko:ethereum\"], \"timestamp\": \"06/15/2024 03:30 PM\" }",
83
138
  inputSchema: {
84
139
  type: "object",
85
140
  properties: {
86
141
  coins: coinsProperty,
87
- timestamp: { type: "number", description: "UNIX timestamp (seconds)" }
142
+ timestamp: dateTimeProp()
88
143
  },
89
144
  required: ["coins", "timestamp"]
90
145
  }
91
146
  },
92
147
  {
93
148
  name: "defillama_get_batch_historical_prices",
94
- description: "Get historical prices for multiple coins at multiple timestamps",
149
+ description: "Get historical prices for multiple coins at multiple dates/times. " +
150
+ "Example: { \"coins\": { \"coingecko:ethereum\": [\"06/15/2024 03:30 PM\", \"01/01/2024 12:00 AM UTC\"] }, \"searchWidth\": \"4h\" (optional) }",
95
151
  inputSchema: {
96
152
  type: "object",
97
153
  properties: {
98
154
  coins: {
99
155
  type: "object",
100
- description: "Map of coin identifier to an array of UNIX timestamps, e.g. {\"ethereum:0x..\":[1666876743]}",
101
- additionalProperties: { type: "array", items: { type: "number" } }
156
+ description: "Map of coin identifier to an array of datetime strings (or UNIX seconds)",
157
+ additionalProperties: { type: "array", items: { type: "string" } }
102
158
  },
103
- searchWidth: { type: "string", description: "Time range to search around each timestamp, e.g. 600 or 4h" }
159
+ searchWidth: { type: "string", description: "Optional. Time range to search around each timestamp, e.g. 600 or 4h" }
104
160
  },
105
161
  required: ["coins"]
106
162
  }
107
163
  },
108
164
  {
109
165
  name: "defillama_get_price_chart",
110
- description: "Get a price chart (token prices over time) for the given coins",
166
+ description: "Get a price chart (token prices over time) for the given coins. " +
167
+ "Example: { \"coins\": [\"coingecko:ethereum\"], \"start\": \"01/01/2024 12:00 AM\" (optional), \"span\": 30 (optional), \"period\": \"2d\" (optional), \"points\": 30 (optional), \"full\": false (optional) }",
111
168
  inputSchema: {
112
169
  type: "object",
113
170
  properties: {
114
171
  coins: coinsProperty,
115
- start: { type: "number", description: "Start UNIX timestamp (seconds)" },
116
- end: { type: "number", description: "End UNIX timestamp (seconds)" },
117
- span: { type: "number", description: "Number of data points to return" },
118
- period: { type: "string", description: "Duration between data points, e.g. 2d, 1h" },
119
- searchWidth: { type: "string", description: "Time range to search around each point" }
172
+ start: dateTimeProp(" Optional start of the range."),
173
+ end: dateTimeProp(" Optional end of the range."),
174
+ span: { type: "number", description: "Optional. Number of data points to return" },
175
+ period: { type: "string", description: "Optional. Duration between data points, e.g. 2d, 1h" },
176
+ searchWidth: { type: "string", description: "Optional. Time range to search around each point" },
177
+ ...pointsProp,
178
+ ...fullProp
120
179
  },
121
180
  required: ["coins"]
122
181
  }
123
182
  },
124
183
  {
125
184
  name: "defillama_get_price_percentage_change",
126
- description: "Get the percentage price change for the given coins over a period",
185
+ description: "Get the percentage price change for the given coins over a period. " +
186
+ "Example: { \"coins\": [\"coingecko:ethereum\"], \"timestamp\": \"06/15/2024 03:30 PM\" (optional), \"period\": \"3w\" (optional), \"lookForward\": false (optional) }",
127
187
  inputSchema: {
128
188
  type: "object",
129
189
  properties: {
130
190
  coins: coinsProperty,
131
- timestamp: { type: "number", description: "Reference UNIX timestamp (defaults to now)" },
132
- lookForward: { type: "boolean", description: "Look forward from the timestamp instead of backward" },
133
- period: { type: "string", description: "Duration to measure the change over, e.g. 3w, 1d" }
191
+ timestamp: dateTimeProp(" Optional reference time (defaults to now)."),
192
+ lookForward: { type: "boolean", description: "Optional. Look forward from the timestamp instead of backward" },
193
+ period: { type: "string", description: "Optional. Duration to measure the change over, e.g. 3w, 1d" }
134
194
  },
135
195
  required: ["coins"]
136
196
  }
137
197
  },
138
198
  {
139
199
  name: "defillama_get_first_prices",
140
- description: "Get the earliest recorded price for the given coins",
200
+ description: "Get the earliest recorded price for the given coins. " +
201
+ "Example: { \"coins\": [\"coingecko:ethereum\"] }",
141
202
  inputSchema: {
142
203
  type: "object",
143
204
  properties: { coins: coinsProperty },
@@ -146,12 +207,13 @@ export const tools = [
146
207
  },
147
208
  {
148
209
  name: "defillama_get_block",
149
- description: "Get the block height closest to a timestamp on a given chain",
210
+ description: "Get the block height closest to a date/time on a given chain. " +
211
+ "Example: { \"chain\": \"ethereum\", \"timestamp\": \"06/15/2024 03:30 PM\" }",
150
212
  inputSchema: {
151
213
  type: "object",
152
214
  properties: {
153
215
  chain: { type: "string", description: "Chain name, e.g. ethereum" },
154
- timestamp: { type: "number", description: "UNIX timestamp (seconds)" }
216
+ timestamp: dateTimeProp()
155
217
  },
156
218
  required: ["chain", "timestamp"]
157
219
  }
@@ -161,67 +223,105 @@ export const tools = [
161
223
  // -------------------------------------------------------------------------
162
224
  {
163
225
  name: "defillama_get_stablecoins",
164
- description: "List all stablecoins with their circulating amounts",
226
+ description: "List stablecoins with their circulating amounts (trimmed to the largest by circulating supply). " +
227
+ "Example: { \"includePrices\": true (optional), \"limit\": 50 (optional), \"full\": false (optional) }",
165
228
  inputSchema: {
166
229
  type: "object",
167
- properties: { includePrices: { type: "boolean", description: "Include current stablecoin prices" } },
230
+ properties: {
231
+ includePrices: { type: "boolean", description: "Optional. Include current stablecoin prices" },
232
+ ...limitProp,
233
+ ...fullProp
234
+ },
168
235
  required: []
169
236
  }
170
237
  },
171
238
  {
172
239
  name: "defillama_get_stablecoin_charts_all",
173
- description: "Get the historical market cap sum of all stablecoins",
240
+ description: "Get the historical market cap sum of all stablecoins (downsampled time series). " +
241
+ "Example: { \"stablecoin\": 1 (optional), \"points\": 30 (optional), \"full\": false (optional) }",
174
242
  inputSchema: {
175
243
  type: "object",
176
- properties: { stablecoin: { type: "number", description: "Optional stablecoin ID to filter by" } },
244
+ properties: {
245
+ stablecoin: { type: "number", description: "Optional. Stablecoin ID to filter by" },
246
+ ...pointsProp,
247
+ ...fullProp
248
+ },
177
249
  required: []
178
250
  }
179
251
  },
180
252
  {
181
253
  name: "defillama_get_stablecoin_charts_chain",
182
- description: "Get the historical stablecoin market cap on a specific chain",
254
+ description: "Get the historical stablecoin market cap on a specific chain (downsampled time series). " +
255
+ "Example: { \"chain\": \"ethereum\", \"stablecoin\": 1 (optional), \"points\": 30 (optional), \"full\": false (optional) }",
183
256
  inputSchema: {
184
257
  type: "object",
185
258
  properties: {
186
259
  chain: { type: "string", description: "Chain name, e.g. ethereum" },
187
- stablecoin: { type: "number", description: "Optional stablecoin ID to filter by" }
260
+ stablecoin: { type: "number", description: "Optional. Stablecoin ID to filter by" },
261
+ ...pointsProp,
262
+ ...fullProp
188
263
  },
189
264
  required: ["chain"]
190
265
  }
191
266
  },
192
267
  {
193
268
  name: "defillama_get_stablecoin_data",
194
- description: "Get historical data for a specific stablecoin",
269
+ description: "Get historical data for a specific stablecoin. " +
270
+ "Example: { \"asset\": \"1\", \"includeTokens\": false (optional), \"full\": false (optional) }",
195
271
  inputSchema: {
196
272
  type: "object",
197
- properties: { asset: { type: "string", description: "Stablecoin ID or name" } },
273
+ properties: {
274
+ asset: { type: "string", description: "Stablecoin ID (e.g. 1) or name" },
275
+ ...includeTokensProp,
276
+ ...fullProp
277
+ },
198
278
  required: ["asset"]
199
279
  }
200
280
  },
201
281
  {
202
282
  name: "defillama_get_stablecoin_chains",
203
- description: "Get current stablecoin totals for each chain",
204
- inputSchema: { type: "object", properties: {}, required: [] }
283
+ description: "Get current stablecoin totals for each chain (trimmed to the largest by circulating supply). " +
284
+ "Example: { \"limit\": 50 (optional), \"full\": false (optional) }",
285
+ inputSchema: {
286
+ type: "object",
287
+ properties: { ...limitProp, ...fullProp },
288
+ required: []
289
+ }
205
290
  },
206
291
  {
207
292
  name: "defillama_get_stablecoin_prices",
208
- description: "Get historical prices of stablecoins",
209
- inputSchema: { type: "object", properties: {}, required: [] }
293
+ description: "Get historical prices of stablecoins (downsampled time series). " +
294
+ "Example: { \"points\": 30 (optional), \"full\": false (optional) }",
295
+ inputSchema: {
296
+ type: "object",
297
+ properties: { ...pointsProp, ...fullProp },
298
+ required: []
299
+ }
210
300
  },
211
301
  // -------------------------------------------------------------------------
212
302
  // Yields / APY
213
303
  // -------------------------------------------------------------------------
214
304
  {
215
305
  name: "defillama_get_pools",
216
- description: "Get the latest TVL and APY data for all yield pools",
217
- inputSchema: { type: "object", properties: {}, required: [] }
306
+ description: "Get the latest TVL and APY for yield pools (trimmed to the largest by TVL). " +
307
+ "Example: { \"limit\": 50 (optional), \"full\": false (optional) }",
308
+ inputSchema: {
309
+ type: "object",
310
+ properties: { ...limitProp, ...fullProp },
311
+ required: []
312
+ }
218
313
  },
219
314
  {
220
315
  name: "defillama_get_pool_chart",
221
- description: "Get historical APY and TVL for a specific yield pool",
316
+ description: "Get historical APY and TVL for a specific yield pool (downsampled time series). " +
317
+ "Example: { \"pool\": \"747c1d2a-c668-4682-b9f9-296708a3dd90\", \"points\": 30 (optional), \"full\": false (optional) }",
222
318
  inputSchema: {
223
319
  type: "object",
224
- properties: { pool: { type: "string", description: "Pool ID (uuid from /pools)" } },
320
+ properties: {
321
+ pool: { type: "string", description: "Pool ID (uuid from defillama_get_pools)" },
322
+ ...pointsProp,
323
+ ...fullProp
324
+ },
225
325
  required: ["pool"]
226
326
  }
227
327
  },
@@ -230,12 +330,14 @@ export const tools = [
230
330
  // -------------------------------------------------------------------------
231
331
  {
232
332
  name: "defillama_get_dexs_overview",
233
- description: "Get a DEX trading volume overview across all chains",
333
+ description: "Get a DEX trading volume overview across all chains. Charts are excluded by default. " +
334
+ "Example: { \"dataType\": \"dailyVolume\" (optional), \"limit\": 50 (optional), \"full\": false (optional) }",
234
335
  inputSchema: { type: "object", properties: { ...overviewProperties }, required: [] }
235
336
  },
236
337
  {
237
338
  name: "defillama_get_dexs_overview_by_chain",
238
- description: "Get a DEX trading volume overview for a specific chain",
339
+ description: "Get a DEX trading volume overview for a specific chain. " +
340
+ "Example: { \"chain\": \"ethereum\", \"dataType\": \"dailyVolume\" (optional), \"full\": false (optional) }",
239
341
  inputSchema: {
240
342
  type: "object",
241
343
  properties: { chain: { type: "string", description: "Chain name, e.g. ethereum" }, ...overviewProperties },
@@ -244,7 +346,8 @@ export const tools = [
244
346
  },
245
347
  {
246
348
  name: "defillama_get_dex_summary",
247
- description: "Get a DEX trading volume summary for a specific protocol",
349
+ description: "Get a DEX trading volume summary for a specific protocol. " +
350
+ "Example: { \"protocol\": \"uniswap\", \"dataType\": \"dailyVolume\" (optional), \"full\": false (optional) }",
248
351
  inputSchema: {
249
352
  type: "object",
250
353
  properties: { protocol: { type: "string", description: "DEX protocol slug, e.g. uniswap" }, ...overviewProperties },
@@ -253,12 +356,14 @@ export const tools = [
253
356
  },
254
357
  {
255
358
  name: "defillama_get_options_overview",
256
- description: "Get an options volume overview across all chains",
359
+ description: "Get an options volume overview across all chains. " +
360
+ "Example: { \"dataType\": \"dailyNotionalVolume\" (optional), \"full\": false (optional) }",
257
361
  inputSchema: { type: "object", properties: { ...overviewProperties }, required: [] }
258
362
  },
259
363
  {
260
364
  name: "defillama_get_options_overview_by_chain",
261
- description: "Get an options volume overview for a specific chain",
365
+ description: "Get an options volume overview for a specific chain. " +
366
+ "Example: { \"chain\": \"ethereum\", \"full\": false (optional) }",
262
367
  inputSchema: {
263
368
  type: "object",
264
369
  properties: { chain: { type: "string", description: "Chain name, e.g. ethereum" }, ...overviewProperties },
@@ -267,7 +372,8 @@ export const tools = [
267
372
  },
268
373
  {
269
374
  name: "defillama_get_option_summary",
270
- description: "Get an options volume summary for a specific protocol",
375
+ description: "Get an options volume summary for a specific protocol. " +
376
+ "Example: { \"protocol\": \"lyra\", \"full\": false (optional) }",
271
377
  inputSchema: {
272
378
  type: "object",
273
379
  properties: { protocol: { type: "string", description: "Options protocol slug" }, ...overviewProperties },
@@ -279,7 +385,8 @@ export const tools = [
279
385
  // -------------------------------------------------------------------------
280
386
  {
281
387
  name: "defillama_get_open_interest_overview",
282
- description: "Get a perpetuals open interest overview across all chains",
388
+ description: "Get a perpetuals open interest overview across all chains. " +
389
+ "Example: { \"full\": false (optional) }",
283
390
  inputSchema: { type: "object", properties: { ...overviewProperties }, required: [] }
284
391
  },
285
392
  // -------------------------------------------------------------------------
@@ -287,12 +394,14 @@ export const tools = [
287
394
  // -------------------------------------------------------------------------
288
395
  {
289
396
  name: "defillama_get_fees_overview",
290
- description: "Get a fees and revenue overview across all chains",
397
+ description: "Get a fees and revenue overview across all chains. " +
398
+ "Example: { \"dataType\": \"dailyFees\" (optional), \"limit\": 50 (optional), \"full\": false (optional) }",
291
399
  inputSchema: { type: "object", properties: { ...overviewProperties }, required: [] }
292
400
  },
293
401
  {
294
402
  name: "defillama_get_fees_overview_by_chain",
295
- description: "Get a fees and revenue overview for a specific chain",
403
+ description: "Get a fees and revenue overview for a specific chain. " +
404
+ "Example: { \"chain\": \"ethereum\", \"dataType\": \"dailyRevenue\" (optional), \"full\": false (optional) }",
296
405
  inputSchema: {
297
406
  type: "object",
298
407
  properties: { chain: { type: "string", description: "Chain name, e.g. ethereum" }, ...overviewProperties },
@@ -301,7 +410,8 @@ export const tools = [
301
410
  },
302
411
  {
303
412
  name: "defillama_get_fee_summary",
304
- description: "Get a fees and revenue summary for a specific protocol",
413
+ description: "Get a fees and revenue summary for a specific protocol. " +
414
+ "Example: { \"protocol\": \"aave\", \"dataType\": \"dailyFees\" (optional), \"full\": false (optional) }",
305
415
  inputSchema: {
306
416
  type: "object",
307
417
  properties: { protocol: { type: "string", description: "Protocol slug, e.g. aave" }, ...overviewProperties },
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@missionsquad/mcp-defillama",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "MCP server for the DefiLlama API — exposes DeFi protocol TVL, chain TVL, token prices, and stablecoin data to MCP clients",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -20,8 +20,8 @@
20
20
  "build": "tsc && chmod +x dist/index.js",
21
21
  "start": "node dist/index.js",
22
22
  "dev": "tsc -w",
23
- "test": "yarn build && env TEST_MODE=true node tests/defillama.test.js",
24
- "test:no-mock": "yarn build && env TEST_MODE=false node tests/defillama.test.js",
23
+ "test": "yarn build && env TEST_MODE=true node --test tests/*.test.js",
24
+ "test:no-mock": "yarn build && env TEST_MODE=false node --test tests/*.test.js",
25
25
  "prepare": "yarn build"
26
26
  },
27
27
  "keywords": [
@@ -45,9 +45,11 @@
45
45
  },
46
46
  "dependencies": {
47
47
  "@modelcontextprotocol/sdk": "^1.6.1",
48
+ "luxon": "^3.7.2",
48
49
  "zod": "^4.0.0"
49
50
  },
50
51
  "devDependencies": {
52
+ "@types/luxon": "^3.7.1",
51
53
  "@types/node": "^20.0.0",
52
54
  "typescript": "^5.0.0"
53
55
  }