@noya-ai/mcp 0.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.
- package/LICENSE +21 -0
- package/README.md +40 -0
- package/dist/index.cjs +1353 -0
- package/dist/index.d.cts +19 -0
- package/dist/index.d.ts +19 -0
- package/dist/index.js +1316 -0
- package/dist/stdio.cjs +1374 -0
- package/dist/stdio.d.cts +2 -0
- package/dist/stdio.d.ts +2 -0
- package/dist/stdio.js +1351 -0
- package/package.json +58 -0
package/dist/stdio.cjs
ADDED
|
@@ -0,0 +1,1374 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __create = Object.create;
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
6
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
7
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
8
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
9
|
+
var __copyProps = (to, from, except, desc) => {
|
|
10
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
11
|
+
for (let key of __getOwnPropNames(from))
|
|
12
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
13
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
+
}
|
|
15
|
+
return to;
|
|
16
|
+
};
|
|
17
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
18
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
19
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
20
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
21
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
22
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
23
|
+
mod
|
|
24
|
+
));
|
|
25
|
+
|
|
26
|
+
// src/stdio.ts
|
|
27
|
+
var import_mcp = require("@modelcontextprotocol/sdk/server/mcp.js");
|
|
28
|
+
var import_stdio = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
29
|
+
var import_sdk = require("@noya-ai/sdk");
|
|
30
|
+
|
|
31
|
+
// src/generated-tools.ts
|
|
32
|
+
var alternativeSchemas = __toESM(require("@noya-ai/data-server-schemas/alternative"), 1);
|
|
33
|
+
var coingeckoSchemas = __toESM(require("@noya-ai/data-server-schemas/coingecko"), 1);
|
|
34
|
+
var coinglassSchemas = __toESM(require("@noya-ai/data-server-schemas/coinglass"), 1);
|
|
35
|
+
var compositeSchemas = __toESM(require("@noya-ai/data-server-schemas/composite"), 1);
|
|
36
|
+
var cryptonewsSchemas = __toESM(require("@noya-ai/data-server-schemas/cryptonews"), 1);
|
|
37
|
+
var defillamaSchemas = __toESM(require("@noya-ai/data-server-schemas/defillama"), 1);
|
|
38
|
+
var geckoterminalSchemas = __toESM(require("@noya-ai/data-server-schemas/geckoterminal"), 1);
|
|
39
|
+
var kaitoSchemas = __toESM(require("@noya-ai/data-server-schemas/kaito"), 1);
|
|
40
|
+
var moralisSchemas = __toESM(require("@noya-ai/data-server-schemas/moralis"), 1);
|
|
41
|
+
var noyaSchemas = __toESM(require("@noya-ai/data-server-schemas/noya"), 1);
|
|
42
|
+
var sdkSchemas = __toESM(require("@noya-ai/sdk"), 1);
|
|
43
|
+
var import_zod = require("zod");
|
|
44
|
+
function toMcpResult(value) {
|
|
45
|
+
const text = typeof value === "string" ? value : JSON.stringify(value, null, 2) ?? "";
|
|
46
|
+
return { content: [{ type: "text", text }] };
|
|
47
|
+
}
|
|
48
|
+
var PASSTHROUGH_INPUT_SHAPE = { args: import_zod.z.unknown().describe("Pass-through arguments \u2014 see SDK docs for the shape.") };
|
|
49
|
+
function asRawShape(schema) {
|
|
50
|
+
let current = schema;
|
|
51
|
+
for (let i = 0; i < 6; i++) {
|
|
52
|
+
const def = current._def;
|
|
53
|
+
if (def.typeName === "ZodObject") break;
|
|
54
|
+
if (def.schema) {
|
|
55
|
+
current = def.schema;
|
|
56
|
+
continue;
|
|
57
|
+
}
|
|
58
|
+
if (def.innerType) {
|
|
59
|
+
current = def.innerType;
|
|
60
|
+
continue;
|
|
61
|
+
}
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
const shape = current.shape;
|
|
65
|
+
return shape ?? {};
|
|
66
|
+
}
|
|
67
|
+
function registerGeneratedTools(server, getClient) {
|
|
68
|
+
const client = getClient();
|
|
69
|
+
server.tool(
|
|
70
|
+
"data_alternative_fear_greed",
|
|
71
|
+
"Auto-generated from sdk.data.alternative.fearGreed",
|
|
72
|
+
asRawShape(alternativeSchemas.FearGreedBody),
|
|
73
|
+
async (args) => {
|
|
74
|
+
const result = await Promise.resolve(client.data.alternative.fearGreed(args));
|
|
75
|
+
return toMcpResult(result);
|
|
76
|
+
}
|
|
77
|
+
);
|
|
78
|
+
server.tool(
|
|
79
|
+
"data_batch_dispatch",
|
|
80
|
+
"Auto-generated from sdk.data.batch.dispatch",
|
|
81
|
+
{},
|
|
82
|
+
async () => {
|
|
83
|
+
const result = await Promise.resolve(client.data.batch.dispatch());
|
|
84
|
+
return toMcpResult(result);
|
|
85
|
+
}
|
|
86
|
+
);
|
|
87
|
+
server.tool(
|
|
88
|
+
"data_coingecko_price",
|
|
89
|
+
"Auto-generated from sdk.data.coingecko.price",
|
|
90
|
+
asRawShape(coingeckoSchemas.PriceBody),
|
|
91
|
+
async (args) => {
|
|
92
|
+
const result = await Promise.resolve(client.data.coingecko.price(args));
|
|
93
|
+
return toMcpResult(result);
|
|
94
|
+
}
|
|
95
|
+
);
|
|
96
|
+
server.tool(
|
|
97
|
+
"data_coingecko_ohlcv",
|
|
98
|
+
"Auto-generated from sdk.data.coingecko.ohlcv",
|
|
99
|
+
asRawShape(coingeckoSchemas.OhlcvBody),
|
|
100
|
+
async (args) => {
|
|
101
|
+
const result = await Promise.resolve(client.data.coingecko.ohlcv(args));
|
|
102
|
+
return toMcpResult(result);
|
|
103
|
+
}
|
|
104
|
+
);
|
|
105
|
+
server.tool(
|
|
106
|
+
"data_coingecko_token_info",
|
|
107
|
+
"Auto-generated from sdk.data.coingecko.tokenInfo",
|
|
108
|
+
asRawShape(coingeckoSchemas.TokenInfoBody),
|
|
109
|
+
async (args) => {
|
|
110
|
+
const result = await Promise.resolve(client.data.coingecko.tokenInfo(args));
|
|
111
|
+
return toMcpResult(result);
|
|
112
|
+
}
|
|
113
|
+
);
|
|
114
|
+
server.tool(
|
|
115
|
+
"data_coingecko_trending",
|
|
116
|
+
"Auto-generated from sdk.data.coingecko.trending",
|
|
117
|
+
{},
|
|
118
|
+
async () => {
|
|
119
|
+
const result = await Promise.resolve(client.data.coingecko.trending());
|
|
120
|
+
return toMcpResult(result);
|
|
121
|
+
}
|
|
122
|
+
);
|
|
123
|
+
server.tool(
|
|
124
|
+
"data_coingecko_search",
|
|
125
|
+
"Auto-generated from sdk.data.coingecko.search",
|
|
126
|
+
asRawShape(coingeckoSchemas.SearchBody),
|
|
127
|
+
async (args) => {
|
|
128
|
+
const result = await Promise.resolve(client.data.coingecko.search(args));
|
|
129
|
+
return toMcpResult(result);
|
|
130
|
+
}
|
|
131
|
+
);
|
|
132
|
+
server.tool(
|
|
133
|
+
"data_coingecko_price_history",
|
|
134
|
+
"Auto-generated from sdk.data.coingecko.priceHistory",
|
|
135
|
+
asRawShape(coingeckoSchemas.PriceHistoryBody),
|
|
136
|
+
async (args) => {
|
|
137
|
+
const result = await Promise.resolve(client.data.coingecko.priceHistory(args));
|
|
138
|
+
return toMcpResult(result);
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
server.tool(
|
|
142
|
+
"data_coingecko_price_at_date",
|
|
143
|
+
"Auto-generated from sdk.data.coingecko.priceAtDate",
|
|
144
|
+
asRawShape(coingeckoSchemas.PriceAtDateBody),
|
|
145
|
+
async (args) => {
|
|
146
|
+
const result = await Promise.resolve(client.data.coingecko.priceAtDate(args));
|
|
147
|
+
return toMcpResult(result);
|
|
148
|
+
}
|
|
149
|
+
);
|
|
150
|
+
server.tool(
|
|
151
|
+
"data_coinglass_funding_rates",
|
|
152
|
+
"Auto-generated from sdk.data.coinglass.fundingRates",
|
|
153
|
+
asRawShape(coinglassSchemas.FundingRatesBody),
|
|
154
|
+
async (args) => {
|
|
155
|
+
const result = await Promise.resolve(client.data.coinglass.fundingRates(args));
|
|
156
|
+
return toMcpResult(result);
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
server.tool(
|
|
160
|
+
"data_coinglass_open_interest",
|
|
161
|
+
"Auto-generated from sdk.data.coinglass.openInterest",
|
|
162
|
+
asRawShape(coinglassSchemas.OpenInterestBody),
|
|
163
|
+
async (args) => {
|
|
164
|
+
const result = await Promise.resolve(client.data.coinglass.openInterest(args));
|
|
165
|
+
return toMcpResult(result);
|
|
166
|
+
}
|
|
167
|
+
);
|
|
168
|
+
server.tool(
|
|
169
|
+
"data_coinglass_liquidations",
|
|
170
|
+
"Auto-generated from sdk.data.coinglass.liquidations",
|
|
171
|
+
asRawShape(coinglassSchemas.LiquidationsBody),
|
|
172
|
+
async (args) => {
|
|
173
|
+
const result = await Promise.resolve(client.data.coinglass.liquidations(args));
|
|
174
|
+
return toMcpResult(result);
|
|
175
|
+
}
|
|
176
|
+
);
|
|
177
|
+
server.tool(
|
|
178
|
+
"data_coinglass_long_short_ratio",
|
|
179
|
+
"Auto-generated from sdk.data.coinglass.longShortRatio",
|
|
180
|
+
asRawShape(coinglassSchemas.LongShortRatioBody),
|
|
181
|
+
async (args) => {
|
|
182
|
+
const result = await Promise.resolve(client.data.coinglass.longShortRatio(args));
|
|
183
|
+
return toMcpResult(result);
|
|
184
|
+
}
|
|
185
|
+
);
|
|
186
|
+
server.tool(
|
|
187
|
+
"data_coinglass_supported_coins",
|
|
188
|
+
"Auto-generated from sdk.data.coinglass.supportedCoins",
|
|
189
|
+
{},
|
|
190
|
+
async () => {
|
|
191
|
+
const result = await Promise.resolve(client.data.coinglass.supportedCoins());
|
|
192
|
+
return toMcpResult(result);
|
|
193
|
+
}
|
|
194
|
+
);
|
|
195
|
+
server.tool(
|
|
196
|
+
"data_coinglass_supported_exchanges",
|
|
197
|
+
"Auto-generated from sdk.data.coinglass.supportedExchanges",
|
|
198
|
+
{},
|
|
199
|
+
async () => {
|
|
200
|
+
const result = await Promise.resolve(client.data.coinglass.supportedExchanges());
|
|
201
|
+
return toMcpResult(result);
|
|
202
|
+
}
|
|
203
|
+
);
|
|
204
|
+
server.tool(
|
|
205
|
+
"data_coinglass_exchange_pairs",
|
|
206
|
+
"Auto-generated from sdk.data.coinglass.exchangePairs",
|
|
207
|
+
asRawShape(coinglassSchemas.ExchangePairsBody),
|
|
208
|
+
async (args) => {
|
|
209
|
+
const result = await Promise.resolve(client.data.coinglass.exchangePairs(args));
|
|
210
|
+
return toMcpResult(result);
|
|
211
|
+
}
|
|
212
|
+
);
|
|
213
|
+
server.tool(
|
|
214
|
+
"data_coinglass_liquidations_by_exchange",
|
|
215
|
+
"Auto-generated from sdk.data.coinglass.liquidationsByExchange",
|
|
216
|
+
asRawShape(coinglassSchemas.LiquidationsByExchangeBody),
|
|
217
|
+
async (args) => {
|
|
218
|
+
const result = await Promise.resolve(client.data.coinglass.liquidationsByExchange(args));
|
|
219
|
+
return toMcpResult(result);
|
|
220
|
+
}
|
|
221
|
+
);
|
|
222
|
+
server.tool(
|
|
223
|
+
"data_coinglass_funding_rate_history",
|
|
224
|
+
"Auto-generated from sdk.data.coinglass.fundingRateHistory",
|
|
225
|
+
asRawShape(coinglassSchemas.FundingRateHistoryBody),
|
|
226
|
+
async (args) => {
|
|
227
|
+
const result = await Promise.resolve(client.data.coinglass.fundingRateHistory(args));
|
|
228
|
+
return toMcpResult(result);
|
|
229
|
+
}
|
|
230
|
+
);
|
|
231
|
+
server.tool(
|
|
232
|
+
"data_coinglass_open_interest_history",
|
|
233
|
+
"Auto-generated from sdk.data.coinglass.openInterestHistory",
|
|
234
|
+
asRawShape(coinglassSchemas.FundingRateHistoryBody),
|
|
235
|
+
async (args) => {
|
|
236
|
+
const result = await Promise.resolve(client.data.coinglass.openInterestHistory(args));
|
|
237
|
+
return toMcpResult(result);
|
|
238
|
+
}
|
|
239
|
+
);
|
|
240
|
+
server.tool(
|
|
241
|
+
"data_coinglass_liquidation_history",
|
|
242
|
+
"Auto-generated from sdk.data.coinglass.liquidationHistory",
|
|
243
|
+
asRawShape(coinglassSchemas.FundingRateHistoryBody),
|
|
244
|
+
async (args) => {
|
|
245
|
+
const result = await Promise.resolve(client.data.coinglass.liquidationHistory(args));
|
|
246
|
+
return toMcpResult(result);
|
|
247
|
+
}
|
|
248
|
+
);
|
|
249
|
+
server.tool(
|
|
250
|
+
"data_coinglass_long_short_ratio_history",
|
|
251
|
+
"Auto-generated from sdk.data.coinglass.longShortRatioHistory",
|
|
252
|
+
asRawShape(coinglassSchemas.FundingRateHistoryBody),
|
|
253
|
+
async (args) => {
|
|
254
|
+
const result = await Promise.resolve(client.data.coinglass.longShortRatioHistory(args));
|
|
255
|
+
return toMcpResult(result);
|
|
256
|
+
}
|
|
257
|
+
);
|
|
258
|
+
server.tool(
|
|
259
|
+
"data_composite_market_snapshot",
|
|
260
|
+
"Auto-generated from sdk.data.composite.marketSnapshot",
|
|
261
|
+
asRawShape(compositeSchemas.MarketSnapshotBody),
|
|
262
|
+
async (args) => {
|
|
263
|
+
const result = await Promise.resolve(client.data.composite.marketSnapshot(args));
|
|
264
|
+
return toMcpResult(result);
|
|
265
|
+
}
|
|
266
|
+
);
|
|
267
|
+
server.tool(
|
|
268
|
+
"data_composite_alpha_radar",
|
|
269
|
+
"Auto-generated from sdk.data.composite.alphaRadar",
|
|
270
|
+
asRawShape(compositeSchemas.AlphaRadarBody),
|
|
271
|
+
async (args) => {
|
|
272
|
+
const result = await Promise.resolve(client.data.composite.alphaRadar(args));
|
|
273
|
+
return toMcpResult(result);
|
|
274
|
+
}
|
|
275
|
+
);
|
|
276
|
+
server.tool(
|
|
277
|
+
"data_composite_wallet_xray",
|
|
278
|
+
"Auto-generated from sdk.data.composite.walletXray",
|
|
279
|
+
asRawShape(compositeSchemas.WalletXrayBody),
|
|
280
|
+
async (args) => {
|
|
281
|
+
const result = await Promise.resolve(client.data.composite.walletXray(args));
|
|
282
|
+
return toMcpResult(result);
|
|
283
|
+
}
|
|
284
|
+
);
|
|
285
|
+
server.tool(
|
|
286
|
+
"data_composite_health",
|
|
287
|
+
"Auto-generated from sdk.data.composite.health",
|
|
288
|
+
{},
|
|
289
|
+
async () => {
|
|
290
|
+
const result = await Promise.resolve(client.data.composite.health());
|
|
291
|
+
return toMcpResult(result);
|
|
292
|
+
}
|
|
293
|
+
);
|
|
294
|
+
server.tool(
|
|
295
|
+
"data_cryptonews_news",
|
|
296
|
+
"Auto-generated from sdk.data.cryptonews.news",
|
|
297
|
+
asRawShape(cryptonewsSchemas.NewsBody),
|
|
298
|
+
async (args) => {
|
|
299
|
+
const result = await Promise.resolve(client.data.cryptonews.news(args));
|
|
300
|
+
return toMcpResult(result);
|
|
301
|
+
}
|
|
302
|
+
);
|
|
303
|
+
server.tool(
|
|
304
|
+
"data_cryptonews_sentiment",
|
|
305
|
+
"Auto-generated from sdk.data.cryptonews.sentiment",
|
|
306
|
+
asRawShape(cryptonewsSchemas.SentimentBody),
|
|
307
|
+
async (args) => {
|
|
308
|
+
const result = await Promise.resolve(client.data.cryptonews.sentiment(args));
|
|
309
|
+
return toMcpResult(result);
|
|
310
|
+
}
|
|
311
|
+
);
|
|
312
|
+
server.tool(
|
|
313
|
+
"data_cryptonews_trending",
|
|
314
|
+
"Auto-generated from sdk.data.cryptonews.trending",
|
|
315
|
+
asRawShape(cryptonewsSchemas.TrendingQuery),
|
|
316
|
+
async (args) => {
|
|
317
|
+
const result = await Promise.resolve(client.data.cryptonews.trending(args));
|
|
318
|
+
return toMcpResult(result);
|
|
319
|
+
}
|
|
320
|
+
);
|
|
321
|
+
server.tool(
|
|
322
|
+
"data_defillama_tvl",
|
|
323
|
+
"Auto-generated from sdk.data.defillama.tvl",
|
|
324
|
+
asRawShape(defillamaSchemas.TvlBody),
|
|
325
|
+
async (args) => {
|
|
326
|
+
const result = await Promise.resolve(client.data.defillama.tvl(args));
|
|
327
|
+
return toMcpResult(result);
|
|
328
|
+
}
|
|
329
|
+
);
|
|
330
|
+
server.tool(
|
|
331
|
+
"data_defillama_yields",
|
|
332
|
+
"Auto-generated from sdk.data.defillama.yields",
|
|
333
|
+
asRawShape(defillamaSchemas.YieldsBody),
|
|
334
|
+
async (args) => {
|
|
335
|
+
const result = await Promise.resolve(client.data.defillama.yields(args));
|
|
336
|
+
return toMcpResult(result);
|
|
337
|
+
}
|
|
338
|
+
);
|
|
339
|
+
server.tool(
|
|
340
|
+
"data_defillama_protocol_fees",
|
|
341
|
+
"Auto-generated from sdk.data.defillama.protocolFees",
|
|
342
|
+
asRawShape(defillamaSchemas.ProtocolFeesBody),
|
|
343
|
+
async (args) => {
|
|
344
|
+
const result = await Promise.resolve(client.data.defillama.protocolFees(args));
|
|
345
|
+
return toMcpResult(result);
|
|
346
|
+
}
|
|
347
|
+
);
|
|
348
|
+
server.tool(
|
|
349
|
+
"data_defillama_dex_volumes",
|
|
350
|
+
"Auto-generated from sdk.data.defillama.dexVolumes",
|
|
351
|
+
asRawShape(defillamaSchemas.DexVolumesBody),
|
|
352
|
+
async (args) => {
|
|
353
|
+
const result = await Promise.resolve(client.data.defillama.dexVolumes(args));
|
|
354
|
+
return toMcpResult(result);
|
|
355
|
+
}
|
|
356
|
+
);
|
|
357
|
+
server.tool(
|
|
358
|
+
"data_defillama_stablecoins",
|
|
359
|
+
"Auto-generated from sdk.data.defillama.stablecoins",
|
|
360
|
+
asRawShape(defillamaSchemas.StablecoinsBody),
|
|
361
|
+
async (args) => {
|
|
362
|
+
const result = await Promise.resolve(client.data.defillama.stablecoins(args));
|
|
363
|
+
return toMcpResult(result);
|
|
364
|
+
}
|
|
365
|
+
);
|
|
366
|
+
server.tool(
|
|
367
|
+
"data_defillama_bridges",
|
|
368
|
+
"Auto-generated from sdk.data.defillama.bridges",
|
|
369
|
+
asRawShape(defillamaSchemas.BridgesBody),
|
|
370
|
+
async (args) => {
|
|
371
|
+
const result = await Promise.resolve(client.data.defillama.bridges(args));
|
|
372
|
+
return toMcpResult(result);
|
|
373
|
+
}
|
|
374
|
+
);
|
|
375
|
+
server.tool(
|
|
376
|
+
"data_defillama_bridges_list",
|
|
377
|
+
"Auto-generated from sdk.data.defillama.bridgesList",
|
|
378
|
+
{},
|
|
379
|
+
async () => {
|
|
380
|
+
const result = await Promise.resolve(client.data.defillama.bridgesList());
|
|
381
|
+
return toMcpResult(result);
|
|
382
|
+
}
|
|
383
|
+
);
|
|
384
|
+
server.tool(
|
|
385
|
+
"data_geckoterminal_token_pools",
|
|
386
|
+
"Auto-generated from sdk.data.geckoterminal.tokenPools",
|
|
387
|
+
asRawShape(geckoterminalSchemas.TokenPoolsBody),
|
|
388
|
+
async (args) => {
|
|
389
|
+
const result = await Promise.resolve(client.data.geckoterminal.tokenPools(args));
|
|
390
|
+
return toMcpResult(result);
|
|
391
|
+
}
|
|
392
|
+
);
|
|
393
|
+
server.tool(
|
|
394
|
+
"data_geckoterminal_pool_ohlcv",
|
|
395
|
+
"Auto-generated from sdk.data.geckoterminal.poolOhlcv",
|
|
396
|
+
asRawShape(geckoterminalSchemas.PoolOhlcvBody),
|
|
397
|
+
async (args) => {
|
|
398
|
+
const result = await Promise.resolve(client.data.geckoterminal.poolOhlcv(args));
|
|
399
|
+
return toMcpResult(result);
|
|
400
|
+
}
|
|
401
|
+
);
|
|
402
|
+
server.tool(
|
|
403
|
+
"data_geckoterminal_pool_trades",
|
|
404
|
+
"Auto-generated from sdk.data.geckoterminal.poolTrades",
|
|
405
|
+
asRawShape(geckoterminalSchemas.PoolTradesBody),
|
|
406
|
+
async (args) => {
|
|
407
|
+
const result = await Promise.resolve(client.data.geckoterminal.poolTrades(args));
|
|
408
|
+
return toMcpResult(result);
|
|
409
|
+
}
|
|
410
|
+
);
|
|
411
|
+
server.tool(
|
|
412
|
+
"data_geckoterminal_trending_pools",
|
|
413
|
+
"Auto-generated from sdk.data.geckoterminal.trendingPools",
|
|
414
|
+
{},
|
|
415
|
+
async () => {
|
|
416
|
+
const result = await Promise.resolve(client.data.geckoterminal.trendingPools());
|
|
417
|
+
return toMcpResult(result);
|
|
418
|
+
}
|
|
419
|
+
);
|
|
420
|
+
server.tool(
|
|
421
|
+
"data_geckoterminal_token_info",
|
|
422
|
+
"Auto-generated from sdk.data.geckoterminal.tokenInfo",
|
|
423
|
+
asRawShape(geckoterminalSchemas.TokenInfoBody),
|
|
424
|
+
async (args) => {
|
|
425
|
+
const result = await Promise.resolve(client.data.geckoterminal.tokenInfo(args));
|
|
426
|
+
return toMcpResult(result);
|
|
427
|
+
}
|
|
428
|
+
);
|
|
429
|
+
server.tool(
|
|
430
|
+
"data_kaito_entities",
|
|
431
|
+
"Auto-generated from sdk.data.kaito.entities",
|
|
432
|
+
asRawShape(kaitoSchemas.EntitiesQuery),
|
|
433
|
+
async (args) => {
|
|
434
|
+
const result = await Promise.resolve(client.data.kaito.entities(args));
|
|
435
|
+
return toMcpResult(result);
|
|
436
|
+
}
|
|
437
|
+
);
|
|
438
|
+
server.tool(
|
|
439
|
+
"data_kaito_narratives",
|
|
440
|
+
"Auto-generated from sdk.data.kaito.narratives",
|
|
441
|
+
asRawShape(kaitoSchemas.NarrativesQuery),
|
|
442
|
+
async (args) => {
|
|
443
|
+
const result = await Promise.resolve(client.data.kaito.narratives(args));
|
|
444
|
+
return toMcpResult(result);
|
|
445
|
+
}
|
|
446
|
+
);
|
|
447
|
+
server.tool(
|
|
448
|
+
"data_kaito_search",
|
|
449
|
+
"Auto-generated from sdk.data.kaito.search",
|
|
450
|
+
asRawShape(kaitoSchemas.SearchBody),
|
|
451
|
+
async (args) => {
|
|
452
|
+
const result = await Promise.resolve(client.data.kaito.search(args));
|
|
453
|
+
return toMcpResult(result);
|
|
454
|
+
}
|
|
455
|
+
);
|
|
456
|
+
server.tool(
|
|
457
|
+
"data_kaito_advanced_search",
|
|
458
|
+
"Auto-generated from sdk.data.kaito.advancedSearch",
|
|
459
|
+
asRawShape(kaitoSchemas.AdvancedSearchBody),
|
|
460
|
+
async (args) => {
|
|
461
|
+
const result = await Promise.resolve(client.data.kaito.advancedSearch(args));
|
|
462
|
+
return toMcpResult(result);
|
|
463
|
+
}
|
|
464
|
+
);
|
|
465
|
+
server.tool(
|
|
466
|
+
"data_kaito_tweet_engagement",
|
|
467
|
+
"Auto-generated from sdk.data.kaito.tweetEngagement",
|
|
468
|
+
asRawShape(kaitoSchemas.TweetEngagementBody),
|
|
469
|
+
async (args) => {
|
|
470
|
+
const result = await Promise.resolve(client.data.kaito.tweetEngagement(args));
|
|
471
|
+
return toMcpResult(result);
|
|
472
|
+
}
|
|
473
|
+
);
|
|
474
|
+
server.tool(
|
|
475
|
+
"data_kaito_feeds",
|
|
476
|
+
"Auto-generated from sdk.data.kaito.feeds",
|
|
477
|
+
asRawShape(kaitoSchemas.FeedsBody),
|
|
478
|
+
async (args) => {
|
|
479
|
+
const result = await Promise.resolve(client.data.kaito.feeds(args));
|
|
480
|
+
return toMcpResult(result);
|
|
481
|
+
}
|
|
482
|
+
);
|
|
483
|
+
server.tool(
|
|
484
|
+
"data_kaito_sentiment",
|
|
485
|
+
"Auto-generated from sdk.data.kaito.sentiment",
|
|
486
|
+
asRawShape(kaitoSchemas.SentimentBody),
|
|
487
|
+
async (args) => {
|
|
488
|
+
const result = await Promise.resolve(client.data.kaito.sentiment(args));
|
|
489
|
+
return toMcpResult(result);
|
|
490
|
+
}
|
|
491
|
+
);
|
|
492
|
+
server.tool(
|
|
493
|
+
"data_kaito_engagement",
|
|
494
|
+
"Auto-generated from sdk.data.kaito.engagement",
|
|
495
|
+
asRawShape(kaitoSchemas.EngagementBody),
|
|
496
|
+
async (args) => {
|
|
497
|
+
const result = await Promise.resolve(client.data.kaito.engagement(args));
|
|
498
|
+
return toMcpResult(result);
|
|
499
|
+
}
|
|
500
|
+
);
|
|
501
|
+
server.tool(
|
|
502
|
+
"data_kaito_mentions",
|
|
503
|
+
"Auto-generated from sdk.data.kaito.mentions",
|
|
504
|
+
asRawShape(kaitoSchemas.EngagementBody),
|
|
505
|
+
async (args) => {
|
|
506
|
+
const result = await Promise.resolve(client.data.kaito.mentions(args));
|
|
507
|
+
return toMcpResult(result);
|
|
508
|
+
}
|
|
509
|
+
);
|
|
510
|
+
server.tool(
|
|
511
|
+
"data_kaito_mindshare",
|
|
512
|
+
"Auto-generated from sdk.data.kaito.mindshare",
|
|
513
|
+
asRawShape(kaitoSchemas.MindshareBody),
|
|
514
|
+
async (args) => {
|
|
515
|
+
const result = await Promise.resolve(client.data.kaito.mindshare(args));
|
|
516
|
+
return toMcpResult(result);
|
|
517
|
+
}
|
|
518
|
+
);
|
|
519
|
+
server.tool(
|
|
520
|
+
"data_kaito_mindshare_arena",
|
|
521
|
+
"Auto-generated from sdk.data.kaito.mindshareArena",
|
|
522
|
+
asRawShape(kaitoSchemas.MindshareArenaBody),
|
|
523
|
+
async (args) => {
|
|
524
|
+
const result = await Promise.resolve(client.data.kaito.mindshareArena(args));
|
|
525
|
+
return toMcpResult(result);
|
|
526
|
+
}
|
|
527
|
+
);
|
|
528
|
+
server.tool(
|
|
529
|
+
"data_kaito_mindshare_delta",
|
|
530
|
+
"Auto-generated from sdk.data.kaito.mindshareDelta",
|
|
531
|
+
asRawShape(kaitoSchemas.MindshareDeltaBody),
|
|
532
|
+
async (args) => {
|
|
533
|
+
const result = await Promise.resolve(client.data.kaito.mindshareDelta(args));
|
|
534
|
+
return toMcpResult(result);
|
|
535
|
+
}
|
|
536
|
+
);
|
|
537
|
+
server.tool(
|
|
538
|
+
"data_kaito_mindshare_narrative",
|
|
539
|
+
"Auto-generated from sdk.data.kaito.mindshareNarrative",
|
|
540
|
+
asRawShape(kaitoSchemas.MindshareNarrativeBody),
|
|
541
|
+
async (args) => {
|
|
542
|
+
const result = await Promise.resolve(client.data.kaito.mindshareNarrative(args));
|
|
543
|
+
return toMcpResult(result);
|
|
544
|
+
}
|
|
545
|
+
);
|
|
546
|
+
server.tool(
|
|
547
|
+
"data_kaito_kol_mindshare",
|
|
548
|
+
"Auto-generated from sdk.data.kaito.kolMindshare",
|
|
549
|
+
asRawShape(kaitoSchemas.KolMindshareBody),
|
|
550
|
+
async (args) => {
|
|
551
|
+
const result = await Promise.resolve(client.data.kaito.kolMindshare(args));
|
|
552
|
+
return toMcpResult(result);
|
|
553
|
+
}
|
|
554
|
+
);
|
|
555
|
+
server.tool(
|
|
556
|
+
"data_kaito_events",
|
|
557
|
+
"Auto-generated from sdk.data.kaito.events",
|
|
558
|
+
asRawShape(kaitoSchemas.EventsBody),
|
|
559
|
+
async (args) => {
|
|
560
|
+
const result = await Promise.resolve(client.data.kaito.events(args));
|
|
561
|
+
return toMcpResult(result);
|
|
562
|
+
}
|
|
563
|
+
);
|
|
564
|
+
server.tool(
|
|
565
|
+
"data_kaito_twitter_user_metadata",
|
|
566
|
+
"Auto-generated from sdk.data.kaito.twitterUserMetadata",
|
|
567
|
+
asRawShape(kaitoSchemas.TwitterUserMetadataBody),
|
|
568
|
+
async (args) => {
|
|
569
|
+
const result = await Promise.resolve(client.data.kaito.twitterUserMetadata(args));
|
|
570
|
+
return toMcpResult(result);
|
|
571
|
+
}
|
|
572
|
+
);
|
|
573
|
+
server.tool(
|
|
574
|
+
"data_kaito_market_smart_following",
|
|
575
|
+
"Auto-generated from sdk.data.kaito.marketSmartFollowing",
|
|
576
|
+
asRawShape(kaitoSchemas.MarketSmartFollowingBody),
|
|
577
|
+
async (args) => {
|
|
578
|
+
const result = await Promise.resolve(client.data.kaito.marketSmartFollowing(args));
|
|
579
|
+
return toMcpResult(result);
|
|
580
|
+
}
|
|
581
|
+
);
|
|
582
|
+
server.tool(
|
|
583
|
+
"data_kaito_smart_followers",
|
|
584
|
+
"Auto-generated from sdk.data.kaito.smartFollowers",
|
|
585
|
+
asRawShape(kaitoSchemas.SmartFollowersBody),
|
|
586
|
+
async (args) => {
|
|
587
|
+
const result = await Promise.resolve(client.data.kaito.smartFollowers(args));
|
|
588
|
+
return toMcpResult(result);
|
|
589
|
+
}
|
|
590
|
+
);
|
|
591
|
+
server.tool(
|
|
592
|
+
"data_kaito_smart_following",
|
|
593
|
+
"Auto-generated from sdk.data.kaito.smartFollowing",
|
|
594
|
+
asRawShape(kaitoSchemas.SmartFollowingBody),
|
|
595
|
+
async (args) => {
|
|
596
|
+
const result = await Promise.resolve(client.data.kaito.smartFollowing(args));
|
|
597
|
+
return toMcpResult(result);
|
|
598
|
+
}
|
|
599
|
+
);
|
|
600
|
+
server.tool(
|
|
601
|
+
"data_moralis_wallet",
|
|
602
|
+
"Auto-generated from sdk.data.moralis.wallet",
|
|
603
|
+
asRawShape(moralisSchemas.WalletBody),
|
|
604
|
+
async (args) => {
|
|
605
|
+
const result = await Promise.resolve(client.data.moralis.wallet(args));
|
|
606
|
+
return toMcpResult(result);
|
|
607
|
+
}
|
|
608
|
+
);
|
|
609
|
+
server.tool(
|
|
610
|
+
"data_moralis_transfers",
|
|
611
|
+
"Auto-generated from sdk.data.moralis.transfers",
|
|
612
|
+
asRawShape(moralisSchemas.TransfersBody),
|
|
613
|
+
async (args) => {
|
|
614
|
+
const result = await Promise.resolve(client.data.moralis.transfers(args));
|
|
615
|
+
return toMcpResult(result);
|
|
616
|
+
}
|
|
617
|
+
);
|
|
618
|
+
server.tool(
|
|
619
|
+
"data_moralis_defi_positions",
|
|
620
|
+
"Auto-generated from sdk.data.moralis.defiPositions",
|
|
621
|
+
asRawShape(moralisSchemas.DefiPositionsBody),
|
|
622
|
+
async (args) => {
|
|
623
|
+
const result = await Promise.resolve(client.data.moralis.defiPositions(args));
|
|
624
|
+
return toMcpResult(result);
|
|
625
|
+
}
|
|
626
|
+
);
|
|
627
|
+
server.tool(
|
|
628
|
+
"data_moralis_nft_holdings",
|
|
629
|
+
"Auto-generated from sdk.data.moralis.nftHoldings",
|
|
630
|
+
asRawShape(moralisSchemas.NftHoldingsBody),
|
|
631
|
+
async (args) => {
|
|
632
|
+
const result = await Promise.resolve(client.data.moralis.nftHoldings(args));
|
|
633
|
+
return toMcpResult(result);
|
|
634
|
+
}
|
|
635
|
+
);
|
|
636
|
+
server.tool(
|
|
637
|
+
"data_noya_tokens_search",
|
|
638
|
+
"Auto-generated from sdk.data.noya.tokensSearch",
|
|
639
|
+
asRawShape(noyaSchemas.TokensSearchBody),
|
|
640
|
+
async (args) => {
|
|
641
|
+
const result = await Promise.resolve(client.data.noya.tokensSearch(args));
|
|
642
|
+
return toMcpResult(result);
|
|
643
|
+
}
|
|
644
|
+
);
|
|
645
|
+
server.tool(
|
|
646
|
+
"data_noya_tokens_similar",
|
|
647
|
+
"Auto-generated from sdk.data.noya.tokensSimilar",
|
|
648
|
+
asRawShape(noyaSchemas.TokensSimilarBody),
|
|
649
|
+
async (args) => {
|
|
650
|
+
const result = await Promise.resolve(client.data.noya.tokensSimilar(args));
|
|
651
|
+
return toMcpResult(result);
|
|
652
|
+
}
|
|
653
|
+
);
|
|
654
|
+
server.tool(
|
|
655
|
+
"data_noya_tokens_recommendations",
|
|
656
|
+
"Auto-generated from sdk.data.noya.tokensRecommendations",
|
|
657
|
+
asRawShape(noyaSchemas.TokensRecommendationsBody),
|
|
658
|
+
async (args) => {
|
|
659
|
+
const result = await Promise.resolve(client.data.noya.tokensRecommendations(args));
|
|
660
|
+
return toMcpResult(result);
|
|
661
|
+
}
|
|
662
|
+
);
|
|
663
|
+
server.tool(
|
|
664
|
+
"data_noya_tokens_top_score",
|
|
665
|
+
"Auto-generated from sdk.data.noya.tokensTopScore",
|
|
666
|
+
asRawShape(noyaSchemas.TopTokensByScoreBody),
|
|
667
|
+
async (args) => {
|
|
668
|
+
const result = await Promise.resolve(client.data.noya.tokensTopScore(args));
|
|
669
|
+
return toMcpResult(result);
|
|
670
|
+
}
|
|
671
|
+
);
|
|
672
|
+
server.tool(
|
|
673
|
+
"data_noya_tokens_health",
|
|
674
|
+
"Auto-generated from sdk.data.noya.tokensHealth",
|
|
675
|
+
{},
|
|
676
|
+
async () => {
|
|
677
|
+
const result = await Promise.resolve(client.data.noya.tokensHealth());
|
|
678
|
+
return toMcpResult(result);
|
|
679
|
+
}
|
|
680
|
+
);
|
|
681
|
+
server.tool(
|
|
682
|
+
"data_noya_tokens_versions",
|
|
683
|
+
"Auto-generated from sdk.data.noya.tokensVersions",
|
|
684
|
+
{},
|
|
685
|
+
async () => {
|
|
686
|
+
const result = await Promise.resolve(client.data.noya.tokensVersions());
|
|
687
|
+
return toMcpResult(result);
|
|
688
|
+
}
|
|
689
|
+
);
|
|
690
|
+
server.tool(
|
|
691
|
+
"data_noya_tokens_by_version",
|
|
692
|
+
"Auto-generated from sdk.data.noya.tokensByVersion",
|
|
693
|
+
asRawShape(noyaSchemas.TokensByVersionBody),
|
|
694
|
+
async (args) => {
|
|
695
|
+
const result = await Promise.resolve(client.data.noya.tokensByVersion(args));
|
|
696
|
+
return toMcpResult(result);
|
|
697
|
+
}
|
|
698
|
+
);
|
|
699
|
+
server.tool(
|
|
700
|
+
"data_noya_tokens_detail",
|
|
701
|
+
"Auto-generated from sdk.data.noya.tokensDetail",
|
|
702
|
+
asRawShape(noyaSchemas.TokenDetailBody),
|
|
703
|
+
async (args) => {
|
|
704
|
+
const result = await Promise.resolve(client.data.noya.tokensDetail(args));
|
|
705
|
+
return toMcpResult(result);
|
|
706
|
+
}
|
|
707
|
+
);
|
|
708
|
+
server.tool(
|
|
709
|
+
"data_noya_polymarket_search",
|
|
710
|
+
"Auto-generated from sdk.data.noya.polymarketSearch",
|
|
711
|
+
asRawShape(noyaSchemas.PolymarketSearchBody),
|
|
712
|
+
async (args) => {
|
|
713
|
+
const result = await Promise.resolve(client.data.noya.polymarketSearch(args));
|
|
714
|
+
return toMcpResult(result);
|
|
715
|
+
}
|
|
716
|
+
);
|
|
717
|
+
server.tool(
|
|
718
|
+
"data_noya_polymarket_similar",
|
|
719
|
+
"Auto-generated from sdk.data.noya.polymarketSimilar",
|
|
720
|
+
asRawShape(noyaSchemas.PolymarketSimilarBody),
|
|
721
|
+
async (args) => {
|
|
722
|
+
const result = await Promise.resolve(client.data.noya.polymarketSimilar(args));
|
|
723
|
+
return toMcpResult(result);
|
|
724
|
+
}
|
|
725
|
+
);
|
|
726
|
+
server.tool(
|
|
727
|
+
"data_noya_polymarket_recommendations",
|
|
728
|
+
"Auto-generated from sdk.data.noya.polymarketRecommendations",
|
|
729
|
+
asRawShape(noyaSchemas.PolymarketRecommendationsBody),
|
|
730
|
+
async (args) => {
|
|
731
|
+
const result = await Promise.resolve(client.data.noya.polymarketRecommendations(args));
|
|
732
|
+
return toMcpResult(result);
|
|
733
|
+
}
|
|
734
|
+
);
|
|
735
|
+
server.tool(
|
|
736
|
+
"data_noya_polymarket_top_ev",
|
|
737
|
+
"Auto-generated from sdk.data.noya.polymarketTopEv",
|
|
738
|
+
asRawShape(noyaSchemas.TopMarketsByEvBody),
|
|
739
|
+
async (args) => {
|
|
740
|
+
const result = await Promise.resolve(client.data.noya.polymarketTopEv(args));
|
|
741
|
+
return toMcpResult(result);
|
|
742
|
+
}
|
|
743
|
+
);
|
|
744
|
+
server.tool(
|
|
745
|
+
"data_noya_polymarket_filter",
|
|
746
|
+
"Auto-generated from sdk.data.noya.polymarketFilter",
|
|
747
|
+
asRawShape(noyaSchemas.PolymarketFilterBody),
|
|
748
|
+
async (args) => {
|
|
749
|
+
const result = await Promise.resolve(client.data.noya.polymarketFilter(args));
|
|
750
|
+
return toMcpResult(result);
|
|
751
|
+
}
|
|
752
|
+
);
|
|
753
|
+
server.tool(
|
|
754
|
+
"data_noya_polymarket_events",
|
|
755
|
+
"Auto-generated from sdk.data.noya.polymarketEvents",
|
|
756
|
+
asRawShape(noyaSchemas.PolymarketEventsBody),
|
|
757
|
+
async (args) => {
|
|
758
|
+
const result = await Promise.resolve(client.data.noya.polymarketEvents(args));
|
|
759
|
+
return toMcpResult(result);
|
|
760
|
+
}
|
|
761
|
+
);
|
|
762
|
+
server.tool(
|
|
763
|
+
"data_noya_polymarket_by_event",
|
|
764
|
+
"Auto-generated from sdk.data.noya.polymarketByEvent",
|
|
765
|
+
asRawShape(noyaSchemas.PolymarketByEventBody),
|
|
766
|
+
async (args) => {
|
|
767
|
+
const result = await Promise.resolve(client.data.noya.polymarketByEvent(args));
|
|
768
|
+
return toMcpResult(result);
|
|
769
|
+
}
|
|
770
|
+
);
|
|
771
|
+
server.tool(
|
|
772
|
+
"data_noya_polymarket_tags",
|
|
773
|
+
"Auto-generated from sdk.data.noya.polymarketTags",
|
|
774
|
+
asRawShape(noyaSchemas.PolymarketTagsBody),
|
|
775
|
+
async (args) => {
|
|
776
|
+
const result = await Promise.resolve(client.data.noya.polymarketTags(args));
|
|
777
|
+
return toMcpResult(result);
|
|
778
|
+
}
|
|
779
|
+
);
|
|
780
|
+
server.tool(
|
|
781
|
+
"data_noya_polymarket_health",
|
|
782
|
+
"Auto-generated from sdk.data.noya.polymarketHealth",
|
|
783
|
+
{},
|
|
784
|
+
async () => {
|
|
785
|
+
const result = await Promise.resolve(client.data.noya.polymarketHealth());
|
|
786
|
+
return toMcpResult(result);
|
|
787
|
+
}
|
|
788
|
+
);
|
|
789
|
+
server.tool(
|
|
790
|
+
"data_noya_polymarket_analysis_versions",
|
|
791
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisVersions",
|
|
792
|
+
asRawShape(noyaSchemas.AnalysisVersionsBody),
|
|
793
|
+
async (args) => {
|
|
794
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisVersions(args));
|
|
795
|
+
return toMcpResult(result);
|
|
796
|
+
}
|
|
797
|
+
);
|
|
798
|
+
server.tool(
|
|
799
|
+
"data_noya_polymarket_analysis_latest",
|
|
800
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisLatest",
|
|
801
|
+
{},
|
|
802
|
+
async () => {
|
|
803
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisLatest());
|
|
804
|
+
return toMcpResult(result);
|
|
805
|
+
}
|
|
806
|
+
);
|
|
807
|
+
server.tool(
|
|
808
|
+
"data_noya_polymarket_analysis_events",
|
|
809
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisEvents",
|
|
810
|
+
asRawShape(noyaSchemas.AnalysisEventsBody),
|
|
811
|
+
async (args) => {
|
|
812
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisEvents(args));
|
|
813
|
+
return toMcpResult(result);
|
|
814
|
+
}
|
|
815
|
+
);
|
|
816
|
+
server.tool(
|
|
817
|
+
"data_noya_polymarket_analysis_event_history",
|
|
818
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisEventHistory",
|
|
819
|
+
asRawShape(noyaSchemas.AnalysisEventHistoryBody),
|
|
820
|
+
async (args) => {
|
|
821
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisEventHistory(args));
|
|
822
|
+
return toMcpResult(result);
|
|
823
|
+
}
|
|
824
|
+
);
|
|
825
|
+
server.tool(
|
|
826
|
+
"data_noya_polymarket_analysis_market_history",
|
|
827
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisMarketHistory",
|
|
828
|
+
asRawShape(noyaSchemas.AnalysisMarketHistoryBody),
|
|
829
|
+
async (args) => {
|
|
830
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisMarketHistory(args));
|
|
831
|
+
return toMcpResult(result);
|
|
832
|
+
}
|
|
833
|
+
);
|
|
834
|
+
server.tool(
|
|
835
|
+
"data_noya_polymarket_analysis_top",
|
|
836
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisTop",
|
|
837
|
+
asRawShape(noyaSchemas.AnalysisTopBody),
|
|
838
|
+
async (args) => {
|
|
839
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisTop(args));
|
|
840
|
+
return toMcpResult(result);
|
|
841
|
+
}
|
|
842
|
+
);
|
|
843
|
+
server.tool(
|
|
844
|
+
"data_noya_polymarket_analysis_health",
|
|
845
|
+
"Auto-generated from sdk.data.noya.polymarketAnalysisHealth",
|
|
846
|
+
{},
|
|
847
|
+
async () => {
|
|
848
|
+
const result = await Promise.resolve(client.data.noya.polymarketAnalysisHealth());
|
|
849
|
+
return toMcpResult(result);
|
|
850
|
+
}
|
|
851
|
+
);
|
|
852
|
+
server.tool(
|
|
853
|
+
"account_polymarket_address",
|
|
854
|
+
"Derive the Polymarket Safe address (CREATE2) for the user's EOA. Mirrors `noya_get_polymarket_address` MCP tool \u2014 pure local derivation, no network call beyond the one /api/me to resolve the EOA",
|
|
855
|
+
{},
|
|
856
|
+
async () => {
|
|
857
|
+
const result = await Promise.resolve(client.account.polymarketAddress());
|
|
858
|
+
return toMcpResult(result);
|
|
859
|
+
}
|
|
860
|
+
);
|
|
861
|
+
server.tool(
|
|
862
|
+
"account_address",
|
|
863
|
+
"Resolved Ethereum address from /api/me. Throws if anonymous",
|
|
864
|
+
{},
|
|
865
|
+
async () => {
|
|
866
|
+
const result = await Promise.resolve(client.account.address());
|
|
867
|
+
return toMcpResult(result);
|
|
868
|
+
}
|
|
869
|
+
);
|
|
870
|
+
server.tool(
|
|
871
|
+
"account_sign_message",
|
|
872
|
+
"Auto-generated from sdk.account.signMessage",
|
|
873
|
+
asRawShape(sdkSchemas.SignMessageInput),
|
|
874
|
+
async (args) => {
|
|
875
|
+
const result = await Promise.resolve(client.account.signMessage(args));
|
|
876
|
+
return toMcpResult(result);
|
|
877
|
+
}
|
|
878
|
+
);
|
|
879
|
+
server.tool(
|
|
880
|
+
"account_sign_transaction",
|
|
881
|
+
"Auto-generated from sdk.account.signTransaction",
|
|
882
|
+
asRawShape(sdkSchemas.SignTransactionInput),
|
|
883
|
+
async (args) => {
|
|
884
|
+
const result = await Promise.resolve(client.account.signTransaction(args));
|
|
885
|
+
return toMcpResult(result);
|
|
886
|
+
}
|
|
887
|
+
);
|
|
888
|
+
server.tool(
|
|
889
|
+
"account_sign_typed_data",
|
|
890
|
+
"Auto-generated from sdk.account.signTypedData",
|
|
891
|
+
asRawShape(sdkSchemas.SignTypedDataInput),
|
|
892
|
+
async (args) => {
|
|
893
|
+
const result = await Promise.resolve(client.account.signTypedData(args));
|
|
894
|
+
return toMcpResult(result);
|
|
895
|
+
}
|
|
896
|
+
);
|
|
897
|
+
server.tool(
|
|
898
|
+
"account_to_viem",
|
|
899
|
+
"Returns a viem `LocalAccount` whose signing methods POST to signer. Memoized \u2014 same Account instance always returns the same viem account",
|
|
900
|
+
{},
|
|
901
|
+
async () => {
|
|
902
|
+
const result = await Promise.resolve(client.account.toViem());
|
|
903
|
+
return toMcpResult(result);
|
|
904
|
+
}
|
|
905
|
+
);
|
|
906
|
+
server.tool(
|
|
907
|
+
"chain_wallet_get_wallet_details",
|
|
908
|
+
"Auto-generated from sdk.chain.wallet.getWalletDetails",
|
|
909
|
+
asRawShape(sdkSchemas.WalletGetWalletDetailsInput),
|
|
910
|
+
async (args) => {
|
|
911
|
+
const result = await Promise.resolve(client.chain.wallet.getWalletDetails(args));
|
|
912
|
+
return toMcpResult(result);
|
|
913
|
+
}
|
|
914
|
+
);
|
|
915
|
+
server.tool(
|
|
916
|
+
"chain_wallet_native_transfer",
|
|
917
|
+
"Auto-generated from sdk.chain.wallet.nativeTransfer",
|
|
918
|
+
asRawShape(sdkSchemas.WalletNativeTransferInput),
|
|
919
|
+
async (args) => {
|
|
920
|
+
const result = await Promise.resolve(client.chain.wallet.nativeTransfer(args));
|
|
921
|
+
return toMcpResult(result);
|
|
922
|
+
}
|
|
923
|
+
);
|
|
924
|
+
server.tool(
|
|
925
|
+
"chain_erc20_get_balance",
|
|
926
|
+
"Auto-generated from sdk.chain.erc20.getBalance",
|
|
927
|
+
asRawShape(sdkSchemas.Erc20GetBalanceInput),
|
|
928
|
+
async (args) => {
|
|
929
|
+
const result = await Promise.resolve(client.chain.erc20.getBalance(args));
|
|
930
|
+
return toMcpResult(result);
|
|
931
|
+
}
|
|
932
|
+
);
|
|
933
|
+
server.tool(
|
|
934
|
+
"chain_erc20_get_allowance",
|
|
935
|
+
"Auto-generated from sdk.chain.erc20.getAllowance",
|
|
936
|
+
asRawShape(sdkSchemas.Erc20GetAllowanceInput),
|
|
937
|
+
async (args) => {
|
|
938
|
+
const result = await Promise.resolve(client.chain.erc20.getAllowance(args));
|
|
939
|
+
return toMcpResult(result);
|
|
940
|
+
}
|
|
941
|
+
);
|
|
942
|
+
server.tool(
|
|
943
|
+
"chain_erc20_get_erc20_token_address",
|
|
944
|
+
"Auto-generated from sdk.chain.erc20.getErc20TokenAddress",
|
|
945
|
+
asRawShape(sdkSchemas.Erc20GetErc20TokenAddressInput),
|
|
946
|
+
async (args) => {
|
|
947
|
+
const result = await Promise.resolve(client.chain.erc20.getErc20TokenAddress(args));
|
|
948
|
+
return toMcpResult(result);
|
|
949
|
+
}
|
|
950
|
+
);
|
|
951
|
+
server.tool(
|
|
952
|
+
"chain_erc20_transfer",
|
|
953
|
+
"Auto-generated from sdk.chain.erc20.transfer",
|
|
954
|
+
asRawShape(sdkSchemas.Erc20TransferInput),
|
|
955
|
+
async (args) => {
|
|
956
|
+
const result = await Promise.resolve(client.chain.erc20.transfer(args));
|
|
957
|
+
return toMcpResult(result);
|
|
958
|
+
}
|
|
959
|
+
);
|
|
960
|
+
server.tool(
|
|
961
|
+
"chain_erc20_approve",
|
|
962
|
+
"Auto-generated from sdk.chain.erc20.approve",
|
|
963
|
+
asRawShape(sdkSchemas.Erc20ApproveInput),
|
|
964
|
+
async (args) => {
|
|
965
|
+
const result = await Promise.resolve(client.chain.erc20.approve(args));
|
|
966
|
+
return toMcpResult(result);
|
|
967
|
+
}
|
|
968
|
+
);
|
|
969
|
+
server.tool(
|
|
970
|
+
"chain_erc721_get_balance",
|
|
971
|
+
"Auto-generated from sdk.chain.erc721.getBalance",
|
|
972
|
+
asRawShape(sdkSchemas.Erc721GetBalanceInput),
|
|
973
|
+
async (args) => {
|
|
974
|
+
const result = await Promise.resolve(client.chain.erc721.getBalance(args));
|
|
975
|
+
return toMcpResult(result);
|
|
976
|
+
}
|
|
977
|
+
);
|
|
978
|
+
server.tool(
|
|
979
|
+
"chain_erc721_mint",
|
|
980
|
+
"Auto-generated from sdk.chain.erc721.mint",
|
|
981
|
+
asRawShape(sdkSchemas.Erc721MintInput),
|
|
982
|
+
async (args) => {
|
|
983
|
+
const result = await Promise.resolve(client.chain.erc721.mint(args));
|
|
984
|
+
return toMcpResult(result);
|
|
985
|
+
}
|
|
986
|
+
);
|
|
987
|
+
server.tool(
|
|
988
|
+
"chain_erc721_transfer",
|
|
989
|
+
"Auto-generated from sdk.chain.erc721.transfer",
|
|
990
|
+
asRawShape(sdkSchemas.Erc721TransferInput),
|
|
991
|
+
async (args) => {
|
|
992
|
+
const result = await Promise.resolve(client.chain.erc721.transfer(args));
|
|
993
|
+
return toMcpResult(result);
|
|
994
|
+
}
|
|
995
|
+
);
|
|
996
|
+
server.tool(
|
|
997
|
+
"chain_weth_wrap_eth",
|
|
998
|
+
"Auto-generated from sdk.chain.weth.wrapEth",
|
|
999
|
+
asRawShape(sdkSchemas.WethWrapEthInput),
|
|
1000
|
+
async (args) => {
|
|
1001
|
+
const result = await Promise.resolve(client.chain.weth.wrapEth(args));
|
|
1002
|
+
return toMcpResult(result);
|
|
1003
|
+
}
|
|
1004
|
+
);
|
|
1005
|
+
server.tool(
|
|
1006
|
+
"chain_weth_unwrap_eth",
|
|
1007
|
+
"Auto-generated from sdk.chain.weth.unwrapEth",
|
|
1008
|
+
asRawShape(sdkSchemas.WethUnwrapEthInput),
|
|
1009
|
+
async (args) => {
|
|
1010
|
+
const result = await Promise.resolve(client.chain.weth.unwrapEth(args));
|
|
1011
|
+
return toMcpResult(result);
|
|
1012
|
+
}
|
|
1013
|
+
);
|
|
1014
|
+
server.tool(
|
|
1015
|
+
"chain_compound_supply",
|
|
1016
|
+
"Auto-generated from sdk.chain.compound.supply",
|
|
1017
|
+
asRawShape(sdkSchemas.CompoundSupplyInput),
|
|
1018
|
+
async (args) => {
|
|
1019
|
+
const result = await Promise.resolve(client.chain.compound.supply(args));
|
|
1020
|
+
return toMcpResult(result);
|
|
1021
|
+
}
|
|
1022
|
+
);
|
|
1023
|
+
server.tool(
|
|
1024
|
+
"chain_compound_withdraw",
|
|
1025
|
+
"Auto-generated from sdk.chain.compound.withdraw",
|
|
1026
|
+
asRawShape(sdkSchemas.CompoundSupplyInput),
|
|
1027
|
+
async (args) => {
|
|
1028
|
+
const result = await Promise.resolve(client.chain.compound.withdraw(args));
|
|
1029
|
+
return toMcpResult(result);
|
|
1030
|
+
}
|
|
1031
|
+
);
|
|
1032
|
+
server.tool(
|
|
1033
|
+
"chain_compound_borrow",
|
|
1034
|
+
"Auto-generated from sdk.chain.compound.borrow",
|
|
1035
|
+
asRawShape(sdkSchemas.CompoundSupplyInput),
|
|
1036
|
+
async (args) => {
|
|
1037
|
+
const result = await Promise.resolve(client.chain.compound.borrow(args));
|
|
1038
|
+
return toMcpResult(result);
|
|
1039
|
+
}
|
|
1040
|
+
);
|
|
1041
|
+
server.tool(
|
|
1042
|
+
"chain_compound_repay",
|
|
1043
|
+
"Auto-generated from sdk.chain.compound.repay",
|
|
1044
|
+
asRawShape(sdkSchemas.CompoundSupplyInput),
|
|
1045
|
+
async (args) => {
|
|
1046
|
+
const result = await Promise.resolve(client.chain.compound.repay(args));
|
|
1047
|
+
return toMcpResult(result);
|
|
1048
|
+
}
|
|
1049
|
+
);
|
|
1050
|
+
server.tool(
|
|
1051
|
+
"chain_compound_get_portfolio",
|
|
1052
|
+
"Auto-generated from sdk.chain.compound.getPortfolio",
|
|
1053
|
+
asRawShape(sdkSchemas.CompoundGetPortfolioInput),
|
|
1054
|
+
async (args) => {
|
|
1055
|
+
const result = await Promise.resolve(client.chain.compound.getPortfolio(args));
|
|
1056
|
+
return toMcpResult(result);
|
|
1057
|
+
}
|
|
1058
|
+
);
|
|
1059
|
+
server.tool(
|
|
1060
|
+
"chain_morpho_deposit",
|
|
1061
|
+
"Auto-generated from sdk.chain.morpho.deposit",
|
|
1062
|
+
asRawShape(sdkSchemas.MorphoDepositInput),
|
|
1063
|
+
async (args) => {
|
|
1064
|
+
const result = await Promise.resolve(client.chain.morpho.deposit(args));
|
|
1065
|
+
return toMcpResult(result);
|
|
1066
|
+
}
|
|
1067
|
+
);
|
|
1068
|
+
server.tool(
|
|
1069
|
+
"chain_morpho_withdraw",
|
|
1070
|
+
"Auto-generated from sdk.chain.morpho.withdraw",
|
|
1071
|
+
asRawShape(sdkSchemas.MorphoDepositInput),
|
|
1072
|
+
async (args) => {
|
|
1073
|
+
const result = await Promise.resolve(client.chain.morpho.withdraw(args));
|
|
1074
|
+
return toMcpResult(result);
|
|
1075
|
+
}
|
|
1076
|
+
);
|
|
1077
|
+
server.tool(
|
|
1078
|
+
"chain_enso_route",
|
|
1079
|
+
"Auto-generated from sdk.chain.enso.route",
|
|
1080
|
+
asRawShape(sdkSchemas.EnsoRouteInput),
|
|
1081
|
+
async (args) => {
|
|
1082
|
+
const result = await Promise.resolve(client.chain.enso.route(args));
|
|
1083
|
+
return toMcpResult(result);
|
|
1084
|
+
}
|
|
1085
|
+
);
|
|
1086
|
+
server.tool(
|
|
1087
|
+
"chain_enso_bridge",
|
|
1088
|
+
"Auto-generated from sdk.chain.enso.bridge",
|
|
1089
|
+
asRawShape(sdkSchemas.EnsoBridgeInput),
|
|
1090
|
+
async (args) => {
|
|
1091
|
+
const result = await Promise.resolve(client.chain.enso.bridge(args));
|
|
1092
|
+
return toMcpResult(result);
|
|
1093
|
+
}
|
|
1094
|
+
);
|
|
1095
|
+
server.tool(
|
|
1096
|
+
"chain_pyth_fetch_price_feed",
|
|
1097
|
+
"Auto-generated from sdk.chain.pyth.fetchPriceFeed",
|
|
1098
|
+
asRawShape(sdkSchemas.PythFetchPriceFeedInput),
|
|
1099
|
+
async (args) => {
|
|
1100
|
+
const result = await Promise.resolve(client.chain.pyth.fetchPriceFeed(args));
|
|
1101
|
+
return toMcpResult(result);
|
|
1102
|
+
}
|
|
1103
|
+
);
|
|
1104
|
+
server.tool(
|
|
1105
|
+
"chain_pyth_fetch_price",
|
|
1106
|
+
"Auto-generated from sdk.chain.pyth.fetchPrice",
|
|
1107
|
+
asRawShape(sdkSchemas.PythFetchPriceInput),
|
|
1108
|
+
async (args) => {
|
|
1109
|
+
const result = await Promise.resolve(client.chain.pyth.fetchPrice(args));
|
|
1110
|
+
return toMcpResult(result);
|
|
1111
|
+
}
|
|
1112
|
+
);
|
|
1113
|
+
server.tool(
|
|
1114
|
+
"chain_defillama_find_protocol",
|
|
1115
|
+
"Auto-generated from sdk.chain.defillama.findProtocol",
|
|
1116
|
+
asRawShape(sdkSchemas.DefillamaFindProtocolInput),
|
|
1117
|
+
async (args) => {
|
|
1118
|
+
const result = await Promise.resolve(client.chain.defillama.findProtocol(args));
|
|
1119
|
+
return toMcpResult(result);
|
|
1120
|
+
}
|
|
1121
|
+
);
|
|
1122
|
+
server.tool(
|
|
1123
|
+
"chain_defillama_get_protocol",
|
|
1124
|
+
"Auto-generated from sdk.chain.defillama.getProtocol",
|
|
1125
|
+
asRawShape(sdkSchemas.DefillamaGetProtocolInput),
|
|
1126
|
+
async (args) => {
|
|
1127
|
+
const result = await Promise.resolve(client.chain.defillama.getProtocol(args));
|
|
1128
|
+
return toMcpResult(result);
|
|
1129
|
+
}
|
|
1130
|
+
);
|
|
1131
|
+
server.tool(
|
|
1132
|
+
"chain_defillama_get_token_prices",
|
|
1133
|
+
"Auto-generated from sdk.chain.defillama.getTokenPrices",
|
|
1134
|
+
asRawShape(sdkSchemas.DefillamaGetTokenPricesInput),
|
|
1135
|
+
async (args) => {
|
|
1136
|
+
const result = await Promise.resolve(client.chain.defillama.getTokenPrices(args));
|
|
1137
|
+
return toMcpResult(result);
|
|
1138
|
+
}
|
|
1139
|
+
);
|
|
1140
|
+
server.tool(
|
|
1141
|
+
"chain_x402_make_http_request",
|
|
1142
|
+
"Auto-generated from sdk.chain.x402.makeHttpRequest",
|
|
1143
|
+
asRawShape(sdkSchemas.X402MakeHttpRequestInput),
|
|
1144
|
+
async (args) => {
|
|
1145
|
+
const result = await Promise.resolve(client.chain.x402.makeHttpRequest(args));
|
|
1146
|
+
return toMcpResult(result);
|
|
1147
|
+
}
|
|
1148
|
+
);
|
|
1149
|
+
server.tool(
|
|
1150
|
+
"chain_x402_discover_services",
|
|
1151
|
+
"Auto-generated from sdk.chain.x402.discoverServices",
|
|
1152
|
+
asRawShape(sdkSchemas.X402DiscoverServicesInput),
|
|
1153
|
+
async (args) => {
|
|
1154
|
+
const result = await Promise.resolve(client.chain.x402.discoverServices(args));
|
|
1155
|
+
return toMcpResult(result);
|
|
1156
|
+
}
|
|
1157
|
+
);
|
|
1158
|
+
server.tool(
|
|
1159
|
+
"predict_search_markets",
|
|
1160
|
+
"Auto-generated from sdk.predict.searchMarkets",
|
|
1161
|
+
asRawShape(sdkSchemas.SearchMarketsInput),
|
|
1162
|
+
async (args) => {
|
|
1163
|
+
const result = await Promise.resolve(client.predict.searchMarkets(args));
|
|
1164
|
+
return toMcpResult(result);
|
|
1165
|
+
}
|
|
1166
|
+
);
|
|
1167
|
+
server.tool(
|
|
1168
|
+
"predict_search_events",
|
|
1169
|
+
"Auto-generated from sdk.predict.searchEvents",
|
|
1170
|
+
asRawShape(sdkSchemas.SearchEventsInput),
|
|
1171
|
+
async (args) => {
|
|
1172
|
+
const result = await Promise.resolve(client.predict.searchEvents(args));
|
|
1173
|
+
return toMcpResult(result);
|
|
1174
|
+
}
|
|
1175
|
+
);
|
|
1176
|
+
server.tool(
|
|
1177
|
+
"predict_get_market",
|
|
1178
|
+
"Auto-generated from sdk.predict.getMarket",
|
|
1179
|
+
asRawShape(sdkSchemas.GetMarketInput),
|
|
1180
|
+
async (args) => {
|
|
1181
|
+
const result = await Promise.resolve(client.predict.getMarket(args));
|
|
1182
|
+
return toMcpResult(result);
|
|
1183
|
+
}
|
|
1184
|
+
);
|
|
1185
|
+
server.tool(
|
|
1186
|
+
"predict_get_orderbook",
|
|
1187
|
+
"Auto-generated from sdk.predict.getOrderbook",
|
|
1188
|
+
asRawShape(sdkSchemas.GetOrderbookInput),
|
|
1189
|
+
async (args) => {
|
|
1190
|
+
const result = await Promise.resolve(client.predict.getOrderbook(args));
|
|
1191
|
+
return toMcpResult(result);
|
|
1192
|
+
}
|
|
1193
|
+
);
|
|
1194
|
+
server.tool(
|
|
1195
|
+
"predict_strategy_playbook",
|
|
1196
|
+
"Auto-generated from sdk.predict.strategyPlaybook",
|
|
1197
|
+
asRawShape(sdkSchemas.StrategyPlaybookInput),
|
|
1198
|
+
async (args) => {
|
|
1199
|
+
const result = await Promise.resolve(client.predict.strategyPlaybook(args));
|
|
1200
|
+
return toMcpResult(result);
|
|
1201
|
+
}
|
|
1202
|
+
);
|
|
1203
|
+
server.tool(
|
|
1204
|
+
"predict_create_order",
|
|
1205
|
+
"Auto-generated from sdk.predict.createOrder",
|
|
1206
|
+
asRawShape(sdkSchemas.CreateOrderInput),
|
|
1207
|
+
async (args) => {
|
|
1208
|
+
const result = await Promise.resolve(client.predict.createOrder(args));
|
|
1209
|
+
return toMcpResult(result);
|
|
1210
|
+
}
|
|
1211
|
+
);
|
|
1212
|
+
server.tool(
|
|
1213
|
+
"predict_cancel_order",
|
|
1214
|
+
"Auto-generated from sdk.predict.cancelOrder",
|
|
1215
|
+
asRawShape(sdkSchemas.CancelOrderInput),
|
|
1216
|
+
async (args) => {
|
|
1217
|
+
const result = await Promise.resolve(client.predict.cancelOrder(args));
|
|
1218
|
+
return toMcpResult(result);
|
|
1219
|
+
}
|
|
1220
|
+
);
|
|
1221
|
+
server.tool(
|
|
1222
|
+
"predict_positions",
|
|
1223
|
+
"Auto-generated from sdk.predict.positions",
|
|
1224
|
+
asRawShape(sdkSchemas.PositionsInput),
|
|
1225
|
+
async (args) => {
|
|
1226
|
+
const result = await Promise.resolve(client.predict.positions(args));
|
|
1227
|
+
return toMcpResult(result);
|
|
1228
|
+
}
|
|
1229
|
+
);
|
|
1230
|
+
server.tool(
|
|
1231
|
+
"predict_open_orders",
|
|
1232
|
+
"Auto-generated from sdk.predict.openOrders",
|
|
1233
|
+
asRawShape(sdkSchemas.OpenOrdersInput),
|
|
1234
|
+
async (args) => {
|
|
1235
|
+
const result = await Promise.resolve(client.predict.openOrders(args));
|
|
1236
|
+
return toMcpResult(result);
|
|
1237
|
+
}
|
|
1238
|
+
);
|
|
1239
|
+
server.tool(
|
|
1240
|
+
"predict_my_trades",
|
|
1241
|
+
"Auto-generated from sdk.predict.myTrades",
|
|
1242
|
+
asRawShape(sdkSchemas.MyTradesInput),
|
|
1243
|
+
async (args) => {
|
|
1244
|
+
const result = await Promise.resolve(client.predict.myTrades(args));
|
|
1245
|
+
return toMcpResult(result);
|
|
1246
|
+
}
|
|
1247
|
+
);
|
|
1248
|
+
server.tool(
|
|
1249
|
+
"predict_get_order",
|
|
1250
|
+
"Auto-generated from sdk.predict.getOrder",
|
|
1251
|
+
asRawShape(sdkSchemas.GetOrderInput),
|
|
1252
|
+
async (args) => {
|
|
1253
|
+
const result = await Promise.resolve(client.predict.getOrder(args));
|
|
1254
|
+
return toMcpResult(result);
|
|
1255
|
+
}
|
|
1256
|
+
);
|
|
1257
|
+
server.tool(
|
|
1258
|
+
"threads_list",
|
|
1259
|
+
"GET /api/threads \u2192 returns the list of threads for the authed user",
|
|
1260
|
+
{},
|
|
1261
|
+
async () => {
|
|
1262
|
+
const result = await Promise.resolve(client.threads.list());
|
|
1263
|
+
return toMcpResult(result);
|
|
1264
|
+
}
|
|
1265
|
+
);
|
|
1266
|
+
server.tool(
|
|
1267
|
+
"threads_search",
|
|
1268
|
+
"GET /api/threads/search?q=",
|
|
1269
|
+
asRawShape(sdkSchemas.SearchInput),
|
|
1270
|
+
async (args) => {
|
|
1271
|
+
const result = await Promise.resolve(client.threads.search(args));
|
|
1272
|
+
return toMcpResult(result);
|
|
1273
|
+
}
|
|
1274
|
+
);
|
|
1275
|
+
server.tool(
|
|
1276
|
+
"threads_get_messages",
|
|
1277
|
+
"GET /api/threads/:id/messages",
|
|
1278
|
+
asRawShape(sdkSchemas.GetMessagesInput),
|
|
1279
|
+
async (args) => {
|
|
1280
|
+
const result = await Promise.resolve(client.threads.getMessages(args));
|
|
1281
|
+
return toMcpResult(result);
|
|
1282
|
+
}
|
|
1283
|
+
);
|
|
1284
|
+
server.tool(
|
|
1285
|
+
"threads_summary",
|
|
1286
|
+
"GET /api/threads/:id/summary \u2014 compact summary for voice agent context",
|
|
1287
|
+
asRawShape(sdkSchemas.SummaryInput),
|
|
1288
|
+
async (args) => {
|
|
1289
|
+
const result = await Promise.resolve(client.threads.summary(args));
|
|
1290
|
+
return toMcpResult(result);
|
|
1291
|
+
}
|
|
1292
|
+
);
|
|
1293
|
+
server.tool(
|
|
1294
|
+
"threads_delete",
|
|
1295
|
+
"DELETE /api/threads/:id",
|
|
1296
|
+
asRawShape(sdkSchemas.DeleteInput),
|
|
1297
|
+
async (args) => {
|
|
1298
|
+
const result = await Promise.resolve(client.threads.delete(args));
|
|
1299
|
+
return toMcpResult(result);
|
|
1300
|
+
}
|
|
1301
|
+
);
|
|
1302
|
+
server.tool(
|
|
1303
|
+
"threads_send_message",
|
|
1304
|
+
"POST /api/messages",
|
|
1305
|
+
asRawShape(sdkSchemas.SendMessageInput),
|
|
1306
|
+
async (args) => {
|
|
1307
|
+
const result = await Promise.resolve(client.threads.sendMessage(args));
|
|
1308
|
+
return toMcpResult(result);
|
|
1309
|
+
}
|
|
1310
|
+
);
|
|
1311
|
+
server.tool(
|
|
1312
|
+
"threads_generate_id",
|
|
1313
|
+
"Pure local UUID v4. Mirrors `noya_generate_thread_id` MCP tool \u2014 useful for generating a stable threadId before sending the first message",
|
|
1314
|
+
{},
|
|
1315
|
+
async () => {
|
|
1316
|
+
const result = await Promise.resolve(client.threads.generateId());
|
|
1317
|
+
return toMcpResult(result);
|
|
1318
|
+
}
|
|
1319
|
+
);
|
|
1320
|
+
server.tool(
|
|
1321
|
+
"threads_agent_summary",
|
|
1322
|
+
"GET /api/agents/summarize \u2014 list of agents and their specialties",
|
|
1323
|
+
{},
|
|
1324
|
+
async () => {
|
|
1325
|
+
const result = await Promise.resolve(client.threads.agentSummary());
|
|
1326
|
+
return toMcpResult(result);
|
|
1327
|
+
}
|
|
1328
|
+
);
|
|
1329
|
+
server.tool(
|
|
1330
|
+
"portfolio_get",
|
|
1331
|
+
"GET /api/user/summary \u2014 wraps `noya_get_portfolio` MCP semantics by returning the user's identity + holdings + DCA + polymarket data in one shot. Falls back to the raw response if `data` is missing",
|
|
1332
|
+
{},
|
|
1333
|
+
async () => {
|
|
1334
|
+
const result = await Promise.resolve(client.portfolio.get());
|
|
1335
|
+
return toMcpResult(result);
|
|
1336
|
+
}
|
|
1337
|
+
);
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
// src/index.ts
|
|
1341
|
+
function registerTools(server, getClient) {
|
|
1342
|
+
registerGeneratedTools(server, getClient);
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1345
|
+
// src/stdio.ts
|
|
1346
|
+
async function main() {
|
|
1347
|
+
const apiKey = process.env.NOYA_API_KEY;
|
|
1348
|
+
const bearer = process.env.NOYA_BEARER;
|
|
1349
|
+
if (!apiKey && !bearer) {
|
|
1350
|
+
process.stderr.write(
|
|
1351
|
+
"noya-mcp requires NOYA_API_KEY (or NOYA_BEARER) to authenticate against agent-api.noya.ai\n"
|
|
1352
|
+
);
|
|
1353
|
+
process.exit(1);
|
|
1354
|
+
}
|
|
1355
|
+
const sdk = new import_sdk.NoyaSDK({
|
|
1356
|
+
...apiKey ? { apiKey } : {},
|
|
1357
|
+
...bearer ? { bearer } : {},
|
|
1358
|
+
...process.env.NOYA_AGENT_API_URL ? { noyaAgentApiUrl: process.env.NOYA_AGENT_API_URL } : {},
|
|
1359
|
+
...process.env.NOYA_DATA_SERVER_URL ? { dataServerUrl: process.env.NOYA_DATA_SERVER_URL } : {},
|
|
1360
|
+
...process.env.NOYA_SIGNER_URL ? { signer: { url: process.env.NOYA_SIGNER_URL } } : {}
|
|
1361
|
+
});
|
|
1362
|
+
const server = new import_mcp.McpServer({
|
|
1363
|
+
name: "noya-mcp",
|
|
1364
|
+
version: "0.0.0"
|
|
1365
|
+
});
|
|
1366
|
+
registerTools(server, () => sdk);
|
|
1367
|
+
const transport = new import_stdio.StdioServerTransport();
|
|
1368
|
+
await server.connect(transport);
|
|
1369
|
+
}
|
|
1370
|
+
main().catch((err) => {
|
|
1371
|
+
process.stderr.write(`noya-mcp failed: ${String(err)}
|
|
1372
|
+
`);
|
|
1373
|
+
process.exit(1);
|
|
1374
|
+
});
|