@cryptoquant_official/mcp 0.0.4 → 0.0.5

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/README.md CHANGED
@@ -96,6 +96,29 @@ Claude: Let me check the MVRV ratio...
96
96
  → Returns analysis with current valuation status
97
97
  ```
98
98
 
99
+ ## Environment Variables
100
+
101
+ | Variable | Description | Default |
102
+ |----------|-------------|---------|
103
+ | `CRYPTOQUANT_API_KEY` | API key for authentication | (none) |
104
+ | `DEBUG` | Enable debug logging (`true` or `1`) | (disabled) |
105
+
106
+ Example with debug logging:
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "cryptoquant": {
111
+ "command": "npx",
112
+ "args": ["-y", "@cryptoquant_official/mcp"],
113
+ "env": {
114
+ "CRYPTOQUANT_API_KEY": "your-api-key",
115
+ "DEBUG": "true"
116
+ }
117
+ }
118
+ }
119
+ }
120
+ ```
121
+
99
122
  ## Requirements
100
123
 
101
124
  - Node.js 18+
@@ -27,7 +27,6 @@ sopr-ratio,SOPR Ratio,market-indicator,btc,Long-term holder SOPR divided by shor
27
27
  realized-price,Realized Price,market-indicator,btc,Realized Cap divided by total supply; representing average price weighted by supply that market participants paid for their coins.,price below realized price bear market|price above realized price bull market,Acts as on-chain support/resistance; price falling below realized price historically marks bear market lows
28
28
  utxo-realized-price-age-distribution,UTxO Realized Price Age Distribution,market-indicator,btc,Set of realized prices across different age bands; showing cost basis of different holder cohorts.,,Overlaying cohort realized prices helps identify key support/resistance levels by holder group
29
29
  asopr,Adjusted SOPR,market-indicator,btc,SOPR excluding coins younger than 1 hour to filter noise,<1 loss realization|>1 profit taking,More accurate than raw SOPR for trend analysis. Filters out exchange-related movements
30
- puell-multiple,Puell Multiple,market-indicator,btc,Daily miner revenue divided by 365-day moving average revenue,<0.5 undervalued|0.5-4 neutral|>4 overheated,Miner profitability indicator. Low values indicate miner stress; high values indicate excess profitability
31
30
 
32
31
  # ============================================================================
33
32
  # BTC - Exchange Flows
@@ -39,7 +38,7 @@ outflow,Exchange Outflow,exchange-flows,btc,BTC flowing out of exchange wallets;
39
38
  addresses-count-ef,Exchange Addresses Count,exchange-flows,btc,Number of addresses involved in exchange inflow/outflow transactions.,,Rising unique addresses suggests broader market participation
40
39
  netflow,Exchange Netflow,exchange-flows,btc,Difference between exchange inflows and outflows; showing net movement of coins to/from exchanges.,positive netflow selling pressure|negative netflow accumulation,Sustained negative netflow is bullish as it reduces tradeable supply on exchanges
41
40
  in-house-flow,In-House Flow,exchange-flows,btc,BTC movement within wallets of the same exchange; representing internal transfers.,,High in-house flow may indicate exchange wallet management or internal position changes
42
- exchange-whale-ratio,Exchange Whale Ratio,exchange-flows,btc,Ratio of top 10 inflow transactions to total inflows,>0.9 whale dominated|<0.5 retail dominated,Who is moving coins. High ratio means large players dominating exchange activity
41
+ exchange-whale-ratio,Exchange Whale Ratio,flow-indicator,btc,Ratio of top 10 inflow transactions to total inflows,>0.9 whale dominated|<0.5 retail dominated,Who is moving coins. High ratio means large players dominating exchange activity
43
42
 
44
43
  # ============================================================================
45
44
  # BTC - Network Data
@@ -195,10 +194,14 @@ eth-depositor-count-new,Depositor Count New,eth2,eth,Number of new unique accoun
195
194
  eth-staking-rate,Staking Rate,eth2,eth,Percentage of ETH 2.0 deposit contract balance to total supply.,,Higher staking rate reduces liquid supply and may support price
196
195
 
197
196
  # ============================================================================
198
- # ETH - Risk Indicator
197
+ # ETH - Market Indicator
199
198
  # ============================================================================
200
- eth-estimated-leverage-ratio,Estimated Leverage Ratio,risk-indicator,eth,Open interest divided by ETH reserve; estimating average user leverage. High leverage leads to rapid volatility.,high leverage high volatility risk|low leverage stable market,Elevated leverage ratios often precede sharp price movements and liquidation cascades
201
- eth-exchange-supply-ratio,Exchange Supply Ratio,risk-indicator,eth,Exchange reserve divided by total supply; measuring tokens reserved on exchanges relative to total supply.,,Lower ratio suggests more ETH in cold storage; reducing sell pressure potential
199
+ eth-estimated-leverage-ratio,Estimated Leverage Ratio,market-indicator,eth,Open interest divided by ETH reserve; estimating average user leverage. High leverage leads to rapid volatility.,high leverage high volatility risk|low leverage stable market,Elevated leverage ratios often precede sharp price movements and liquidation cascades
200
+
201
+ # ============================================================================
202
+ # ETH - Flow Indicator
203
+ # ============================================================================
204
+ eth-exchange-supply-ratio,Exchange Supply Ratio,flow-indicator,eth,Exchange reserve divided by total supply; measuring tokens reserved on exchanges relative to total supply.,,Lower ratio suggests more ETH in cold storage; reducing sell pressure potential
202
205
 
203
206
  # ============================================================================
204
207
  # ETH - Other
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA4B/C;AAsDD,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAmBD,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,cAAc,EAAE,CAWnB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBtC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAI9G;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAe7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAUrE;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
1
+ {"version":3,"file":"discovery.d.ts","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,MAAM,EAAE;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAA;KAAE,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,iBAAiB,CAAC;IAC9B,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,cAAc,EAAE,CAAC;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IACvC,UAAU,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC1C,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAID,wBAAsB,uBAAuB,CAC3C,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoC/C;AAsDD,wBAAgB,kBAAkB,IAAI,eAAe,GAAG,IAAI,CAE3D;AAED,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAmBD,wBAAgB,eAAe,CAAC,OAAO,EAAE;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,cAAc,EAAE,CAoBnB;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAE1E;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAmBtC;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,UAAU,EAAE,iBAAiB,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAI9G;AAED,MAAM,WAAW,gBAAgB;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC9C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,IAAI,gBAAgB,GAAG,IAAI,CAe7D;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI,CAUrE;AAED,wBAAgB,cAAc,IAAI,IAAI,CAErC"}
package/dist/discovery.js CHANGED
@@ -1,11 +1,14 @@
1
+ import { logger } from "./utils.js";
1
2
  let endpointCatalog = null;
2
3
  export async function fetchDiscoveryEndpoints(apiKey, apiUrl) {
3
4
  try {
4
5
  const discoveryUrl = apiUrl.replace(/\/v1$/, "") + "/v1/discovery/endpoints?source=mcp";
6
+ logger.debug("[fetchDiscoveryEndpoints] fetching from:", discoveryUrl);
5
7
  const response = await fetch(discoveryUrl, {
6
8
  method: "GET",
7
9
  headers: { Authorization: `Bearer ${apiKey}` },
8
10
  });
11
+ logger.debug("[fetchDiscoveryEndpoints] response status:", response.status, response.statusText);
9
12
  if (!response.ok) {
10
13
  return { success: false, error: `Discovery API failed: ${response.status} ${response.statusText}` };
11
14
  }
@@ -20,6 +23,9 @@ export async function fetchDiscoveryEndpoints(apiKey, apiUrl) {
20
23
  return { success: false, error: `Invalid discovery response: ${data.status.message}` };
21
24
  }
22
25
  endpointCatalog = parseEndpoints(data.result.data);
26
+ logger.debug("[fetchDiscoveryEndpoints] parsed", endpointCatalog.endpoints.length, "endpoints");
27
+ logger.debug("[fetchDiscoveryEndpoints] assets:", endpointCatalog.assets.join(", "));
28
+ logger.debug("[fetchDiscoveryEndpoints] categories:", endpointCatalog.categories.join(", "));
23
29
  return { success: true };
24
30
  }
25
31
  catch (error) {
@@ -92,13 +98,19 @@ function getBaseEndpoints(catalog, asset, category) {
92
98
  return catalog.endpoints;
93
99
  }
94
100
  export function searchEndpoints(options) {
95
- if (!endpointCatalog)
101
+ logger.debug("[searchEndpoints] search options:", options);
102
+ if (!endpointCatalog) {
103
+ logger.debug("[searchEndpoints] catalog not loaded");
96
104
  return [];
105
+ }
97
106
  const results = getBaseEndpoints(endpointCatalog, options.asset, options.category);
107
+ logger.debug("[searchEndpoints] base results:", results.length);
98
108
  if (!options.query)
99
109
  return results;
100
110
  const queryLower = options.query.toLowerCase();
101
- return results.filter((ep) => ep.path.toLowerCase().includes(queryLower) || ep.metric.toLowerCase().includes(queryLower));
111
+ const filtered = results.filter((ep) => ep.path.toLowerCase().includes(queryLower) || ep.metric.toLowerCase().includes(queryLower));
112
+ logger.debug("[searchEndpoints] filtered by query:", filtered.length);
113
+ return filtered;
102
114
  }
103
115
  export function getEndpointByPath(path) {
104
116
  return endpointCatalog?.endpoints.find((ep) => ep.path === path);
@@ -1 +1 @@
1
- {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discovery.js","sourceRoot":"","sources":["../src/discovery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAoCpC,IAAI,eAAe,GAA2B,IAAI,CAAC;AAEnD,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAAc,EACd,MAAc;IAEd,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,oCAAoC,CAAC;QACxF,MAAM,CAAC,KAAK,CAAC,0CAA0C,EAAE,YAAY,CAAC,CAAC;QAEvE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,MAAM,EAAE,EAAE;SAC/C,CAAC,CAAC;QAEH,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;QAEjG,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;QACtG,CAAC;QAED,IAAI,IAAuB,CAAC;QAC5B,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;QACzE,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC;YACnD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACzF,CAAC;QAED,eAAe,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnD,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAChG,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACrF,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,eAAe,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAE7F,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,0BAA0B,KAAK,EAAE,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAI,GAA6B,EAAE,GAAM,EAAE,QAAwB;IACpF,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC1B,IAAI,IAAI,EAAE,CAAC;QACT,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,YAAiC;IACvD,MAAM,SAAS,GAAqB,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,GAAG,EAA4B,CAAC;IACvD,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4B,CAAC;IAE5D,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;YAAE,SAAS;QAE/B,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,MAAM,GAAmB;YAC7B,IAAI,EAAE,EAAE,CAAC,IAAI;YACb,KAAK;YACL,QAAQ;YACR,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;YAChC,UAAU,EAAE,EAAE,CAAC,UAAU;YACzB,mBAAmB,EAAE,EAAE,CAAC,mBAAmB;SAC5C,CAAC;QAEF,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAClB,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEzB,UAAU,CAAC,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;QACnC,UAAU,CAAC,UAAU,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzC,UAAU,CAAC,eAAe,EAAE,GAAG,KAAK,IAAI,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;IAC9D,CAAC;IAED,OAAO;QACL,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE;QACjC,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE;QACzC,OAAO;QACP,UAAU;QACV,eAAe;QACf,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB;IAChC,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO,eAAe,KAAK,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,gBAAgB,CACvB,OAAwB,EACxB,KAAc,EACd,QAAiB;IAEjB,IAAI,KAAK,IAAI,QAAQ,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;IACnE,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAI/B;IACC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;QACrD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,CAAC,eAAe,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnF,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhE,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,OAAO,CAAC;IAEnC,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAC7B,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CACnG,CAAC;IAEF,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtE,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,eAAe,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,QAAwB,EACxB,MAA+B;IAE/B,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,mBAAmB,EAAE,CAAC;QACpD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAEpD,MAAM,aAAa,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,aAAa,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjF,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,OAAO,KAAK,eAAe,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9F,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,IAAY;IAC9C,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACzC,IAAI,CAAC,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC3B,OAAO,EAAE,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,mBAAmB,EAAE,CAAC;AACrF,CAAC;AASD,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,OAAO;QACL,eAAe,EAAE,eAAe,CAAC,SAAS,CAAC,MAAM;QACjD,MAAM,EAAE,eAAe,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC7C,IAAI,EAAE,KAAK;YACX,KAAK,EAAE,eAAgB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC;SACxD,CAAC,CAAC;QACH,UAAU,EAAE,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACnD,IAAI,EAAE,GAAG;YACT,KAAK,EAAE,eAAgB,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;SACzD,CAAC,CAAC;QACH,UAAU,EAAE,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE;KAC/D,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,IAAI,CAAC,eAAe;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,MAAM,GAA6B,EAAE,CAAC;IAC5C,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpE,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,eAAe,GAAG,IAAI,CAAC;AACzB,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env node
2
2
  export type { EndpointParameter, DiscoveryEndpoint, DiscoveryResponse, ParsedEndpoint, EndpointCatalog, DiscoverySummary, } from "./discovery.js";
3
- export { fetchDiscoveryEndpoints, getEndpointCatalog, isDiscoveryLoaded, searchEndpoints, getEndpointByPath, validateEndpointParams, getParameterOptions, getDiscoverySummary, getAssetCategoryMap, resetDiscovery, } from "./discovery.js";
3
+ export { fetchDiscoveryEndpoints, getEndpointCatalog, isDiscoveryLoaded, searchEndpoints, getEndpointByPath, getParameterOptions, getDiscoverySummary, getAssetCategoryMap, resetDiscovery, } from "./discovery.js";
4
4
  export type { PermissionState, InitializeResult } from "./permissions.js";
5
5
  export { initializePermissions, getPermissionState, setGuestMode, resetPermissions, clearDiscoveryCache, getDiscoveryCachePath, getCachedDiscovery, } from "./permissions.js";
6
6
  export type { DurationLimit, UserPlan, MetricLimits, PlanLimits, ApiRateLimit, PlanLimitsState, FetchPlanLimitsResult, DateRangeValidation, AccessibleEndpointInfo, AccessibleEndpointsSummary, } from "./plan-limits.js";
@@ -11,7 +11,7 @@ export { getCacheFilePath, isCacheValid, readCache, writeCache, invalidateCache,
11
11
  export { generateSummary, extractRawResponse } from "./cache/summary.js";
12
12
  export type { StoredCredentials } from "./auth/storage.js";
13
13
  export { getStoredApiKey, saveApiKey, updateValidatedAt, clearCredentials, getCredentialsPath, } from "./auth/storage.js";
14
- export { jsonResponse, errorResponse, getPlanNote, capitalizeFirst } from "./utils.js";
14
+ export { jsonResponse, errorResponse, getPlanNote, capitalizeFirst, logger, } from "./utils.js";
15
15
  export { getApiUrl, getApiBaseUrl } from "./config.js";
16
16
  export { registerAuthTools } from "./tools/auth.js";
17
17
  export { registerCoreTools } from "./tools/core.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAUA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAKvF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,YAAY,EACV,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAKxB,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAK1B,YAAY,EACV,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAKzE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAK3B,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,MAAM,GACP,MAAM,YAAY,CAAC;AAKpB,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -3,7 +3,8 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
3
3
  import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
4
4
  import { registerAuthTools } from "./tools/auth.js";
5
5
  import { registerCoreTools } from "./tools/core.js";
6
- export { fetchDiscoveryEndpoints, getEndpointCatalog, isDiscoveryLoaded, searchEndpoints, getEndpointByPath, validateEndpointParams, getParameterOptions, getDiscoverySummary, getAssetCategoryMap, resetDiscovery, } from "./discovery.js";
6
+ import { logger } from "./utils.js";
7
+ export { fetchDiscoveryEndpoints, getEndpointCatalog, isDiscoveryLoaded, searchEndpoints, getEndpointByPath, getParameterOptions, getDiscoverySummary, getAssetCategoryMap, resetDiscovery, } from "./discovery.js";
7
8
  export { initializePermissions, getPermissionState, setGuestMode, resetPermissions, clearDiscoveryCache, getDiscoveryCachePath, getCachedDiscovery, } from "./permissions.js";
8
9
  export { fetchPlanLimits, getPlanLimitsState, getPlanLimit, getEndpointResultLimit, getEndpointWindowLimits, hasEndpointAccess, parseDurationToDate, getEarliestAllowedDate, validateDateRange, getRequiredPlan, getApiRateLimit, getStaticEndpoints, resetPlanLimits, loadPlanLimitsFromCache, getAccessibleEndpointsSummary, detectPlanFromLimits, } from "./plan-limits.js";
9
10
  export { CACHE_VERSION, CACHE_TTL_DAYS } from "./cache/types.js";
@@ -13,7 +14,7 @@ export { getStoredApiKey, saveApiKey, updateValidatedAt, clearCredentials, getCr
13
14
  // =============================================================================
14
15
  // Utility Exports
15
16
  // =============================================================================
16
- export { jsonResponse, errorResponse, getPlanNote, capitalizeFirst } from "./utils.js";
17
+ export { jsonResponse, errorResponse, getPlanNote, capitalizeFirst, logger, } from "./utils.js";
17
18
  // =============================================================================
18
19
  // Config Exports
19
20
  // =============================================================================
@@ -37,10 +38,10 @@ async function main() {
37
38
  // Start server with stdio transport
38
39
  const transport = new StdioServerTransport();
39
40
  await server.connect(transport);
40
- console.error("CryptoQuant MCP Server running on stdio");
41
+ logger.info("CryptoQuant MCP Server running on stdio");
41
42
  }
42
43
  main().catch((error) => {
43
- console.error("Failed to start server:", error);
44
+ logger.error("Failed to start server:", error);
44
45
  process.exit(1);
45
46
  });
46
47
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAcpD,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOzE,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAChF,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAEvF,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,oCAAoC;IACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,OAAO,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AAEjF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAcpC,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,GACf,MAAM,gBAAgB,CAAC;AAOxB,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAkB1B,OAAO,EACL,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,sBAAsB,EACtB,uBAAuB,EACvB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,eAAe,EACf,uBAAuB,EACvB,6BAA6B,EAC7B,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAa1B,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,YAAY,EACZ,SAAS,EACT,UAAU,EACV,eAAe,EACf,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAOzE,OAAO,EACL,eAAe,EACf,UAAU,EACV,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAChF,OAAO,EACL,YAAY,EACZ,aAAa,EACb,WAAW,EACX,eAAe,EACf,MAAM,GACP,MAAM,YAAY,CAAC;AAEpB,gFAAgF;AAChF,iBAAiB;AACjB,gFAAgF;AAChF,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEvD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,gFAAgF;AAChF,qBAAqB;AACrB,gFAAgF;AAChF,KAAK,UAAU,IAAI;IACjB,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAC1B,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE1B,oCAAoC;IACpC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;AACzD,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;IACrB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { type UserPlan } from "./plan-limits.js";
1
+ import type { UserPlan } from "./plan-limits.js";
2
2
  import type { DiscoveryCacheSchema, DiscoverySummaryData } from "./cache/types.js";
3
3
  export interface PermissionState {
4
4
  authenticated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AACA,OAAO,EAKL,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAC;AAW1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AAEnF,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAcD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAoG3B;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAEnC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAEhE;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"permissions.d.ts","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACrB,MAAM,kBAAkB,CAAC;AAE1B,MAAM,WAAW,eAAe;IAC9B,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,IAAI,EAAE,QAAQ,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,UAAU,EAAE,OAAO,CAAC;CACrB;AAcD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,gBAAgB,CAAC,CAmI3B;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CAEpD;AAED,wBAAgB,YAAY,IAAI,IAAI,CAMnC;AAED,wBAAgB,gBAAgB,IAAI,IAAI,CAKvC;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAOzD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,oBAAoB,GAAG,IAAI,CAEhE;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -1,7 +1,8 @@
1
+ import { clearAllCaches, getCacheFilePath, getCacheStatus, invalidateCache, isCacheValid, readCache, writeCache, } from "./cache/storage.js";
2
+ import { extractRawResponse, generateSummary } from "./cache/summary.js";
1
3
  import { fetchDiscoveryEndpoints, resetDiscovery } from "./discovery.js";
2
- import { fetchPlanLimits, resetPlanLimits, getPlanLimitsState, loadPlanLimitsFromCache, } from "./plan-limits.js";
3
- import { readCache, writeCache, isCacheValid, invalidateCache, clearAllCaches, getCacheStatus, getCacheFilePath, } from "./cache/storage.js";
4
- import { generateSummary, extractRawResponse } from "./cache/summary.js";
4
+ import { logger } from "./utils.js";
5
+ import { fetchPlanLimits, getPlanLimitsState, loadPlanLimitsFromCache, resetPlanLimits, } from "./plan-limits.js";
5
6
  const DEFAULT_STATE = {
6
7
  authenticated: false,
7
8
  api_key: null,
@@ -13,17 +14,20 @@ const DEFAULT_STATE = {
13
14
  let permissionState = { ...DEFAULT_STATE };
14
15
  let cachedDiscovery = null;
15
16
  export async function initializePermissions(apiKey, apiUrl) {
17
+ logger.debug("[initializePermissions] starting with API URL:", apiUrl);
16
18
  const apiKeyPrefix = apiKey.slice(0, 8);
17
19
  // 1. Try cache first for /my/discovery data
18
20
  const cache = readCache(apiUrl);
21
+ logger.debug("[initializePermissions] cache status:", cache ? "found" : "not found");
19
22
  if (cache && isCacheValid(cache, apiUrl, apiKeyPrefix)) {
23
+ logger.debug("[initializePermissions] using valid cache, plan:", cache.metadata.plan);
20
24
  // Load plan limits from cache
21
25
  loadPlanLimitsFromCache(cache.parsed.limits, cache.parsed.statics, cache.parsed.apiRateLimit, cache.metadata.plan);
22
26
  // Still need to fetch /discovery/endpoints for parameter options
23
27
  const discoveryResult = await fetchDiscoveryEndpoints(apiKey, apiUrl);
24
28
  if (!discoveryResult.success) {
25
29
  // Discovery failed but we have cache - continue with warning
26
- console.warn(`Discovery fetch failed, using cache: ${discoveryResult.error}`);
30
+ logger.warn(`Discovery fetch failed, using cache: ${discoveryResult.error}`);
27
31
  }
28
32
  const cacheStatus = getCacheStatus(cache, true);
29
33
  cachedDiscovery = cache;
@@ -43,17 +47,28 @@ export async function initializePermissions(apiKey, apiUrl) {
43
47
  };
44
48
  }
45
49
  // 2. Cache miss or invalid - fetch fresh data
50
+ logger.debug("[initializePermissions] cache miss or invalid, fetching fresh data");
46
51
  try {
47
52
  // Fetch /discovery/endpoints (for parameter options)
53
+ logger.debug("[initializePermissions] fetching /discovery/endpoints");
48
54
  const discoveryResult = await fetchDiscoveryEndpoints(apiKey, apiUrl);
49
55
  if (!discoveryResult.success) {
50
- return { success: false, error: discoveryResult.error, from_cache: false, cache_status: "none" };
56
+ logger.debug("[initializePermissions] discovery fetch failed:", discoveryResult.error);
57
+ return {
58
+ success: false,
59
+ error: discoveryResult.error,
60
+ from_cache: false,
61
+ cache_status: "none",
62
+ };
51
63
  }
64
+ logger.debug("[initializePermissions] discovery fetch succeeded");
52
65
  // Fetch /my/discovery/endpoints (for plan limits)
66
+ logger.debug("[initializePermissions] fetching /my/discovery/endpoints");
53
67
  const planResult = await fetchPlanLimits(apiKey, apiUrl);
68
+ logger.debug("[initializePermissions] plan limits fetch:", planResult.success ? "success" : "failed");
54
69
  const planState = getPlanLimitsState();
55
70
  if (!planResult.success) {
56
- console.warn(`Plan limits fetch failed: ${planResult.error}`);
71
+ logger.warn(`Plan limits fetch failed: ${planResult.error}`);
57
72
  }
58
73
  // 3. Generate summary and write cache
59
74
  if (planResult.success && planResult.rawResponse && planResult.parsed) {
@@ -92,14 +107,23 @@ export async function initializePermissions(apiKey, apiUrl) {
92
107
  return { success: true, from_cache: false, cache_status: "none" };
93
108
  }
94
109
  catch (error) {
95
- return { success: false, error: `Network error: ${error}`, from_cache: false, cache_status: "none" };
110
+ return {
111
+ success: false,
112
+ error: `Network error: ${error}`,
113
+ from_cache: false,
114
+ cache_status: "none",
115
+ };
96
116
  }
97
117
  }
98
118
  export function getPermissionState() {
99
119
  return permissionState;
100
120
  }
101
121
  export function setGuestMode() {
102
- permissionState = { ...DEFAULT_STATE, cached_at: Date.now(), from_cache: false };
122
+ permissionState = {
123
+ ...DEFAULT_STATE,
124
+ cached_at: Date.now(),
125
+ from_cache: false,
126
+ };
103
127
  }
104
128
  export function resetPermissions() {
105
129
  permissionState = { ...DEFAULT_STATE };
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  export declare function registerAuthTools(server: McpServer): void;
3
3
  //# sourceMappingURL=auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuCpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiLzD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoDzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAkMzD"}
@@ -4,23 +4,35 @@ import { getAssetCategoryMap } from "../discovery.js";
4
4
  import { getStoredApiKey, saveApiKey, clearCredentials, getCredentialsPath, updateValidatedAt, } from "../auth/storage.js";
5
5
  import { getPlanLimitsState, getAccessibleEndpointsSummary } from "../plan-limits.js";
6
6
  import { getApiUrl } from "../config.js";
7
- import { jsonResponse, getPlanNote } from "../utils.js";
7
+ import { jsonResponse, getPlanNote, logger } from "../utils.js";
8
8
  const initializeSchema = {
9
9
  api_key: z.string().optional().describe("API key (optional if CRYPTOQUANT_API_KEY env var is set)"),
10
10
  };
11
11
  function resolveApiKey(paramKey) {
12
- if (paramKey)
12
+ if (paramKey) {
13
+ logger.debug("[resolveApiKey] using key from parameter");
13
14
  return paramKey;
15
+ }
14
16
  const envKey = process.env.CRYPTOQUANT_API_KEY;
15
17
  const isEnvKeyValid = envKey && envKey.trim() && !envKey.startsWith("${");
16
- if (isEnvKeyValid)
18
+ if (isEnvKeyValid) {
19
+ logger.debug("[resolveApiKey] using key from environment variable");
17
20
  return envKey;
18
- return getStoredApiKey() ?? undefined;
21
+ }
22
+ const storedKey = getStoredApiKey();
23
+ if (storedKey) {
24
+ logger.debug("[resolveApiKey] using key from stored credentials");
25
+ return storedKey;
26
+ }
27
+ logger.debug("[resolveApiKey] no API key found");
28
+ return undefined;
19
29
  }
20
30
  export function registerAuthTools(server) {
21
31
  server.tool("initialize", "Initialize CryptoQuant session. MUST be called first before any other CryptoQuant tools. Returns available assets (btc, eth, etc.), metric categories per asset (e.g., market-indicator, network-indicator), and your plan. Use the returned asset_categories to know which discover_endpoints() calls are valid.", initializeSchema, async (params) => {
22
- let apiKey = resolveApiKey(params.api_key);
32
+ logger.debug("[initialize] starting initialization");
33
+ const apiKey = resolveApiKey(params.api_key);
23
34
  if (!apiKey) {
35
+ logger.debug("[initialize] no API key available");
24
36
  return jsonResponse({
25
37
  status: "api_key_required",
26
38
  message: "API key not found. Please configure using one of these methods:",
@@ -48,7 +60,14 @@ export function registerAuthTools(server) {
48
60
  });
49
61
  }
50
62
  const apiUrl = getApiUrl();
63
+ logger.debug("[initialize] using API URL:", apiUrl);
51
64
  const result = await initializePermissions(apiKey, apiUrl);
65
+ logger.debug("[initialize] permissions result:", {
66
+ success: result.success,
67
+ from_cache: result.from_cache,
68
+ cache_status: result.cache_status,
69
+ error: result.error,
70
+ });
52
71
  if (!result.success) {
53
72
  return jsonResponse({
54
73
  success: false,
@@ -147,6 +166,10 @@ export function registerAuthTools(server) {
147
166
  .optional()
148
167
  .describe("If true, also clears discovery cache (forces fresh API fetch on next initialize)"),
149
168
  }, async (params) => {
169
+ logger.debug("[reset_session] called with:", {
170
+ clear_stored: params.clear_stored,
171
+ clear_cache: params.clear_cache,
172
+ });
150
173
  resetPermissions();
151
174
  const apiUrl = getApiUrl();
152
175
  const clearedItems = ["session"];
@@ -161,6 +184,7 @@ export function registerAuthTools(server) {
161
184
  const message = clearedItems.length === 1
162
185
  ? "Session cleared (credentials and cache preserved)"
163
186
  : `Cleared: ${clearedItems.join(", ")}`;
187
+ logger.debug("[reset_session] cleared:", clearedItems.join(", "));
164
188
  return jsonResponse({
165
189
  success: true,
166
190
  message,
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/tools/auth.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
2
  export declare function registerCoreTools(server: McpServer): void;
3
3
  //# sourceMappingURL=core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAuGpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAiVzD"}
1
+ {"version":3,"file":"core.d.ts","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAmIzE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CA6ZzD"}
@@ -1,12 +1,12 @@
1
- import { z } from "zod";
2
1
  import { readFileSync } from "fs";
3
- import { join, dirname } from "path";
2
+ import { dirname, join } from "path";
4
3
  import { fileURLToPath } from "url";
5
- import { getPermissionState } from "../permissions.js";
6
- import { isDiscoveryLoaded, searchEndpoints, getEndpointByPath, getDiscoverySummary, getEndpointCatalog, validateEndpointParams, getParameterOptions, } from "../discovery.js";
7
- import { hasEndpointAccess, getEndpointWindowLimits, validateDateRange, getRequiredPlan, getPlanLimitsState, parseDurationToDate, } from "../plan-limits.js";
4
+ import { z } from "zod";
8
5
  import { getApiBaseUrl } from "../config.js";
9
- import { jsonResponse, errorResponse, getPlanNote, capitalizeFirst } from "../utils.js";
6
+ import { getDiscoverySummary, getEndpointByPath, getEndpointCatalog, getParameterOptions, isDiscoveryLoaded, searchEndpoints, validateEndpointParams, } from "../discovery.js";
7
+ import { getPermissionState } from "../permissions.js";
8
+ import { getEndpointWindowLimits, getPlanLimitsState, getRequiredPlan, hasEndpointAccess, parseDurationToDate, validateDateRange, } from "../plan-limits.js";
9
+ import { capitalizeFirst, errorResponse, getPlanNote, jsonResponse, logger, } from "../utils.js";
10
10
  function buildRateLimitInfo(response) {
11
11
  const limit = response.headers.get("X-RateLimit-Limit");
12
12
  const remaining = response.headers.get("X-RateLimit-Remaining");
@@ -45,38 +45,62 @@ const queryDataSchema = {
45
45
  .describe("API endpoint path (e.g., /v1/btc/market-data/mvrv)"),
46
46
  params: z
47
47
  .object({
48
- window: z.string().optional().describe("Time window granularity (hour, day, block, etc.)"),
49
- limit: z.number().optional().describe("Number of data points to return (max 1000)"),
48
+ window: z
49
+ .string()
50
+ .optional()
51
+ .describe("Time window granularity (hour, day, block, etc.)"),
52
+ limit: z
53
+ .number()
54
+ .optional()
55
+ .describe("Number of data points to return (max 1000)"),
50
56
  from: z.string().optional().describe("Start date (ISO 8601 format)"),
51
57
  to: z.string().optional().describe("End date (ISO 8601 format)"),
52
- exchange: z.string().optional().describe("Exchange filter (for exchange-specific data)"),
53
- symbol: z.string().optional().describe("Trading symbol (e.g., btc_usd, btc_usdt)"),
58
+ exchange: z
59
+ .string()
60
+ .optional()
61
+ .describe("Exchange filter (for exchange-specific data)"),
62
+ symbol: z
63
+ .string()
64
+ .optional()
65
+ .describe("Trading symbol (e.g., btc_usd, btc_usdt)"),
54
66
  market: z.string().optional().describe("Market type (spot, perpetual)"),
55
- token: z.string().optional().describe("Token filter (for alt/erc20 data)"),
67
+ token: z
68
+ .string()
69
+ .optional()
70
+ .describe("Token filter (for alt/erc20 data)"),
56
71
  miner: z.string().optional().describe("Miner filter (for miner data)"),
57
- type: z.string().optional().describe("Entity type filter (e.g., exchange, entity, miner, bank)"),
72
+ type: z
73
+ .string()
74
+ .optional()
75
+ .describe("Entity type filter (e.g., exchange, entity, miner, bank)"),
58
76
  })
59
77
  .optional()
60
78
  .describe("Query parameters"),
61
79
  };
62
80
  const getEndpointInfoSchema = {
63
- endpoint: z
64
- .string()
65
- .describe("API endpoint path to get information about"),
81
+ endpoint: z.string().describe("API endpoint path to get information about"),
66
82
  };
67
83
  function requireAuth() {
68
84
  const state = getPermissionState();
69
85
  if (!state.authenticated) {
70
- return errorResponse("Not authenticated", { action: "Call initialize() first to authenticate with your API key" });
86
+ return errorResponse("Not authenticated", {
87
+ action: "Call initialize() first to authenticate with your API key",
88
+ });
71
89
  }
72
90
  return null;
73
91
  }
74
92
  export function registerCoreTools(server) {
75
93
  server.tool("discover_endpoints", "Discover available API endpoints for a specific asset and category. Call initialize() first to get valid asset/category combinations. Returns endpoint paths and parameter options (e.g., window: ['day', 'hour']). Use returned paths with query_data().", discoverEndpointsSchema, async (params) => {
94
+ logger.debug("[discover_endpoints] called with:", {
95
+ asset: params.asset || "all",
96
+ category: params.category || "all",
97
+ query: params.query || null,
98
+ });
76
99
  const authError = requireAuth();
77
100
  if (authError)
78
101
  return authError;
79
102
  if (!isDiscoveryLoaded()) {
103
+ logger.debug("[discover_endpoints] discovery not loaded");
80
104
  return errorResponse("Discovery data not loaded", {
81
105
  action: "Discovery may have failed during initialization. Try reset_session() and initialize() again.",
82
106
  });
@@ -86,6 +110,7 @@ export function registerCoreTools(server) {
86
110
  category: params.category,
87
111
  query: params.query,
88
112
  });
113
+ logger.debug("[discover_endpoints] found", endpoints.length, "endpoints");
89
114
  const grouped = {};
90
115
  for (const ep of endpoints) {
91
116
  grouped[ep.asset] ??= {};
@@ -104,7 +129,9 @@ export function registerCoreTools(server) {
104
129
  const planInfo = planState.loaded
105
130
  ? {
106
131
  accessible,
107
- ...(Object.keys(windowLimits).length > 0 && { date_limits: windowLimits }),
132
+ ...(Object.keys(windowLimits).length > 0 && {
133
+ date_limits: windowLimits,
134
+ }),
108
135
  ...(!accessible && {
109
136
  required_plan: requiredPlan,
110
137
  upgrade_hint: `Upgrade to ${capitalizeFirst(requiredPlan)} for access`,
@@ -132,19 +159,26 @@ export function registerCoreTools(server) {
132
159
  matched_endpoints: endpoints.length,
133
160
  total_available: summary?.total_endpoints || 0,
134
161
  ...(planState.loaded && {
135
- plan_info: { your_plan: planState.plan, note: getPlanNote(planState.plan) },
162
+ plan_info: {
163
+ your_plan: planState.plan,
164
+ note: getPlanNote(planState.plan),
165
+ },
136
166
  }),
137
167
  catalog,
138
168
  tip: "Use get_endpoint_info(endpoint) to see available parameter values for a specific endpoint",
139
169
  });
140
170
  });
141
171
  server.tool("get_endpoint_info", "Get detailed information about a specific API endpoint including available parameter values.", getEndpointInfoSchema, async (params) => {
172
+ logger.debug("[get_endpoint_info] lookup:", params.endpoint);
142
173
  const authError = requireAuth();
143
174
  if (authError)
144
175
  return authError;
145
176
  const endpoint = getEndpointByPath(params.endpoint);
146
177
  if (!endpoint) {
147
- const searchResults = searchEndpoints({ query: params.endpoint.split("/").pop() || "" });
178
+ logger.debug("[get_endpoint_info] endpoint not found:", params.endpoint);
179
+ const searchResults = searchEndpoints({
180
+ query: params.endpoint.split("/").pop() || "",
181
+ });
148
182
  return errorResponse(`Endpoint not found: ${params.endpoint}`, {
149
183
  suggestions: searchResults.slice(0, 5).map((ep) => ep.path),
150
184
  tip: "Use discover_endpoints() to browse available endpoints",
@@ -159,7 +193,9 @@ export function registerCoreTools(server) {
159
193
  const earliestDate = parseDurationToDate(limit);
160
194
  dateLimitsInfo[window] = {
161
195
  limit,
162
- earliest_date: earliestDate ? earliestDate.toISOString().split("T")[0] : null,
196
+ earliest_date: earliestDate
197
+ ? earliestDate.toISOString().split("T")[0]
198
+ : null,
163
199
  };
164
200
  }
165
201
  return jsonResponse({
@@ -176,14 +212,21 @@ export function registerCoreTools(server) {
176
212
  plan_access: {
177
213
  accessible,
178
214
  your_plan: planState.plan,
179
- ...(Object.keys(dateLimitsInfo).length > 0 && { date_limits: dateLimitsInfo }),
180
- ...(!accessible && { required_plan: requiredPlan, upgrade_url: "https://cryptoquant.com/pricing" }),
215
+ ...(Object.keys(dateLimitsInfo).length > 0 && {
216
+ date_limits: dateLimitsInfo,
217
+ }),
218
+ ...(!accessible && {
219
+ required_plan: requiredPlan,
220
+ upgrade_url: "https://cryptoquant.com/pricing",
221
+ }),
181
222
  },
182
223
  }),
183
224
  example_query: buildExampleQuery(endpoint),
184
225
  });
185
226
  });
186
227
  server.tool("query_data", "Query raw data from CryptoQuant API. Workflow: initialize() → discover_endpoints(asset, category) → query_data(endpoint, params). Use endpoint paths and parameter values from discover_endpoints response.", queryDataSchema, async (params) => {
228
+ logger.debug("[query_data] called with endpoint:", params.endpoint);
229
+ logger.debug("[query_data] params:", params.params);
187
230
  const authError = requireAuth();
188
231
  if (authError)
189
232
  return authError;
@@ -224,7 +267,9 @@ export function registerCoreTools(server) {
224
267
  return errorResponse(dateValidation.error || "Date range exceeds plan limit", {
225
268
  your_plan: planState.plan,
226
269
  ...(dateValidation.limit && { limit: dateValidation.limit }),
227
- ...(dateValidation.earliest_allowed && { earliest_allowed: dateValidation.earliest_allowed }),
270
+ ...(dateValidation.earliest_allowed && {
271
+ earliest_allowed: dateValidation.earliest_allowed,
272
+ }),
228
273
  upgrade_url: "https://cryptoquant.com/pricing",
229
274
  suggestion: "Upgrade to Premium for unlimited historical data access",
230
275
  });
@@ -233,7 +278,9 @@ export function registerCoreTools(server) {
233
278
  }
234
279
  const apiKey = state.api_key;
235
280
  if (!apiKey) {
236
- return errorResponse("API key not available", { action: "Re-initialize with your API key" });
281
+ return errorResponse("API key not available", {
282
+ action: "Re-initialize with your API key",
283
+ });
237
284
  }
238
285
  try {
239
286
  const urlParams = new URLSearchParams();
@@ -248,10 +295,12 @@ export function registerCoreTools(server) {
248
295
  urlParams.set("source", "mcp");
249
296
  const apiUrl = getApiBaseUrl();
250
297
  const fullUrl = `${apiUrl}${params.endpoint}?${urlParams.toString()}`;
298
+ logger.debug("[query_data] API request:", fullUrl);
251
299
  const response = await fetch(fullUrl, {
252
300
  method: "GET",
253
301
  headers: { Authorization: `Bearer ${apiKey}` },
254
302
  });
303
+ logger.debug("[query_data] API response status:", response.status, response.statusText);
255
304
  if (!response.ok) {
256
305
  const errorBody = await response.text();
257
306
  return errorResponse(`API request failed: ${response.status} ${response.statusText}`, {
@@ -261,10 +310,12 @@ export function registerCoreTools(server) {
261
310
  }
262
311
  let data;
263
312
  try {
264
- data = await response.json();
313
+ data = (await response.json());
265
314
  }
266
315
  catch {
267
- return errorResponse("Failed to parse API response", { endpoint: params.endpoint });
316
+ return errorResponse("Failed to parse API response", {
317
+ endpoint: params.endpoint,
318
+ });
268
319
  }
269
320
  const rateLimitInfo = buildRateLimitInfo(response);
270
321
  return jsonResponse({
@@ -276,7 +327,9 @@ export function registerCoreTools(server) {
276
327
  });
277
328
  }
278
329
  catch (error) {
279
- return errorResponse(`Network error: ${error}`, { endpoint: params.endpoint });
330
+ return errorResponse(`Network error: ${error}`, {
331
+ endpoint: params.endpoint,
332
+ });
280
333
  }
281
334
  });
282
335
  server.tool("list_assets", "List all supported assets (cryptocurrencies) with their available data categories.", {}, async () => {
@@ -292,7 +345,12 @@ export function registerCoreTools(server) {
292
345
  const note = state.authenticated
293
346
  ? "Discovery data not loaded. Try reset_session() and initialize() again."
294
347
  : "Call initialize() to load full endpoint catalog";
295
- return jsonResponse({ success: true, authenticated: state.authenticated, assets: defaultAssets, note });
348
+ return jsonResponse({
349
+ success: true,
350
+ authenticated: state.authenticated,
351
+ assets: defaultAssets,
352
+ note,
353
+ });
296
354
  }
297
355
  const summary = getDiscoverySummary();
298
356
  const catalog = getEndpointCatalog();
@@ -318,15 +376,21 @@ export function registerCoreTools(server) {
318
376
  });
319
377
  });
320
378
  server.tool("describe_metric", "Get detailed description for a specific metric. Use only when user asks 'what is X?' or metric is unfamiliar. Returns thresholds, interpretation guidance, and category info.", {
321
- metric_id: z.string().describe("The metric ID to describe (e.g., 'mvrv', 'sopr', 'netflow')"),
379
+ metric_id: z
380
+ .string()
381
+ .describe("The metric ID to describe (e.g., 'mvrv', 'sopr', 'netflow')"),
322
382
  }, async (params) => {
383
+ logger.debug("[describe_metric] looking up metric:", params.metric_id);
323
384
  try {
324
385
  const metrics = parseToonMetrics();
386
+ logger.debug("[describe_metric] loaded", metrics.length, "metrics from local data");
325
387
  const searchLower = params.metric_id.toLowerCase();
326
388
  const metric = metrics.find((m) => m.id.toLowerCase() === searchLower);
327
389
  if (!metric) {
390
+ logger.debug("[describe_metric] metric not found:", params.metric_id);
328
391
  const suggestions = metrics
329
- .filter((m) => m.id.toLowerCase().includes(searchLower) || m.name.toLowerCase().includes(searchLower))
392
+ .filter((m) => m.id.toLowerCase().includes(searchLower) ||
393
+ m.name.toLowerCase().includes(searchLower))
330
394
  .slice(0, 5)
331
395
  .map((m) => m.id);
332
396
  return errorResponse(`Unknown metric: ${params.metric_id}`, {
@@ -334,6 +398,7 @@ export function registerCoreTools(server) {
334
398
  tip: "Use discover_endpoints() to find available metrics",
335
399
  });
336
400
  }
401
+ logger.debug("[describe_metric] found metric:", metric.id, "-", metric.name);
337
402
  return jsonResponse({
338
403
  success: true,
339
404
  metric: {
@@ -356,11 +421,14 @@ function parseToonMetrics() {
356
421
  const __filename = fileURLToPath(import.meta.url);
357
422
  const __dirname = dirname(__filename);
358
423
  const toonPath = join(__dirname, "..", "data", "metrics.toon");
424
+ logger.debug("[parseToonMetrics] loading from:", toonPath);
359
425
  let content;
360
426
  try {
361
427
  content = readFileSync(toonPath, "utf-8");
428
+ logger.debug("[parseToonMetrics] file loaded, size:", content.length, "bytes");
362
429
  }
363
- catch {
430
+ catch (err) {
431
+ logger.debug("[parseToonMetrics] file not found, using built-in metrics");
364
432
  return getBuiltInMetrics();
365
433
  }
366
434
  const metrics = [];
@@ -369,7 +437,9 @@ function parseToonMetrics() {
369
437
  let dataStartIndex = -1;
370
438
  for (let i = 0; i < lines.length; i++) {
371
439
  const line = lines[i].trim();
372
- if (line.startsWith("metrics[") && line.includes("{") && line.includes("}:")) {
440
+ if (line.startsWith("metrics[") &&
441
+ line.includes("{") &&
442
+ line.includes("}:")) {
373
443
  const match = line.match(/\{([^}]+)\}/);
374
444
  if (match) {
375
445
  schemaFields = match[1].split(",").map((f) => f.trim());
@@ -460,14 +530,17 @@ function buildExampleQuery(endpoint) {
460
530
  params.push(`${required}=${values[0]}`);
461
531
  }
462
532
  }
463
- if (endpoint.parameters.window && !endpoint.required_parameters.includes("window")) {
533
+ if (endpoint.parameters.window &&
534
+ !endpoint.required_parameters.includes("window")) {
464
535
  params.push(`window=${endpoint.parameters.window[0]}`);
465
536
  }
466
537
  params.push("limit=100");
467
- const paramStr = params.map((p) => {
538
+ const paramStr = params
539
+ .map((p) => {
468
540
  const [key, val] = p.split("=");
469
541
  return `"${key}": "${val}"`;
470
- }).join(", ");
542
+ })
543
+ .join(", ");
471
544
  return `query_data(endpoint="${endpoint.path}", params={${paramStr}})`;
472
545
  }
473
546
  //# sourceMappingURL=core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/tools/core.ts"],"names":[],"mappings":"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"}
package/dist/utils.d.ts CHANGED
@@ -2,6 +2,19 @@
2
2
  * Shared utility functions for CryptoQuant MCP Server
3
3
  */
4
4
  import type { UserPlan } from "./plan-limits.js";
5
+ /**
6
+ * Logger with level-based output.
7
+ * - debug: Only shown when DEBUG=true (use for detailed tracing)
8
+ * - info: Always shown (use for important status messages)
9
+ * - warn: Always shown (use for warnings)
10
+ * - error: Always shown (use for errors)
11
+ */
12
+ export declare const logger: {
13
+ debug: (...args: unknown[]) => void;
14
+ info: (...args: unknown[]) => void;
15
+ warn: (...args: unknown[]) => void;
16
+ error: (...args: unknown[]) => void;
17
+ };
5
18
  /**
6
19
  * Create a JSON response for MCP tools.
7
20
  */
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAEzF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAe3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAejD;;;;;;GAMG;AACH,eAAO,MAAM,MAAM;qBACA,OAAO,EAAE;oBAKV,OAAO,EAAE;oBAGT,OAAO,EAAE;qBAGR,OAAO,EAAE;CAG3B,CAAC;AAEF;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,GAAG;IAC3C,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC3C,CAEA;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B;IAAE,OAAO,EAAE,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAE/C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,MAAM,CAe3D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEnD"}
package/dist/utils.js CHANGED
@@ -1,6 +1,40 @@
1
1
  /**
2
2
  * Shared utility functions for CryptoQuant MCP Server
3
3
  */
4
+ // =============================================================================
5
+ // Logger - Debug logging controlled by DEBUG environment variable
6
+ // =============================================================================
7
+ /**
8
+ * Check if debug logging is enabled.
9
+ * Set DEBUG=true or DEBUG=1 to enable debug output.
10
+ */
11
+ function isDebugEnabled() {
12
+ const debug = process.env.DEBUG;
13
+ return debug === "true" || debug === "1";
14
+ }
15
+ /**
16
+ * Logger with level-based output.
17
+ * - debug: Only shown when DEBUG=true (use for detailed tracing)
18
+ * - info: Always shown (use for important status messages)
19
+ * - warn: Always shown (use for warnings)
20
+ * - error: Always shown (use for errors)
21
+ */
22
+ export const logger = {
23
+ debug: (...args) => {
24
+ if (isDebugEnabled()) {
25
+ console.error("[DEBUG]", ...args);
26
+ }
27
+ },
28
+ info: (...args) => {
29
+ console.error("[INFO]", ...args);
30
+ },
31
+ warn: (...args) => {
32
+ console.error("[WARN]", ...args);
33
+ },
34
+ error: (...args) => {
35
+ console.error("[ERROR]", ...args);
36
+ },
37
+ };
4
38
  /**
5
39
  * Create a JSON response for MCP tools.
6
40
  */
package/dist/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IACxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,KAA+B;IAE/B,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,6CAA6C,CAAC;QACvD,KAAK,SAAS;YACZ,OAAO,yBAAyB,CAAC;QACnC,KAAK,cAAc;YACjB,OAAO,6CAA6C,CAAC;QACvD,KAAK,UAAU;YACb,OAAO,gDAAgD,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,iDAAiD,CAAC;QAC3D;YACE,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,gFAAgF;AAChF,kEAAkE;AAClE,gFAAgF;AAEhF;;;GAGG;AACH,SAAS,cAAc;IACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC;IAChC,OAAO,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG;IACpB,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,IAAI,cAAc,EAAE,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,IAAI,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;IACnC,CAAC;IACD,KAAK,EAAE,CAAC,GAAG,IAAe,EAAE,EAAE;QAC5B,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACpC,CAAC;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,IAAa;IAGxC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC9E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,KAAa,EACb,KAA+B;IAE/B,OAAO,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,IAAuB;IACjD,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,QAAQ;YACX,OAAO,6CAA6C,CAAC;QACvD,KAAK,SAAS;YACZ,OAAO,yBAAyB,CAAC;QACnC,KAAK,cAAc;YACjB,OAAO,6CAA6C,CAAC;QACvD,KAAK,UAAU;YACb,OAAO,gDAAgD,CAAC;QAC1D,KAAK,OAAO;YACV,OAAO,iDAAiD,CAAC;QAC3D;YACE,OAAO,mBAAmB,CAAC;IAC/B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAAW;IACzC,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cryptoquant_official/mcp",
3
- "version": "0.0.4",
3
+ "version": "0.0.5",
4
4
  "description": "CryptoQuant MCP Server - On-chain analytics for Claude and AI coding agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -51,10 +51,12 @@
51
51
  "zod": "^3.23.0"
52
52
  },
53
53
  "devDependencies": {
54
+ "@eslint/js": "^9.39.2",
54
55
  "@types/node": "^20.0.0",
56
+ "eslint": "^9.0.0",
55
57
  "tsx": "^4.0.0",
56
58
  "typescript": "^5.5.0",
57
- "eslint": "^9.0.0",
59
+ "typescript-eslint": "^8.54.0",
58
60
  "vitest": "^2.0.0"
59
61
  },
60
62
  "engines": {