@missionsquad/mcp-defillama 1.0.0 → 1.1.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.
@@ -2,67 +2,313 @@ import { createErrorResponse, createSuccessResponse } from "./utils.js";
2
2
  import { getDefiLlamaClient } from "../clients/defillama.factory.js";
3
3
  // Get the appropriate client (real or mock) based on TEST_MODE
4
4
  const defiLlamaClient = getDefiLlamaClient();
5
- export const getProtocolsHandler = async (input) => {
5
+ const errorMessage = (error) => (error instanceof Error ? error.message : String(error));
6
+ /** Pull the shared overview/summary query options out of a handler input. */
7
+ const overviewOptions = (input = {}) => ({
8
+ excludeTotalDataChart: input.excludeTotalDataChart,
9
+ excludeTotalDataChartBreakdown: input.excludeTotalDataChartBreakdown,
10
+ dataType: input.dataType,
11
+ });
12
+ // ---------------------------------------------------------------------------
13
+ // TVL
14
+ // ---------------------------------------------------------------------------
15
+ export const getProtocolsHandler = async (_input) => {
6
16
  try {
7
- const protocolsData = await defiLlamaClient.getProtocols();
8
- return createSuccessResponse(`Protocols: ${JSON.stringify(protocolsData, null, 2)}`);
17
+ const data = await defiLlamaClient.getProtocols();
18
+ return createSuccessResponse(`Protocols: ${JSON.stringify(data, null, 2)}`);
9
19
  }
10
20
  catch (error) {
11
- return createErrorResponse(`Error getting protocols: ${error instanceof Error ? error.message : String(error)}`);
21
+ return createErrorResponse(`Error getting protocols: ${errorMessage(error)}`);
12
22
  }
13
23
  };
14
24
  export const getProtocolTvlHandler = async (input) => {
15
25
  try {
16
- const protocolData = await defiLlamaClient.getProtocolTvl(input.protocol);
17
- return createSuccessResponse(`Protocol TVL: ${JSON.stringify(protocolData, null, 2)}`);
26
+ const data = await defiLlamaClient.getProtocolTvl(input.protocol);
27
+ return createSuccessResponse(`Protocol TVL: ${JSON.stringify(data, null, 2)}`);
18
28
  }
19
29
  catch (error) {
20
- return createErrorResponse(`Error getting protocol TVL: ${error instanceof Error ? error.message : String(error)}`);
30
+ return createErrorResponse(`Error getting protocol TVL: ${errorMessage(error)}`);
31
+ }
32
+ };
33
+ export const getHistoricalChainTvlHandler = async (_input) => {
34
+ try {
35
+ const data = await defiLlamaClient.getHistoricalChainTvl();
36
+ return createSuccessResponse(`Historical chain TVL: ${JSON.stringify(data, null, 2)}`);
37
+ }
38
+ catch (error) {
39
+ return createErrorResponse(`Error getting historical chain TVL: ${errorMessage(error)}`);
21
40
  }
22
41
  };
23
42
  export const getChainTvlHandler = async (input) => {
24
43
  try {
25
- const chainData = await defiLlamaClient.getChainTvl(input.chain);
26
- return createSuccessResponse(`Chain TVL: ${JSON.stringify(chainData, null, 2)}`);
44
+ const data = await defiLlamaClient.getChainTvl(input.chain);
45
+ return createSuccessResponse(`Chain TVL: ${JSON.stringify(data, null, 2)}`);
46
+ }
47
+ catch (error) {
48
+ return createErrorResponse(`Error getting chain TVL: ${errorMessage(error)}`);
49
+ }
50
+ };
51
+ export const getCurrentProtocolTvlHandler = async (input) => {
52
+ try {
53
+ const data = await defiLlamaClient.getCurrentProtocolTvl(input.protocol);
54
+ return createSuccessResponse(`Current protocol TVL: ${JSON.stringify(data, null, 2)}`);
55
+ }
56
+ catch (error) {
57
+ return createErrorResponse(`Error getting current protocol TVL: ${errorMessage(error)}`);
58
+ }
59
+ };
60
+ export const getChainsHandler = async (_input) => {
61
+ try {
62
+ const data = await defiLlamaClient.getChains();
63
+ return createSuccessResponse(`Chains: ${JSON.stringify(data, null, 2)}`);
27
64
  }
28
65
  catch (error) {
29
- return createErrorResponse(`Error getting chain TVL: ${error instanceof Error ? error.message : String(error)}`);
66
+ return createErrorResponse(`Error getting chains: ${errorMessage(error)}`);
30
67
  }
31
68
  };
69
+ // ---------------------------------------------------------------------------
70
+ // Coins / Prices
71
+ // ---------------------------------------------------------------------------
32
72
  export const getTokenPricesHandler = async (input) => {
33
73
  try {
34
- const pricesData = await defiLlamaClient.getTokenPrices(input.coins);
35
- return createSuccessResponse(`Token prices: ${JSON.stringify(pricesData, null, 2)}`);
74
+ const data = await defiLlamaClient.getTokenPrices(input.coins);
75
+ return createSuccessResponse(`Token prices: ${JSON.stringify(data, null, 2)}`);
36
76
  }
37
77
  catch (error) {
38
- return createErrorResponse(`Error getting token prices: ${error instanceof Error ? error.message : String(error)}`);
78
+ return createErrorResponse(`Error getting token prices: ${errorMessage(error)}`);
39
79
  }
40
80
  };
41
81
  export const getHistoricalPricesHandler = async (input) => {
42
82
  try {
43
- const historicalData = await defiLlamaClient.getHistoricalPrices(input.coins, input.timestamp);
44
- return createSuccessResponse(`Historical prices: ${JSON.stringify(historicalData, null, 2)}`);
83
+ const data = await defiLlamaClient.getHistoricalPrices(input.coins, input.timestamp);
84
+ return createSuccessResponse(`Historical prices: ${JSON.stringify(data, null, 2)}`);
85
+ }
86
+ catch (error) {
87
+ return createErrorResponse(`Error getting historical prices: ${errorMessage(error)}`);
88
+ }
89
+ };
90
+ export const getBatchHistoricalPricesHandler = async (input) => {
91
+ try {
92
+ const data = await defiLlamaClient.getBatchHistoricalPrices(input.coins, input.searchWidth);
93
+ return createSuccessResponse(`Batch historical prices: ${JSON.stringify(data, null, 2)}`);
94
+ }
95
+ catch (error) {
96
+ return createErrorResponse(`Error getting batch historical prices: ${errorMessage(error)}`);
97
+ }
98
+ };
99
+ export const getPriceChartHandler = async (input) => {
100
+ try {
101
+ const { coins, ...options } = input;
102
+ const data = await defiLlamaClient.getPriceChart(coins, options);
103
+ return createSuccessResponse(`Price chart: ${JSON.stringify(data, null, 2)}`);
104
+ }
105
+ catch (error) {
106
+ return createErrorResponse(`Error getting price chart: ${errorMessage(error)}`);
107
+ }
108
+ };
109
+ export const getPricePercentageChangeHandler = async (input) => {
110
+ try {
111
+ const { coins, ...options } = input;
112
+ const data = await defiLlamaClient.getPricePercentageChange(coins, options);
113
+ return createSuccessResponse(`Price percentage change: ${JSON.stringify(data, null, 2)}`);
45
114
  }
46
115
  catch (error) {
47
- return createErrorResponse(`Error getting historical prices: ${error instanceof Error ? error.message : String(error)}`);
116
+ return createErrorResponse(`Error getting price percentage change: ${errorMessage(error)}`);
48
117
  }
49
118
  };
119
+ export const getFirstPricesHandler = async (input) => {
120
+ try {
121
+ const data = await defiLlamaClient.getFirstPrices(input.coins);
122
+ return createSuccessResponse(`First prices: ${JSON.stringify(data, null, 2)}`);
123
+ }
124
+ catch (error) {
125
+ return createErrorResponse(`Error getting first prices: ${errorMessage(error)}`);
126
+ }
127
+ };
128
+ export const getBlockHandler = async (input) => {
129
+ try {
130
+ const data = await defiLlamaClient.getBlock(input.chain, input.timestamp);
131
+ return createSuccessResponse(`Block: ${JSON.stringify(data, null, 2)}`);
132
+ }
133
+ catch (error) {
134
+ return createErrorResponse(`Error getting block: ${errorMessage(error)}`);
135
+ }
136
+ };
137
+ // ---------------------------------------------------------------------------
138
+ // Stablecoins
139
+ // ---------------------------------------------------------------------------
50
140
  export const getStablecoinsHandler = async (input) => {
51
141
  try {
52
- const stablecoinsData = await defiLlamaClient.getStablecoins();
53
- return createSuccessResponse(`Stablecoins: ${JSON.stringify(stablecoinsData, null, 2)}`);
142
+ const data = await defiLlamaClient.getStablecoins(input?.includePrices);
143
+ return createSuccessResponse(`Stablecoins: ${JSON.stringify(data, null, 2)}`);
144
+ }
145
+ catch (error) {
146
+ return createErrorResponse(`Error getting stablecoins: ${errorMessage(error)}`);
147
+ }
148
+ };
149
+ export const getStablecoinChartsAllHandler = async (input) => {
150
+ try {
151
+ const data = await defiLlamaClient.getStablecoinChartsAll(input?.stablecoin);
152
+ return createSuccessResponse(`Stablecoin charts (all): ${JSON.stringify(data, null, 2)}`);
54
153
  }
55
154
  catch (error) {
56
- return createErrorResponse(`Error getting stablecoins: ${error instanceof Error ? error.message : String(error)}`);
155
+ return createErrorResponse(`Error getting stablecoin charts: ${errorMessage(error)}`);
156
+ }
157
+ };
158
+ export const getStablecoinChartsChainHandler = async (input) => {
159
+ try {
160
+ const data = await defiLlamaClient.getStablecoinChartsChain(input.chain, input.stablecoin);
161
+ return createSuccessResponse(`Stablecoin charts (chain): ${JSON.stringify(data, null, 2)}`);
162
+ }
163
+ catch (error) {
164
+ return createErrorResponse(`Error getting stablecoin charts for chain: ${errorMessage(error)}`);
57
165
  }
58
166
  };
59
167
  export const getStablecoinDataHandler = async (input) => {
60
168
  try {
61
- const stablecoinData = await defiLlamaClient.getStablecoinData(input.asset);
62
- return createSuccessResponse(`Stablecoin data: ${JSON.stringify(stablecoinData, null, 2)}`);
169
+ const data = await defiLlamaClient.getStablecoinData(input.asset);
170
+ return createSuccessResponse(`Stablecoin data: ${JSON.stringify(data, null, 2)}`);
171
+ }
172
+ catch (error) {
173
+ return createErrorResponse(`Error getting stablecoin data: ${errorMessage(error)}`);
174
+ }
175
+ };
176
+ export const getStablecoinChainsHandler = async (_input) => {
177
+ try {
178
+ const data = await defiLlamaClient.getStablecoinChains();
179
+ return createSuccessResponse(`Stablecoin chains: ${JSON.stringify(data, null, 2)}`);
180
+ }
181
+ catch (error) {
182
+ return createErrorResponse(`Error getting stablecoin chains: ${errorMessage(error)}`);
183
+ }
184
+ };
185
+ export const getStablecoinPricesHandler = async (_input) => {
186
+ try {
187
+ const data = await defiLlamaClient.getStablecoinPrices();
188
+ return createSuccessResponse(`Stablecoin prices: ${JSON.stringify(data, null, 2)}`);
189
+ }
190
+ catch (error) {
191
+ return createErrorResponse(`Error getting stablecoin prices: ${errorMessage(error)}`);
192
+ }
193
+ };
194
+ // ---------------------------------------------------------------------------
195
+ // Yields / APY
196
+ // ---------------------------------------------------------------------------
197
+ export const getPoolsHandler = async (_input) => {
198
+ try {
199
+ const data = await defiLlamaClient.getPools();
200
+ return createSuccessResponse(`Pools: ${JSON.stringify(data, null, 2)}`);
201
+ }
202
+ catch (error) {
203
+ return createErrorResponse(`Error getting pools: ${errorMessage(error)}`);
204
+ }
205
+ };
206
+ export const getPoolChartHandler = async (input) => {
207
+ try {
208
+ const data = await defiLlamaClient.getPoolChart(input.pool);
209
+ return createSuccessResponse(`Pool chart: ${JSON.stringify(data, null, 2)}`);
210
+ }
211
+ catch (error) {
212
+ return createErrorResponse(`Error getting pool chart: ${errorMessage(error)}`);
213
+ }
214
+ };
215
+ // ---------------------------------------------------------------------------
216
+ // DEX / Options volume
217
+ // ---------------------------------------------------------------------------
218
+ export const getDexsOverviewHandler = async (input) => {
219
+ try {
220
+ const data = await defiLlamaClient.getDexsOverview(overviewOptions(input));
221
+ return createSuccessResponse(`DEXs overview: ${JSON.stringify(data, null, 2)}`);
222
+ }
223
+ catch (error) {
224
+ return createErrorResponse(`Error getting DEXs overview: ${errorMessage(error)}`);
225
+ }
226
+ };
227
+ export const getDexsOverviewByChainHandler = async (input) => {
228
+ try {
229
+ const data = await defiLlamaClient.getDexsOverviewByChain(input.chain, overviewOptions(input));
230
+ return createSuccessResponse(`DEXs overview (chain): ${JSON.stringify(data, null, 2)}`);
231
+ }
232
+ catch (error) {
233
+ return createErrorResponse(`Error getting DEXs overview for chain: ${errorMessage(error)}`);
234
+ }
235
+ };
236
+ export const getDexSummaryHandler = async (input) => {
237
+ try {
238
+ const data = await defiLlamaClient.getDexSummary(input.protocol, overviewOptions(input));
239
+ return createSuccessResponse(`DEX summary: ${JSON.stringify(data, null, 2)}`);
240
+ }
241
+ catch (error) {
242
+ return createErrorResponse(`Error getting DEX summary: ${errorMessage(error)}`);
243
+ }
244
+ };
245
+ export const getOptionsOverviewHandler = async (input) => {
246
+ try {
247
+ const data = await defiLlamaClient.getOptionsOverview(overviewOptions(input));
248
+ return createSuccessResponse(`Options overview: ${JSON.stringify(data, null, 2)}`);
249
+ }
250
+ catch (error) {
251
+ return createErrorResponse(`Error getting options overview: ${errorMessage(error)}`);
252
+ }
253
+ };
254
+ export const getOptionsOverviewByChainHandler = async (input) => {
255
+ try {
256
+ const data = await defiLlamaClient.getOptionsOverviewByChain(input.chain, overviewOptions(input));
257
+ return createSuccessResponse(`Options overview (chain): ${JSON.stringify(data, null, 2)}`);
258
+ }
259
+ catch (error) {
260
+ return createErrorResponse(`Error getting options overview for chain: ${errorMessage(error)}`);
261
+ }
262
+ };
263
+ export const getOptionSummaryHandler = async (input) => {
264
+ try {
265
+ const data = await defiLlamaClient.getOptionSummary(input.protocol, overviewOptions(input));
266
+ return createSuccessResponse(`Options summary: ${JSON.stringify(data, null, 2)}`);
267
+ }
268
+ catch (error) {
269
+ return createErrorResponse(`Error getting options summary: ${errorMessage(error)}`);
270
+ }
271
+ };
272
+ // ---------------------------------------------------------------------------
273
+ // Perps / Open interest
274
+ // ---------------------------------------------------------------------------
275
+ export const getOpenInterestOverviewHandler = async (input) => {
276
+ try {
277
+ const data = await defiLlamaClient.getOpenInterestOverview(overviewOptions(input));
278
+ return createSuccessResponse(`Open interest overview: ${JSON.stringify(data, null, 2)}`);
279
+ }
280
+ catch (error) {
281
+ return createErrorResponse(`Error getting open interest overview: ${errorMessage(error)}`);
282
+ }
283
+ };
284
+ // ---------------------------------------------------------------------------
285
+ // Fees / Revenue
286
+ // ---------------------------------------------------------------------------
287
+ export const getFeesOverviewHandler = async (input) => {
288
+ try {
289
+ const data = await defiLlamaClient.getFeesOverview(overviewOptions(input));
290
+ return createSuccessResponse(`Fees overview: ${JSON.stringify(data, null, 2)}`);
291
+ }
292
+ catch (error) {
293
+ return createErrorResponse(`Error getting fees overview: ${errorMessage(error)}`);
294
+ }
295
+ };
296
+ export const getFeesOverviewByChainHandler = async (input) => {
297
+ try {
298
+ const data = await defiLlamaClient.getFeesOverviewByChain(input.chain, overviewOptions(input));
299
+ return createSuccessResponse(`Fees overview (chain): ${JSON.stringify(data, null, 2)}`);
300
+ }
301
+ catch (error) {
302
+ return createErrorResponse(`Error getting fees overview for chain: ${errorMessage(error)}`);
303
+ }
304
+ };
305
+ export const getFeeSummaryHandler = async (input) => {
306
+ try {
307
+ const data = await defiLlamaClient.getFeeSummary(input.protocol, overviewOptions(input));
308
+ return createSuccessResponse(`Fees summary: ${JSON.stringify(data, null, 2)}`);
63
309
  }
64
310
  catch (error) {
65
- return createErrorResponse(`Error getting stablecoin data: ${error instanceof Error ? error.message : String(error)}`);
311
+ return createErrorResponse(`Error getting fees summary: ${errorMessage(error)}`);
66
312
  }
67
313
  };
68
314
  //# sourceMappingURL=defillama.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defillama.js","sourceRoot":"","sources":["../../src/handlers/defillama.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"defillama.js","sourceRoot":"","sources":["../../src/handlers/defillama.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
+ /** Query options shared by the DEX/options/fees overview & summary endpoints. */
2
+ export interface OverviewOptionsInput {
3
+ excludeTotalDataChart?: boolean;
4
+ excludeTotalDataChartBreakdown?: boolean;
5
+ dataType?: string;
6
+ }
1
7
  export interface GetProtocolsInput {
2
8
  }
3
9
  export interface GetProtocolTvlInput {
4
10
  protocol: string;
5
11
  }
12
+ export interface GetHistoricalChainTvlInput {
13
+ }
6
14
  export interface GetChainTvlInput {
7
15
  chain: string;
8
16
  }
17
+ export interface GetCurrentProtocolTvlInput {
18
+ protocol: string;
19
+ }
20
+ export interface GetChainsInput {
21
+ }
9
22
  export interface GetTokenPricesInput {
10
23
  coins: string[];
11
24
  }
@@ -13,8 +26,76 @@ export interface GetHistoricalPricesInput {
13
26
  coins: string[];
14
27
  timestamp: number;
15
28
  }
29
+ export interface GetBatchHistoricalPricesInput {
30
+ coins: Record<string, number[]>;
31
+ searchWidth?: string;
32
+ }
33
+ export interface GetPriceChartInput {
34
+ coins: string[];
35
+ start?: number;
36
+ end?: number;
37
+ span?: number;
38
+ period?: string;
39
+ searchWidth?: string;
40
+ }
41
+ export interface GetPricePercentageChangeInput {
42
+ coins: string[];
43
+ timestamp?: number;
44
+ lookForward?: boolean;
45
+ period?: string;
46
+ }
47
+ export interface GetFirstPricesInput {
48
+ coins: string[];
49
+ }
50
+ export interface GetBlockInput {
51
+ chain: string;
52
+ timestamp: number;
53
+ }
16
54
  export interface GetStablecoinsInput {
55
+ includePrices?: boolean;
56
+ }
57
+ export interface GetStablecoinChartsAllInput {
58
+ stablecoin?: number | string;
59
+ }
60
+ export interface GetStablecoinChartsChainInput {
61
+ chain: string;
62
+ stablecoin?: number | string;
17
63
  }
18
64
  export interface GetStablecoinDataInput {
19
65
  asset: string;
20
66
  }
67
+ export interface GetStablecoinChainsInput {
68
+ }
69
+ export interface GetStablecoinPricesInput {
70
+ }
71
+ export interface GetPoolsInput {
72
+ }
73
+ export interface GetPoolChartInput {
74
+ pool: string;
75
+ }
76
+ export interface GetDexsOverviewInput extends OverviewOptionsInput {
77
+ }
78
+ export interface GetDexsOverviewByChainInput extends OverviewOptionsInput {
79
+ chain: string;
80
+ }
81
+ export interface GetDexSummaryInput extends OverviewOptionsInput {
82
+ protocol: string;
83
+ }
84
+ export interface GetOptionsOverviewInput extends OverviewOptionsInput {
85
+ }
86
+ export interface GetOptionsOverviewByChainInput extends OverviewOptionsInput {
87
+ chain: string;
88
+ }
89
+ export interface GetOptionSummaryInput extends OverviewOptionsInput {
90
+ protocol: string;
91
+ }
92
+ export interface GetOpenInterestOverviewInput extends OverviewOptionsInput {
93
+ }
94
+ export interface GetFeesOverviewInput extends OverviewOptionsInput {
95
+ }
96
+ export interface GetFeesOverviewByChainInput extends OverviewOptionsInput {
97
+ chain: string;
98
+ }
99
+ export interface GetFeeSummaryInput extends OverviewOptionsInput {
100
+ protocol: string;
101
+ }
@@ -1,2 +1,5 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Shared
3
+ // ---------------------------------------------------------------------------
1
4
  export {};
2
5
  //# sourceMappingURL=defillama.types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defillama.types.js","sourceRoot":"","sources":["../../src/handlers/defillama.types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"defillama.types.js","sourceRoot":"","sources":["../../src/handlers/defillama.types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,SAAS;AACT,8EAA8E"}
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprot
5
5
  import { handlers, tools } from "./tools.js";
6
6
  const server = new Server({
7
7
  name: "mcp-defillama",
8
- version: "1.0.0",
8
+ version: "1.1.0",
9
9
  }, {
10
10
  capabilities: {
11
11
  tools: {}