@autonomaai/mcp-client 1.0.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.
@@ -0,0 +1,269 @@
1
+ /**
2
+ * Unified MCP Client for autonoma Trading System
3
+ *
4
+ * This client provides a unified interface for interacting with MCP servers
5
+ * across the autonoma ecosystem, with support for connection pooling,
6
+ * error handling, retries, and both sync and async operations.
7
+ */
8
+ import { MCPClientConfig, HummingbotHealthResponse, HummingbotContext, CreateControllerRequest, ControllerResponse, ControllerMetrics, ExchangeListResponse, ConnectExchangeRequest, TradingConnectionResponse, MarketDataResponse, ExecuteSignalRequest, SignalExecutionResponse, CreateBotRequest, BotResponse, CreatePoolRequest, PoolResponse, ConfigurationObject, HyperliquidOrderbook, HyperliquidSummary, MCPToolsListResponse, MCPToolCallRequest, MCPToolCallResponse } from './types';
9
+ /**
10
+ * HTTP Client Error for MCP operations
11
+ */
12
+ export declare class MCPClientError extends Error {
13
+ status?: number | undefined;
14
+ response?: any | undefined;
15
+ constructor(message: string, status?: number | undefined, response?: any | undefined);
16
+ }
17
+ /**
18
+ * Main MCP Client class
19
+ */
20
+ export declare class MCPClient {
21
+ private config;
22
+ private headers;
23
+ constructor(config: MCPClientConfig);
24
+ /**
25
+ * Make HTTP request with retry logic and error handling
26
+ */
27
+ private request;
28
+ getHealth(): Promise<HummingbotHealthResponse>;
29
+ getContext(): Promise<HummingbotContext>;
30
+ createController(params: CreateControllerRequest): Promise<ControllerResponse>;
31
+ getControllers(): Promise<ControllerResponse[]>;
32
+ getController(id: string): Promise<ControllerResponse>;
33
+ startController(id: string): Promise<{
34
+ success: boolean;
35
+ message: string;
36
+ }>;
37
+ stopController(id: string): Promise<{
38
+ success: boolean;
39
+ message: string;
40
+ }>;
41
+ getControllerMetrics(id: string): Promise<ControllerMetrics>;
42
+ updateControllerConfig(id: string, config: ConfigurationObject): Promise<ControllerResponse>;
43
+ getExchanges(): Promise<ExchangeListResponse>;
44
+ connectExchange(controllerId: string, params: ConnectExchangeRequest): Promise<TradingConnectionResponse>;
45
+ getMarketData(controllerId: string): Promise<MarketDataResponse>;
46
+ getAccountBalance(controllerId: string): Promise<Record<string, number>>;
47
+ getConnectionStatus(controllerId: string): Promise<{
48
+ connected: boolean;
49
+ exchange: string;
50
+ trading_pair: string;
51
+ }>;
52
+ executeSignal(params: ExecuteSignalRequest): Promise<SignalExecutionResponse>;
53
+ createBot(params: CreateBotRequest): Promise<BotResponse>;
54
+ getBots(): Promise<BotResponse[]>;
55
+ getBot(id: string): Promise<BotResponse>;
56
+ getBotStatus(id: string): Promise<{
57
+ status: string;
58
+ is_running: boolean;
59
+ }>;
60
+ createPool(params: CreatePoolRequest): Promise<PoolResponse>;
61
+ getPools(): Promise<PoolResponse[]>;
62
+ getPool(id: string): Promise<PoolResponse>;
63
+ getHyperliquidOrderbook(pair: string): Promise<HyperliquidOrderbook>;
64
+ getHyperliquidSummary(pair: string): Promise<HyperliquidSummary>;
65
+ /**
66
+ * Update client configuration
67
+ */
68
+ updateConfig(newConfig: Partial<MCPClientConfig>): void;
69
+ /**
70
+ * Get current configuration
71
+ */
72
+ getConfig(): MCPClientConfig;
73
+ /**
74
+ * Enable or disable logging
75
+ */
76
+ setLogging(enabled: boolean): void;
77
+ /**
78
+ * Test connection to MCP server
79
+ */
80
+ testConnection(): Promise<boolean>;
81
+ /**
82
+ * List available MCP tools
83
+ */
84
+ listTools(): Promise<MCPToolsListResponse>;
85
+ /**
86
+ * Call an MCP tool
87
+ */
88
+ callTool(toolCall: MCPToolCallRequest): Promise<MCPToolCallResponse>;
89
+ /**
90
+ * Ping MCP server
91
+ */
92
+ ping(): Promise<{
93
+ status: string;
94
+ service?: string;
95
+ }>;
96
+ getTrendingTokens(): Promise<MCPToolCallResponse>;
97
+ getLatestTokens(): Promise<MCPToolCallResponse>;
98
+ analyzeTrendingTokens(): Promise<MCPToolCallResponse>;
99
+ getDexscreenerContext(): Promise<MCPToolCallResponse>;
100
+ getTokenPrice(params: {
101
+ token: string;
102
+ chain?: string;
103
+ quote?: string;
104
+ }): Promise<MCPToolCallResponse>;
105
+ getTokenVolume(params: {
106
+ token: string;
107
+ chain?: string;
108
+ interval?: string;
109
+ tokenFormat?: string;
110
+ }): Promise<MCPToolCallResponse>;
111
+ getOrderbook(params: {
112
+ base: string;
113
+ quote?: string;
114
+ chain?: string;
115
+ depth?: number;
116
+ }): Promise<MCPToolCallResponse>;
117
+ getEnhancedOHLCV(params: {
118
+ token: string;
119
+ chain?: string;
120
+ interval?: string;
121
+ limit?: number;
122
+ }): Promise<MCPToolCallResponse>;
123
+ discoverTokens(params: {
124
+ chain?: string;
125
+ type?: string;
126
+ limit?: number;
127
+ includeVolume?: boolean;
128
+ sortBy?: string;
129
+ sortOrder?: string;
130
+ }): Promise<MCPToolCallResponse>;
131
+ getTradingIntensity(params: {
132
+ token: string;
133
+ chain?: string;
134
+ interval?: string;
135
+ tokenFormat?: string;
136
+ }): Promise<MCPToolCallResponse>;
137
+ resolveSymbol(params: {
138
+ symbol: string;
139
+ chain?: string;
140
+ type?: string;
141
+ }): Promise<MCPToolCallResponse>;
142
+ getPerformanceMetrics(params: {
143
+ chain?: string;
144
+ endpoint?: string;
145
+ samples?: number;
146
+ }): Promise<MCPToolCallResponse>;
147
+ searchKnowledgeBase(params: {
148
+ query: string;
149
+ limit?: number;
150
+ threshold?: number;
151
+ }): Promise<MCPToolCallResponse>;
152
+ retrieveContextualInformation(params: {
153
+ query: string;
154
+ sources?: Array<'concept' | 'history'>;
155
+ limit?: number;
156
+ threshold?: number;
157
+ }): Promise<MCPToolCallResponse>;
158
+ getHistoricalDecisions(params: {
159
+ query: string;
160
+ limit?: number;
161
+ threshold?: number;
162
+ }): Promise<MCPToolCallResponse>;
163
+ enrichMarketContext(params: {
164
+ topic: string;
165
+ includeHistory?: boolean;
166
+ includeConcepts?: boolean;
167
+ limit?: number;
168
+ }): Promise<MCPToolCallResponse>;
169
+ comprehensiveSearch(params: {
170
+ query: string;
171
+ analysisDepth?: 'surface' | 'detailed' | 'comprehensive';
172
+ includeStatistics?: boolean;
173
+ }): Promise<MCPToolCallResponse>;
174
+ checkKnowledgeBaseStatus(params?: {
175
+ includeLayerStats?: boolean;
176
+ }): Promise<MCPToolCallResponse>;
177
+ getApyHistory(params: {
178
+ protocol: string;
179
+ chain: string;
180
+ pool?: string;
181
+ timeframe?: '7d' | '30d' | '90d' | '180d' | '1y';
182
+ includeRiskMetrics?: boolean;
183
+ includeStatistics?: boolean;
184
+ minTvl?: number;
185
+ maxRiskScore?: number;
186
+ }): Promise<MCPToolCallResponse>;
187
+ findYieldOpportunities(params: {
188
+ chains?: string[];
189
+ minApy?: number;
190
+ maxRisk?: number;
191
+ minTvl?: number;
192
+ protocols?: string[];
193
+ assets?: string[];
194
+ includeArbitrage?: boolean;
195
+ riskTolerance?: 'conservative' | 'moderate' | 'aggressive';
196
+ sortBy?: 'apy' | 'risk_adjusted_return' | 'tvl' | 'risk_score';
197
+ }): Promise<MCPToolCallResponse>;
198
+ analyzeArbitrageOpportunities(params: {
199
+ sourceChain: string;
200
+ targetChain: string;
201
+ token: string;
202
+ amount?: number;
203
+ includeGasCosts?: boolean;
204
+ slippageTolerance?: number;
205
+ bridgeProtocols?: string[];
206
+ }): Promise<MCPToolCallResponse>;
207
+ backtestStrategy(params: {
208
+ strategy: 'yield_farming' | 'arbitrage' | 'optimization' | 'balanced';
209
+ protocols?: string[];
210
+ chains?: string[];
211
+ startDate: string;
212
+ endDate: string;
213
+ initialAmount: number;
214
+ rebalanceFrequency?: 'daily' | 'weekly' | 'monthly' | 'quarterly';
215
+ riskTolerance?: 'conservative' | 'moderate' | 'aggressive';
216
+ includeTransactionCosts?: boolean;
217
+ optimizationMethod?: 'max_sharpe' | 'risk_parity' | 'mean_variance';
218
+ }): Promise<MCPToolCallResponse>;
219
+ calculatePortfolioRisk(params: {
220
+ positions: Array<{
221
+ protocol: string;
222
+ chain?: string;
223
+ asset: string;
224
+ amount: number;
225
+ currentApy?: number;
226
+ }>;
227
+ riskMetrics?: ('var' | 'correlation' | 'concentration' | 'stress_test')[];
228
+ confidenceLevel?: 90 | 95 | 99;
229
+ timeHorizon?: number;
230
+ stressScenarios?: string[];
231
+ }): Promise<MCPToolCallResponse>;
232
+ optimizeYieldAllocation(params: {
233
+ amount: number;
234
+ riskTolerance: 'conservative' | 'moderate' | 'aggressive';
235
+ optimizationMethod: 'max_sharpe' | 'risk_parity' | 'mean_variance' | 'min_variance';
236
+ constraints?: {
237
+ maxProtocolAllocation?: number;
238
+ maxChainAllocation?: number;
239
+ maxRiskScore?: number;
240
+ minYield?: number;
241
+ };
242
+ includeProtocols?: string[];
243
+ excludeProtocols?: string[];
244
+ targetChains?: string[];
245
+ rebalanceFrequency?: 'never' | 'daily' | 'weekly' | 'monthly';
246
+ }): Promise<MCPToolCallResponse>;
247
+ assessProtocolRisk(params: {
248
+ protocol: string;
249
+ chain?: string;
250
+ includeHistoricalEvents?: boolean;
251
+ riskCategories?: ('smart_contract' | 'economic' | 'governance' | 'liquidity' | 'oracle')[];
252
+ depth?: 'basic' | 'detailed' | 'comprehensive';
253
+ }): Promise<MCPToolCallResponse>;
254
+ trackYieldPerformance(params: {
255
+ portfolioId: string;
256
+ timeframe?: '1d' | '7d' | '30d' | '90d' | '1y' | 'all';
257
+ includeBenchmarks?: boolean;
258
+ benchmarks?: string[];
259
+ attributionAnalysis?: boolean;
260
+ includeRealTimeData?: boolean;
261
+ alertThresholds?: {
262
+ minYield?: number;
263
+ maxDrawdown?: number;
264
+ riskScoreChange?: number;
265
+ };
266
+ granularity?: 'hourly' | 'daily' | 'weekly';
267
+ }): Promise<MCPToolCallResponse>;
268
+ }
269
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}