@continuumdao/continuum-node-sdk 1.3.38 → 1.3.40

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.
Files changed (512) hide show
  1. package/dist/agent-host-catalog.json +1246 -50
  2. package/dist/core/chart/analysis/analysis-agent-view.d.ts.map +1 -1
  3. package/dist/core/chart/analysis/analysis-agent-view.js +38 -10
  4. package/dist/core/chart/analysis/analysis-agent-view.js.map +1 -1
  5. package/dist/core/chart/analysis/analysis-catalog.d.ts.map +1 -1
  6. package/dist/core/chart/analysis/analysis-catalog.js +12 -0
  7. package/dist/core/chart/analysis/analysis-catalog.js.map +1 -1
  8. package/dist/core/chart/analysis/analyze-tools.d.ts +61 -0
  9. package/dist/core/chart/analysis/analyze-tools.d.ts.map +1 -1
  10. package/dist/core/chart/analysis/analyze-tools.js +4 -0
  11. package/dist/core/chart/analysis/analyze-tools.js.map +1 -1
  12. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts +5 -0
  13. package/dist/core/chart/analysis/bollinger-analyze-tools.d.ts.map +1 -1
  14. package/dist/core/chart/analysis/bollinger-analyze-tools.js +9 -0
  15. package/dist/core/chart/analysis/bollinger-analyze-tools.js.map +1 -1
  16. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts +121 -0
  17. package/dist/core/chart/analysis/chart-patterns-drawings-tools.d.ts.map +1 -1
  18. package/dist/core/chart/analysis/chart-patterns-drawings-tools.js +69 -5
  19. package/dist/core/chart/analysis/chart-patterns-drawings-tools.js.map +1 -1
  20. package/dist/core/chart/analysis/chart-patterns-tools.d.ts +114 -0
  21. package/dist/core/chart/analysis/chart-patterns-tools.d.ts.map +1 -1
  22. package/dist/core/chart/analysis/chart-patterns-tools.js +10 -1
  23. package/dist/core/chart/analysis/chart-patterns-tools.js.map +1 -1
  24. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts +19 -0
  25. package/dist/core/chart/analysis/divergence-analyze-tools.d.ts.map +1 -1
  26. package/dist/core/chart/analysis/divergence-analyze-tools.js +52 -19
  27. package/dist/core/chart/analysis/divergence-analyze-tools.js.map +1 -1
  28. package/dist/core/chart/analysis/divergence-drawings-tools.d.ts +2 -0
  29. package/dist/core/chart/analysis/divergence-drawings-tools.d.ts.map +1 -1
  30. package/dist/core/chart/analysis/divergence-drawings-tools.js +18 -6
  31. package/dist/core/chart/analysis/divergence-drawings-tools.js.map +1 -1
  32. package/dist/core/chart/analysis/donchian-analyze-tools.d.ts +4 -0
  33. package/dist/core/chart/analysis/donchian-analyze-tools.d.ts.map +1 -1
  34. package/dist/core/chart/analysis/donchian-analyze-tools.js +2 -0
  35. package/dist/core/chart/analysis/donchian-analyze-tools.js.map +1 -1
  36. package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts +2 -0
  37. package/dist/core/chart/analysis/elliott-wave-drawings-tools.d.ts.map +1 -1
  38. package/dist/core/chart/analysis/elliott-wave-drawings-tools.js +12 -2
  39. package/dist/core/chart/analysis/elliott-wave-drawings-tools.js.map +1 -1
  40. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts +12 -0
  41. package/dist/core/chart/analysis/elliott-waves-analyze-tools.d.ts.map +1 -1
  42. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js +4 -1
  43. package/dist/core/chart/analysis/elliott-waves-analyze-tools.js.map +1 -1
  44. package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts +4 -0
  45. package/dist/core/chart/analysis/ichimoku-analyze-tools.d.ts.map +1 -1
  46. package/dist/core/chart/analysis/ichimoku-analyze-tools.js +2 -0
  47. package/dist/core/chart/analysis/ichimoku-analyze-tools.js.map +1 -1
  48. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts +18 -0
  49. package/dist/core/chart/analysis/key-fib-drawings-tools.d.ts.map +1 -1
  50. package/dist/core/chart/analysis/key-fib-drawings-tools.js +42 -3
  51. package/dist/core/chart/analysis/key-fib-drawings-tools.js.map +1 -1
  52. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts +5 -0
  53. package/dist/core/chart/analysis/key-level-drawings-shared.d.ts.map +1 -1
  54. package/dist/core/chart/analysis/key-level-drawings-shared.js +9 -1
  55. package/dist/core/chart/analysis/key-level-drawings-shared.js.map +1 -1
  56. package/dist/core/chart/analysis/key-level-drawings-tools.d.ts +23 -0
  57. package/dist/core/chart/analysis/key-level-drawings-tools.d.ts.map +1 -1
  58. package/dist/core/chart/analysis/key-level-drawings-tools.js +53 -6
  59. package/dist/core/chart/analysis/key-level-drawings-tools.js.map +1 -1
  60. package/dist/core/chart/analysis/liquidity-depth-analyze-tools.d.ts +124 -0
  61. package/dist/core/chart/analysis/liquidity-depth-analyze-tools.d.ts.map +1 -0
  62. package/dist/core/chart/analysis/liquidity-depth-analyze-tools.js +185 -0
  63. package/dist/core/chart/analysis/liquidity-depth-analyze-tools.js.map +1 -0
  64. package/dist/core/chart/analysis/liquidity-depth-drawings-tools.d.ts +1447 -0
  65. package/dist/core/chart/analysis/liquidity-depth-drawings-tools.d.ts.map +1 -0
  66. package/dist/core/chart/analysis/liquidity-depth-drawings-tools.js +161 -0
  67. package/dist/core/chart/analysis/liquidity-depth-drawings-tools.js.map +1 -0
  68. package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts +4 -0
  69. package/dist/core/chart/analysis/moving-averages-analyze-tools.d.ts.map +1 -1
  70. package/dist/core/chart/analysis/moving-averages-analyze-tools.js +3 -0
  71. package/dist/core/chart/analysis/moving-averages-analyze-tools.js.map +1 -1
  72. package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts +4 -0
  73. package/dist/core/chart/analysis/supertrend-analyze-tools.d.ts.map +1 -1
  74. package/dist/core/chart/analysis/supertrend-analyze-tools.js +2 -0
  75. package/dist/core/chart/analysis/supertrend-analyze-tools.js.map +1 -1
  76. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts +8 -1
  77. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.d.ts.map +1 -1
  78. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js +13 -2
  79. package/dist/core/chart/analysis/trade-setups/bollinger-trade-setup.js.map +1 -1
  80. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts +3 -4
  81. package/dist/core/chart/analysis/trade-setups/build-trade.d.ts.map +1 -1
  82. package/dist/core/chart/analysis/trade-setups/build-trade.js +32 -71
  83. package/dist/core/chart/analysis/trade-setups/build-trade.js.map +1 -1
  84. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.d.ts.map +1 -1
  85. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js +18 -1
  86. package/dist/core/chart/analysis/trade-setups/chart-data-purpose.js.map +1 -1
  87. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts +9 -0
  88. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.d.ts.map +1 -1
  89. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js +71 -9
  90. package/dist/core/chart/analysis/trade-setups/chart-pattern-trade-setup.js.map +1 -1
  91. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts +6 -0
  92. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.d.ts.map +1 -1
  93. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js +16 -6
  94. package/dist/core/chart/analysis/trade-setups/divergence-trade-setup.js.map +1 -1
  95. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts +5 -1
  96. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.d.ts.map +1 -1
  97. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js +20 -3
  98. package/dist/core/chart/analysis/trade-setups/donchian-trade-setup.js.map +1 -1
  99. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts +5 -1
  100. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.d.ts.map +1 -1
  101. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js +9 -1
  102. package/dist/core/chart/analysis/trade-setups/elliott-waves-trade-setup.js.map +1 -1
  103. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts +6 -1
  104. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.d.ts.map +1 -1
  105. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js +12 -1
  106. package/dist/core/chart/analysis/trade-setups/ichimoku-trade-setup.js.map +1 -1
  107. package/dist/core/chart/analysis/trade-setups/index.d.ts +4 -0
  108. package/dist/core/chart/analysis/trade-setups/index.d.ts.map +1 -1
  109. package/dist/core/chart/analysis/trade-setups/index.js +4 -0
  110. package/dist/core/chart/analysis/trade-setups/index.js.map +1 -1
  111. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts +2 -0
  112. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.d.ts.map +1 -1
  113. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js +3 -3
  114. package/dist/core/chart/analysis/trade-setups/key-level-fib-retrace-trade-setup.js.map +1 -1
  115. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts +2 -0
  116. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.d.ts.map +1 -1
  117. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js +3 -3
  118. package/dist/core/chart/analysis/trade-setups/key-levels-trade-setup.js.map +1 -1
  119. package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.d.ts +3 -0
  120. package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.d.ts.map +1 -1
  121. package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.js +10 -4
  122. package/dist/core/chart/analysis/trade-setups/moving-averages-trade-setup.js.map +1 -1
  123. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.d.ts.map +1 -1
  124. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js +8 -4
  125. package/dist/core/chart/analysis/trade-setups/pattern-limit-entry.js.map +1 -1
  126. package/dist/core/chart/analysis/trade-setups/shared.d.ts +12 -0
  127. package/dist/core/chart/analysis/trade-setups/shared.d.ts.map +1 -1
  128. package/dist/core/chart/analysis/trade-setups/shared.js +29 -0
  129. package/dist/core/chart/analysis/trade-setups/shared.js.map +1 -1
  130. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts +6 -1
  131. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.d.ts.map +1 -1
  132. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js +12 -1
  133. package/dist/core/chart/analysis/trade-setups/supertrend-trade-setup.js.map +1 -1
  134. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts +18 -1
  135. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.d.ts.map +1 -1
  136. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js +28 -2
  137. package/dist/core/chart/analysis/trade-setups/trade-desk-defaults.js.map +1 -1
  138. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts +12 -0
  139. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.d.ts.map +1 -1
  140. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js +12 -0
  141. package/dist/core/chart/analysis/trade-setups/trade-desk-universal-input.js.map +1 -1
  142. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts +17 -0
  143. package/dist/core/chart/analysis/trade-setups/trade-idea-list.d.ts.map +1 -1
  144. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js +133 -0
  145. package/dist/core/chart/analysis/trade-setups/trade-idea-list.js.map +1 -1
  146. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts +7 -0
  147. package/dist/core/chart/analysis/trade-setups/trade-idea.d.ts.map +1 -1
  148. package/dist/core/chart/analysis/trade-setups/trade-idea.js +127 -10
  149. package/dist/core/chart/analysis/trade-setups/trade-idea.js.map +1 -1
  150. package/dist/core/chart/analysis/trade-setups/trade-position-overlay.d.ts +37 -0
  151. package/dist/core/chart/analysis/trade-setups/trade-position-overlay.d.ts.map +1 -0
  152. package/dist/core/chart/analysis/trade-setups/trade-position-overlay.js +113 -0
  153. package/dist/core/chart/analysis/trade-setups/trade-position-overlay.js.map +1 -0
  154. package/dist/core/chart/analysis/trade-setups/trade-price-offsets.d.ts +42 -0
  155. package/dist/core/chart/analysis/trade-setups/trade-price-offsets.d.ts.map +1 -0
  156. package/dist/core/chart/analysis/trade-setups/trade-price-offsets.js +116 -0
  157. package/dist/core/chart/analysis/trade-setups/trade-price-offsets.js.map +1 -0
  158. package/dist/core/chart/analysis/trade-setups/trade-ratio.d.ts +54 -0
  159. package/dist/core/chart/analysis/trade-setups/trade-ratio.d.ts.map +1 -0
  160. package/dist/core/chart/analysis/trade-setups/trade-ratio.js +126 -0
  161. package/dist/core/chart/analysis/trade-setups/trade-ratio.js.map +1 -0
  162. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts +45 -0
  163. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.d.ts.map +1 -1
  164. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js +121 -12
  165. package/dist/core/chart/analysis/trade-setups/trend-structure-trade-setup.js.map +1 -1
  166. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts +4 -1
  167. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.d.ts.map +1 -1
  168. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js +7 -1
  169. package/dist/core/chart/analysis/trade-setups/z-score-trade-setup.js.map +1 -1
  170. package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts +14 -0
  171. package/dist/core/chart/analysis/trend-line-drawings-tools.d.ts.map +1 -1
  172. package/dist/core/chart/analysis/trend-line-drawings-tools.js +87 -16
  173. package/dist/core/chart/analysis/trend-line-drawings-tools.js.map +1 -1
  174. package/dist/core/chart/analysis/trend-line-menu-summary.d.ts +5 -0
  175. package/dist/core/chart/analysis/trend-line-menu-summary.d.ts.map +1 -1
  176. package/dist/core/chart/analysis/trend-line-menu-summary.js +8 -0
  177. package/dist/core/chart/analysis/trend-line-menu-summary.js.map +1 -1
  178. package/dist/core/chart/analysis/z-score-analyze-tools.d.ts +4 -0
  179. package/dist/core/chart/analysis/z-score-analyze-tools.d.ts.map +1 -1
  180. package/dist/core/chart/analysis/z-score-analyze-tools.js +2 -0
  181. package/dist/core/chart/analysis/z-score-analyze-tools.js.map +1 -1
  182. package/dist/core/chart/apply-chart-drawings.d.ts +4 -0
  183. package/dist/core/chart/apply-chart-drawings.d.ts.map +1 -1
  184. package/dist/core/chart/apply-chart-drawings.js +10 -2
  185. package/dist/core/chart/apply-chart-drawings.js.map +1 -1
  186. package/dist/core/chart/chart-pattern-session-store.d.ts.map +1 -1
  187. package/dist/core/chart/chart-pattern-session-store.js +1 -0
  188. package/dist/core/chart/chart-pattern-session-store.js.map +1 -1
  189. package/dist/core/chart/customization-catalog.d.ts +1 -0
  190. package/dist/core/chart/customization-catalog.d.ts.map +1 -1
  191. package/dist/core/chart/customization-catalog.js +71 -6
  192. package/dist/core/chart/customization-catalog.js.map +1 -1
  193. package/dist/core/chart/depth/average.d.ts +24 -0
  194. package/dist/core/chart/depth/average.d.ts.map +1 -0
  195. package/dist/core/chart/depth/average.js +104 -0
  196. package/dist/core/chart/depth/average.js.map +1 -0
  197. package/dist/core/chart/depth/binance-fetch.d.ts +7 -0
  198. package/dist/core/chart/depth/binance-fetch.d.ts.map +1 -0
  199. package/dist/core/chart/depth/binance-fetch.js +35 -0
  200. package/dist/core/chart/depth/binance-fetch.js.map +1 -0
  201. package/dist/core/chart/depth/coinbase-fetch.d.ts +7 -0
  202. package/dist/core/chart/depth/coinbase-fetch.d.ts.map +1 -0
  203. package/dist/core/chart/depth/coinbase-fetch.js +39 -0
  204. package/dist/core/chart/depth/coinbase-fetch.js.map +1 -0
  205. package/dist/core/chart/depth/index.d.ts +9 -0
  206. package/dist/core/chart/depth/index.d.ts.map +1 -0
  207. package/dist/core/chart/depth/index.js +9 -0
  208. package/dist/core/chart/depth/index.js.map +1 -0
  209. package/dist/core/chart/depth/levels.d.ts +23 -0
  210. package/dist/core/chart/depth/levels.d.ts.map +1 -0
  211. package/dist/core/chart/depth/levels.js +68 -0
  212. package/dist/core/chart/depth/levels.js.map +1 -0
  213. package/dist/core/chart/depth/normalize.d.ts +22 -0
  214. package/dist/core/chart/depth/normalize.d.ts.map +1 -0
  215. package/dist/core/chart/depth/normalize.js +130 -0
  216. package/dist/core/chart/depth/normalize.js.map +1 -0
  217. package/dist/core/chart/depth/sampler.d.ts +19 -0
  218. package/dist/core/chart/depth/sampler.d.ts.map +1 -0
  219. package/dist/core/chart/depth/sampler.js +146 -0
  220. package/dist/core/chart/depth/sampler.js.map +1 -0
  221. package/dist/core/chart/depth/schemas.d.ts +71 -0
  222. package/dist/core/chart/depth/schemas.d.ts.map +1 -0
  223. package/dist/core/chart/depth/schemas.js +52 -0
  224. package/dist/core/chart/depth/schemas.js.map +1 -0
  225. package/dist/core/chart/depth/symbol-from-fetch.d.ts +12 -0
  226. package/dist/core/chart/depth/symbol-from-fetch.d.ts.map +1 -0
  227. package/dist/core/chart/depth/symbol-from-fetch.js +125 -0
  228. package/dist/core/chart/depth/symbol-from-fetch.js.map +1 -0
  229. package/dist/core/chart/fetch-agent-view.d.ts.map +1 -1
  230. package/dist/core/chart/fetch-agent-view.js +6 -1
  231. package/dist/core/chart/fetch-agent-view.js.map +1 -1
  232. package/dist/core/chart/fetch-metadata.d.ts +2 -1
  233. package/dist/core/chart/fetch-metadata.d.ts.map +1 -1
  234. package/dist/core/chart/fetch-metadata.js +29 -3
  235. package/dist/core/chart/fetch-metadata.js.map +1 -1
  236. package/dist/core/chart/index.d.ts +1 -1
  237. package/dist/core/chart/index.d.ts.map +1 -1
  238. package/dist/core/chart/index.js +1 -1
  239. package/dist/core/chart/index.js.map +1 -1
  240. package/dist/core/chart/liquidity-depth-profile-replay.d.ts +7 -0
  241. package/dist/core/chart/liquidity-depth-profile-replay.d.ts.map +1 -0
  242. package/dist/core/chart/liquidity-depth-profile-replay.js +28 -0
  243. package/dist/core/chart/liquidity-depth-profile-replay.js.map +1 -0
  244. package/dist/core/chart/live/binding-extract.d.ts.map +1 -1
  245. package/dist/core/chart/live/binding-extract.js +66 -1
  246. package/dist/core/chart/live/binding-extract.js.map +1 -1
  247. package/dist/core/chart/live/fetch-tick.d.ts.map +1 -1
  248. package/dist/core/chart/live/fetch-tick.js +45 -1
  249. package/dist/core/chart/live/fetch-tick.js.map +1 -1
  250. package/dist/core/chart/live/index.d.ts +1 -1
  251. package/dist/core/chart/live/index.d.ts.map +1 -1
  252. package/dist/core/chart/live/index.js +1 -1
  253. package/dist/core/chart/live/index.js.map +1 -1
  254. package/dist/core/chart/live/schemas.d.ts +2 -0
  255. package/dist/core/chart/live/schemas.d.ts.map +1 -1
  256. package/dist/core/chart/live/schemas.js +2 -0
  257. package/dist/core/chart/live/schemas.js.map +1 -1
  258. package/dist/core/chart/ohlcv-session-store.d.ts +2 -0
  259. package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
  260. package/dist/core/chart/ohlcv-session-store.js +58 -6
  261. package/dist/core/chart/ohlcv-session-store.js.map +1 -1
  262. package/dist/core/chart/overlay-schemas.d.ts +264 -0
  263. package/dist/core/chart/overlay-schemas.d.ts.map +1 -1
  264. package/dist/core/chart/overlay-schemas.js +74 -0
  265. package/dist/core/chart/overlay-schemas.js.map +1 -1
  266. package/dist/core/chart/overlays.d.ts +3 -2
  267. package/dist/core/chart/overlays.d.ts.map +1 -1
  268. package/dist/core/chart/overlays.js +168 -25
  269. package/dist/core/chart/overlays.js.map +1 -1
  270. package/dist/core/chart/point-normalize.d.ts.map +1 -1
  271. package/dist/core/chart/point-normalize.js +1 -0
  272. package/dist/core/chart/point-normalize.js.map +1 -1
  273. package/dist/core/chart/prepare-from-rows.d.ts +1370 -0
  274. package/dist/core/chart/prepare-from-rows.d.ts.map +1 -1
  275. package/dist/core/chart/prepare-from-rows.js +17 -2
  276. package/dist/core/chart/prepare-from-rows.js.map +1 -1
  277. package/dist/core/chart/prepare.d.ts.map +1 -1
  278. package/dist/core/chart/prepare.js +10 -2
  279. package/dist/core/chart/prepare.js.map +1 -1
  280. package/dist/core/chart/schemas.d.ts +324 -2
  281. package/dist/core/chart/schemas.d.ts.map +1 -1
  282. package/dist/core/chart/schemas.js +6 -2
  283. package/dist/core/chart/schemas.js.map +1 -1
  284. package/dist/core/chart/trade-position-replay.d.ts +19 -0
  285. package/dist/core/chart/trade-position-replay.d.ts.map +1 -0
  286. package/dist/core/chart/trade-position-replay.js +48 -0
  287. package/dist/core/chart/trade-position-replay.js.map +1 -0
  288. package/dist/core/chart-patterns/drawing-spec.d.ts.map +1 -1
  289. package/dist/core/chart-patterns/drawing-spec.js +7 -0
  290. package/dist/core/chart-patterns/drawing-spec.js.map +1 -1
  291. package/dist/core/chart-patterns/measured-move.d.ts.map +1 -1
  292. package/dist/core/chart-patterns/measured-move.js +35 -3
  293. package/dist/core/chart-patterns/measured-move.js.map +1 -1
  294. package/dist/core/chart-patterns/patterns/flag-pennant-shared.d.ts +62 -0
  295. package/dist/core/chart-patterns/patterns/flag-pennant-shared.d.ts.map +1 -0
  296. package/dist/core/chart-patterns/patterns/flag-pennant-shared.js +141 -0
  297. package/dist/core/chart-patterns/patterns/flag-pennant-shared.js.map +1 -0
  298. package/dist/core/chart-patterns/patterns/flag.d.ts.map +1 -1
  299. package/dist/core/chart-patterns/patterns/flag.js +77 -51
  300. package/dist/core/chart-patterns/patterns/flag.js.map +1 -1
  301. package/dist/core/chart-patterns/patterns/pennant.d.ts.map +1 -1
  302. package/dist/core/chart-patterns/patterns/pennant.js +74 -53
  303. package/dist/core/chart-patterns/patterns/pennant.js.map +1 -1
  304. package/dist/core/chart-patterns/recommendation.d.ts +7 -0
  305. package/dist/core/chart-patterns/recommendation.d.ts.map +1 -1
  306. package/dist/core/chart-patterns/recommendation.js +17 -0
  307. package/dist/core/chart-patterns/recommendation.js.map +1 -1
  308. package/dist/core/chart-patterns/scan.d.ts.map +1 -1
  309. package/dist/core/chart-patterns/scan.js +8 -3
  310. package/dist/core/chart-patterns/scan.js.map +1 -1
  311. package/dist/core/chart-patterns/types.d.ts +13 -0
  312. package/dist/core/chart-patterns/types.d.ts.map +1 -1
  313. package/dist/core/coinbase/candles.d.ts +7 -0
  314. package/dist/core/coinbase/candles.d.ts.map +1 -0
  315. package/dist/core/coinbase/candles.js +52 -0
  316. package/dist/core/coinbase/candles.js.map +1 -0
  317. package/dist/core/coinbase/client.d.ts +24 -0
  318. package/dist/core/coinbase/client.d.ts.map +1 -0
  319. package/dist/core/coinbase/client.js +86 -0
  320. package/dist/core/coinbase/client.js.map +1 -0
  321. package/dist/core/coinbase/credentials.d.ts +11 -0
  322. package/dist/core/coinbase/credentials.d.ts.map +1 -0
  323. package/dist/core/coinbase/credentials.js +47 -0
  324. package/dist/core/coinbase/credentials.js.map +1 -0
  325. package/dist/core/coinbase/granularity.d.ts +20 -0
  326. package/dist/core/coinbase/granularity.d.ts.map +1 -0
  327. package/dist/core/coinbase/granularity.js +69 -0
  328. package/dist/core/coinbase/granularity.js.map +1 -0
  329. package/dist/core/coinbase/index.d.ts +8 -0
  330. package/dist/core/coinbase/index.d.ts.map +1 -0
  331. package/dist/core/coinbase/index.js +8 -0
  332. package/dist/core/coinbase/index.js.map +1 -0
  333. package/dist/core/coinbase/jwt.d.ts +13 -0
  334. package/dist/core/coinbase/jwt.d.ts.map +1 -0
  335. package/dist/core/coinbase/jwt.js +41 -0
  336. package/dist/core/coinbase/jwt.js.map +1 -0
  337. package/dist/core/coinbase/public-api.d.ts +38 -0
  338. package/dist/core/coinbase/public-api.d.ts.map +1 -0
  339. package/dist/core/coinbase/public-api.js +203 -0
  340. package/dist/core/coinbase/public-api.js.map +1 -0
  341. package/dist/core/coinbase/schemas.d.ts +133 -0
  342. package/dist/core/coinbase/schemas.d.ts.map +1 -0
  343. package/dist/core/coinbase/schemas.js +105 -0
  344. package/dist/core/coinbase/schemas.js.map +1 -0
  345. package/dist/core/coinmarketcap/schemas.d.ts +3 -3
  346. package/dist/core/ta/calculate.d.ts.map +1 -1
  347. package/dist/core/ta/calculate.js +39 -0
  348. package/dist/core/ta/calculate.js.map +1 -1
  349. package/dist/core/ta/catalog.d.ts.map +1 -1
  350. package/dist/core/ta/catalog.js +2 -1
  351. package/dist/core/ta/catalog.js.map +1 -1
  352. package/dist/mcp/agent-chart-data-access-gate.d.ts +1 -1
  353. package/dist/mcp/agent-chart-data-access-gate.d.ts.map +1 -1
  354. package/dist/mcp/agent-chart-data-access-gate.js.map +1 -1
  355. package/dist/mcp/agent-cron-jobs.d.ts +1 -1
  356. package/dist/mcp/agent-cron-jobs.d.ts.map +1 -1
  357. package/dist/mcp/agent-cron-jobs.js +9 -0
  358. package/dist/mcp/agent-cron-jobs.js.map +1 -1
  359. package/dist/mcp/agent-environment-variables.d.ts +1 -1
  360. package/dist/mcp/agent-environment-variables.d.ts.map +1 -1
  361. package/dist/mcp/agent-environment-variables.js +3 -0
  362. package/dist/mcp/agent-environment-variables.js.map +1 -1
  363. package/dist/mcp/agent-host-catalog.d.ts +15 -2
  364. package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
  365. package/dist/mcp/agent-host-catalog.js +52 -12
  366. package/dist/mcp/agent-host-catalog.js.map +1 -1
  367. package/dist/mcp/agent-input-coerce-register.d.ts +8 -0
  368. package/dist/mcp/agent-input-coerce-register.d.ts.map +1 -0
  369. package/dist/mcp/agent-input-coerce-register.js +22 -0
  370. package/dist/mcp/agent-input-coerce-register.js.map +1 -0
  371. package/dist/mcp/agent-input-coerce.d.ts +13 -0
  372. package/dist/mcp/agent-input-coerce.d.ts.map +1 -0
  373. package/dist/mcp/agent-input-coerce.js +286 -0
  374. package/dist/mcp/agent-input-coerce.js.map +1 -0
  375. package/dist/mcp/agent-mcp-servers.d.ts +1 -1
  376. package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
  377. package/dist/mcp/agent-mcp-servers.js +7 -0
  378. package/dist/mcp/agent-mcp-servers.js.map +1 -1
  379. package/dist/mcp/agent-skills.d.ts +1 -1
  380. package/dist/mcp/agent-skills.d.ts.map +1 -1
  381. package/dist/mcp/agent-skills.js +5 -0
  382. package/dist/mcp/agent-skills.js.map +1 -1
  383. package/dist/mcp/agent-webhooks.d.ts +1 -1
  384. package/dist/mcp/agent-webhooks.d.ts.map +1 -1
  385. package/dist/mcp/agent-webhooks.js +9 -0
  386. package/dist/mcp/agent-webhooks.js.map +1 -1
  387. package/dist/mcp/chart.d.ts +1 -1
  388. package/dist/mcp/chart.d.ts.map +1 -1
  389. package/dist/mcp/chart.js +74 -7
  390. package/dist/mcp/chart.js.map +1 -1
  391. package/dist/mcp/coinbase-public/register.d.ts +6 -0
  392. package/dist/mcp/coinbase-public/register.d.ts.map +1 -0
  393. package/dist/mcp/coinbase-public/register.js +62 -0
  394. package/dist/mcp/coinbase-public/register.js.map +1 -0
  395. package/dist/mcp/coinmarketcap-public/register.d.ts +1 -1
  396. package/dist/mcp/coinmarketcap-public/register.d.ts.map +1 -1
  397. package/dist/mcp/coinmarketcap-public/register.js +22 -4
  398. package/dist/mcp/coinmarketcap-public/register.js.map +1 -1
  399. package/dist/mcp/deferred/discovery-tools.d.ts +1 -1
  400. package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
  401. package/dist/mcp/deferred/discovery-tools.js +57 -15
  402. package/dist/mcp/deferred/discovery-tools.js.map +1 -1
  403. package/dist/mcp/deferred/optional-endpoint-groups.d.ts +1 -1
  404. package/dist/mcp/deferred/optional-endpoint-groups.d.ts.map +1 -1
  405. package/dist/mcp/deferred/optional-endpoint-groups.js +8 -0
  406. package/dist/mcp/deferred/optional-endpoint-groups.js.map +1 -1
  407. package/dist/mcp/deferred/session.d.ts +15 -2
  408. package/dist/mcp/deferred/session.d.ts.map +1 -1
  409. package/dist/mcp/deferred/session.js +126 -78
  410. package/dist/mcp/deferred/session.js.map +1 -1
  411. package/dist/mcp/deferred/tool-group-map.d.ts +15 -2
  412. package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
  413. package/dist/mcp/deferred/tool-group-map.js +546 -70
  414. package/dist/mcp/deferred/tool-group-map.js.map +1 -1
  415. package/dist/mcp/defi/bitquery-api-key.d.ts +1 -1
  416. package/dist/mcp/defi/bitquery-api-key.d.ts.map +1 -1
  417. package/dist/mcp/defi/discovery.d.ts +1 -1
  418. package/dist/mcp/defi/discovery.d.ts.map +1 -1
  419. package/dist/mcp/defi/discovery.js +15 -3
  420. package/dist/mcp/defi/discovery.js.map +1 -1
  421. package/dist/mcp/defi/handler.d.ts +13 -6
  422. package/dist/mcp/defi/handler.d.ts.map +1 -1
  423. package/dist/mcp/defi/mcp-json-schema.d.ts +23 -0
  424. package/dist/mcp/defi/mcp-json-schema.d.ts.map +1 -0
  425. package/dist/mcp/defi/mcp-json-schema.js +173 -0
  426. package/dist/mcp/defi/mcp-json-schema.js.map +1 -0
  427. package/dist/mcp/defi/register-protocol-tools.d.ts +1 -1
  428. package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
  429. package/dist/mcp/defi/register-protocol-tools.js +41 -4
  430. package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
  431. package/dist/mcp/defi/the-graph-api-key.d.ts +1 -1
  432. package/dist/mcp/defi/the-graph-api-key.d.ts.map +1 -1
  433. package/dist/mcp/defi/tool-schemas.d.ts +4 -3
  434. package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
  435. package/dist/mcp/defi/tool-schemas.js +6 -4
  436. package/dist/mcp/defi/tool-schemas.js.map +1 -1
  437. package/dist/mcp/defi/uniswap-api-key.d.ts +1 -1
  438. package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
  439. package/dist/mcp/defi/venice-api-key.d.ts +1 -1
  440. package/dist/mcp/defi/venice-api-key.d.ts.map +1 -1
  441. package/dist/mcp/group.d.ts +1 -1
  442. package/dist/mcp/group.d.ts.map +1 -1
  443. package/dist/mcp/group.js +3 -3
  444. package/dist/mcp/group.js.map +1 -1
  445. package/dist/mcp/keygen-messaging.d.ts +1 -1
  446. package/dist/mcp/keygen-messaging.d.ts.map +1 -1
  447. package/dist/mcp/keygen-messaging.js +10 -0
  448. package/dist/mcp/keygen-messaging.js.map +1 -1
  449. package/dist/mcp/keygen.d.ts +1 -1
  450. package/dist/mcp/keygen.d.ts.map +1 -1
  451. package/dist/mcp/keygen.js +6 -3
  452. package/dist/mcp/keygen.js.map +1 -1
  453. package/dist/mcp/management-signer.d.ts +1 -1
  454. package/dist/mcp/management-signer.d.ts.map +1 -1
  455. package/dist/mcp/management-signer.js +1 -1
  456. package/dist/mcp/management-signer.js.map +1 -1
  457. package/dist/mcp/mcp-resources.d.ts +1 -1
  458. package/dist/mcp/mcp-resources.d.ts.map +1 -1
  459. package/dist/mcp/mpc.d.ts +1 -1
  460. package/dist/mcp/mpc.d.ts.map +1 -1
  461. package/dist/mcp/mpc.js +36 -5
  462. package/dist/mcp/mpc.js.map +1 -1
  463. package/dist/mcp/node.d.ts +1 -1
  464. package/dist/mcp/node.d.ts.map +1 -1
  465. package/dist/mcp/node.js +7 -1
  466. package/dist/mcp/node.js.map +1 -1
  467. package/dist/mcp/ohlcv-session-wrapper.d.ts +1 -2
  468. package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
  469. package/dist/mcp/ohlcv-session-wrapper.js +14 -1
  470. package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
  471. package/dist/mcp/register.d.ts +1 -1
  472. package/dist/mcp/register.d.ts.map +1 -1
  473. package/dist/mcp/register.js +4 -6
  474. package/dist/mcp/register.js.map +1 -1
  475. package/dist/mcp/registry/address-book.d.ts +1 -1
  476. package/dist/mcp/registry/address-book.d.ts.map +1 -1
  477. package/dist/mcp/registry/address-book.js +1 -0
  478. package/dist/mcp/registry/address-book.js.map +1 -1
  479. package/dist/mcp/registry/networks.d.ts +1 -1
  480. package/dist/mcp/registry/networks.d.ts.map +1 -1
  481. package/dist/mcp/registry/networks.js +3 -1
  482. package/dist/mcp/registry/networks.js.map +1 -1
  483. package/dist/mcp/registry/tokens.d.ts +1 -1
  484. package/dist/mcp/registry/tokens.d.ts.map +1 -1
  485. package/dist/mcp/registry/tokens.js +2 -0
  486. package/dist/mcp/registry/tokens.js.map +1 -1
  487. package/dist/mcp/resources/chart-analysis.md +2 -0
  488. package/dist/mcp/resources/chart.md +16 -9
  489. package/dist/mcp/resources/coinbase-public.md +31 -0
  490. package/dist/mcp/server/http-transport.d.ts +1 -1
  491. package/dist/mcp/server/http-transport.d.ts.map +1 -1
  492. package/dist/mcp/server/http-transport.js +30 -118
  493. package/dist/mcp/server/http-transport.js.map +1 -1
  494. package/dist/mcp/server/index.js +11 -1
  495. package/dist/mcp/server/index.js.map +1 -1
  496. package/dist/mcp/ta/register.d.ts +1 -1
  497. package/dist/mcp/ta/register.d.ts.map +1 -1
  498. package/dist/mcp/ta/register.js +3 -1
  499. package/dist/mcp/ta/register.js.map +1 -1
  500. package/dist/mcp/ta-server/index.js +3 -4
  501. package/dist/mcp/ta-server/index.js.map +1 -1
  502. package/dist/mcp/tool-utils.d.ts +1 -1
  503. package/dist/mcp/tool-utils.d.ts.map +1 -1
  504. package/dist/mcp/trade-tools.d.ts +1 -1
  505. package/dist/mcp/trade-tools.d.ts.map +1 -1
  506. package/dist/mcp/trade-tools.js +9 -1
  507. package/dist/mcp/trade-tools.js.map +1 -1
  508. package/dist/mcp/vpn.d.ts +1 -1
  509. package/dist/mcp/vpn.d.ts.map +1 -1
  510. package/dist/mcp/vpn.js +9 -1
  511. package/dist/mcp/vpn.js.map +1 -1
  512. package/package.json +8 -5
@@ -1 +1 @@
1
- {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAc1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CA6CN"}
1
+ {"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAc1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CA+CN"}
@@ -3,11 +3,13 @@ import { addToChainRegistry, getChainRegistry, removeFromChainRegistry, } from '
3
3
  import { AddChainRegistryInputSchema, GetChainRegistryDataSchema, GetChainRegistryQuerySchema, SelectedSigningKeySchema, } from '../../schemas/extended.js';
4
4
  import { camelToSnake, wrapSdk } from '../tool-utils.js';
5
5
  export function registerChainRegistryTools(server, config) {
6
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
6
7
  server.registerTool(camelToSnake('getChainRegistry'), {
7
8
  description: 'Get chain registry entries (RPC, explorer, Custom Gas Config fields: gasLimit, baseFee, priorityFee, gasMultiplier, gasPrice, defaultGetSigFeeSpeed). Call with no args to list all configured chains. Prefer chainName (exact name from registry) over guessing chain_id. Use get_multi_sign_gas_options for create/Get Sig choices.',
8
9
  inputSchema: GetChainRegistryQuerySchema,
9
10
  outputSchema: GetChainRegistryDataSchema,
10
11
  }, async (query) => wrapSdk(getChainRegistry(config, query)));
12
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
11
13
  server.registerTool(camelToSnake('addToChainRegistry'), {
12
14
  description: 'Add chain details to the chain registry. rpcGateway (RPC URL) is required and must be supplied by the user — do not guess or infer an RPC URL.',
13
15
  inputSchema: AddChainRegistryInputSchema,
@@ -18,7 +20,7 @@ export function registerChainRegistryTools(server, config) {
18
20
  }),
19
21
  }, async (input) => wrapSdk(addToChainRegistry(config, input)));
20
22
  server.registerTool(camelToSnake('removeFromChainRegistry'), {
21
- description: 'Remove chain details from the chain registry.',
23
+ description: 'Remove a chain (RPC/gas config) from the chain registry.',
22
24
  inputSchema: z.object({
23
25
  chainId: z.union([z.string().min(1), z.number().int().nonnegative()]),
24
26
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CACzC,MAAiB,EACjB,MAAqB;IAErB,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,kBAAkB,CAAC,EAChC;QACC,WAAW,EACV,uUAAuU;QACxU,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACzC,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,gJAAgJ;QACjJ,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,yBAAyB,CAAC,EACvC;QACC,WAAW,EAAE,+CAA+C;QAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,EAAC,OAAO,EAA6B,EAAE,EAAE,CAC/C,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC,CACpD,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"networks.js","sourceRoot":"","sources":["../../../src/mcp/registry/networks.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACN,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,MAAM,UAAU,0BAA0B,CACzC,MAAiB,EACjB,MAAqB;IAErB,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,kBAAkB,CAAC,EAChC;QACC,WAAW,EACV,uUAAuU;QACxU,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CACzC,CAAC;IAEF,6MAA6M;IAC7M,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,gJAAgJ;QACjJ,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CAAC,kBAAkB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAC3C,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,yBAAyB,CAAC,EACvC;QACC,WAAW,EAAE,0DAA0D;QACvE,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,EAAC,OAAO,EAA6B,EAAE,EAAE,CAC/C,OAAO,CAAC,uBAAuB,CAAC,MAAM,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC,CACpD,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer } from "@modelcontextprotocol/server";
2
2
  import type { NodeSdkConfig } from '../../config/schema.js';
3
3
  export declare function registerTokenRegistryTools(server: McpServer, config: NodeSdkConfig): void;
4
4
  //# sourceMappingURL=tokens.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAqB1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CAyEN"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAqB1D,wBAAgB,0BAA0B,CACzC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,GACnB,IAAI,CA2EN"}
@@ -8,6 +8,7 @@ function normalizeMcpTokenRegistryChainType(chainType) {
8
8
  return t === 'evm' ? 'ethereum' : t;
9
9
  }
10
10
  export function registerTokenRegistryTools(server, config) {
11
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
11
12
  server.registerTool(camelToSnake('getTokenRegistry'), {
12
13
  description: 'Get token registry entries. Call with symbol to find tokens; combine symbol with chain_id or chainName from get_chain_registry. Resolve chain and token IDs from the registry — do not guess.',
13
14
  inputSchema: GetTokenRegistryQuerySchema,
@@ -18,6 +19,7 @@ export function registerTokenRegistryTools(server, config) {
18
19
  ? normalizeMcpTokenRegistryChainType(query.chainType)
19
20
  : undefined,
20
21
  })));
22
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
21
23
  server.registerTool(camelToSnake('addToTokenRegistry'), {
22
24
  description: 'Add a token to the token registry. Use chainType "ethereum" for EVM/ERC-20 tokens (not "evm"). Requires chainType, chainId, tokenType, and contract with contractAddress, name, symbol, symbolURL, and decimals.',
23
25
  inputSchema: AddToTokenRegistryInputSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,OAAO,EACN,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACN,6BAA6B,EAC7B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,EACxB,eAAe,GACf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAC,YAAY,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAEvD,uFAAuF;AACvF,SAAS,kCAAkC,CAAC,SAAiB;IAC5D,MAAM,CAAC,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,OAAO,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,0BAA0B,CACzC,MAAiB,EACjB,MAAqB;IAErB,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,kBAAkB,CAAC,EAChC;QACC,WAAW,EACV,+LAA+L;QAChM,WAAW,EAAE,2BAA2B;QACxC,YAAY,EAAE,0BAA0B;KACxC,EACD,KAAK,EAAE,KAAkD,EAAE,EAAE,CAC5D,OAAO,CACN,gBAAgB,CAAC,MAAM,EAAE;QACxB,GAAG,KAAK;QACR,SAAS,EAAE,KAAK,CAAC,SAAS;YACzB,CAAC,CAAC,kCAAkC,CAAC,KAAK,CAAC,SAAS,CAAC;YACrD,CAAC,CAAC,SAAS;KACZ,CAAC,CACF,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,oBAAoB,CAAC,EAClC;QACC,WAAW,EACV,kNAAkN;QACnN,WAAW,EAAE,6BAA6B;QAC1C,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAAoD,EAAE,EAAE,CAC9D,OAAO,CACN,kBAAkB,CAAC,MAAM,EAAE;QAC1B,GAAG,KAAK;QACR,SAAS,EAAE,kCAAkC,CAAC,KAAK,CAAC,SAAS,CAAC;KAC9D,CAAC,CACF,CACF,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,YAAY,CAAC,yBAAyB,CAAC,EACvC;QACC,WAAW,EACV,8FAA8F;QAC/F,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC;YACrB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;YACrE,SAAS,EAAE,eAAe;YAC1B,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YAClC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;SAC9B,CAAC;QACF,YAAY,EAAE,CAAC,CAAC,MAAM,CAAC;YACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,kBAAkB,EAAE,wBAAwB;YAC5C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE;SAC1B,CAAC;KACF,EACD,KAAK,EAAE,KAMN,EAAE,EAAE,CACJ,OAAO,CACN,uBAAuB,CAAC,MAAM,EAAE;QAC/B,GAAG,KAAK;QACR,SAAS,EAAE,kCAAkC,CAAC,KAAK,CAAC,SAAS,CAAC;KAC9D,CAAC,CACF,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../../src/mcp/registry/tokens.ts"],"names":[],"mappings":"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"}
@@ -155,6 +155,7 @@ Requires candle rows (open/high/low/close). Use after OHLCV fetch tools.
155
155
  | **`analyze_elliott_waves`** | Fibonacci-driven Elliott count: **`waveMenu`**, **`interpretation`**, **`confidence`**, **`dataGuidance`** when bars are insufficient, **`elliottWaveTradeSetup`** (`clear`/`unclear`, target/invalidation), **`drawableWaves`** for chart labels |
156
156
  | **`analyze_key_levels`** | Ranked supports/resistances, nearest levels vs last close |
157
157
  | **`analyze_momentum`** | RSI zone, MACD values, crossover state |
158
+ | **`analyze_liquidity_depth`** | Averaged **spot** order-book walls (Binance or Coinbase): **`levelMenu`** table (`side`, `price`, `avgSize`, `relativeStrength`, `distancePct`). **Not a Trade Idea.** Optional left-axis profile via **`apply_liquidity_depth_drawings`**. Desk knobs: `depthExchangeId`, `depthSampleIntervalSec`, `depthAverageWindowSec`, `depthLimit`, `depthLevelCount` |
158
159
  | **`analyze_divergence`** | Regular/hidden RSI & Stochastic RSI divergences; **`primary`** long/short + confidence; pivot-structure **`divergenceTradeSetup`** (entry = last close; target = swing size from entry; invalidation beyond swing extreme). Draw with **`apply_divergence_drawings`** (always adds Stoch RSI pane) |
159
160
  | **`analyze_range_volatility`** | Range %, ATR-style stats, compression vs expansion, Fib swing range |
160
161
  | **`analyze_bollinger_bands`** | Bollinger bands, %B, band-to-band fade trade when price is near an outer band |
@@ -402,6 +403,7 @@ See optional skill **`orchestration-chart-analysis`** (on-demand) for task-shape
402
403
  | `chart-analysis-trend` | on demand | Narrative template for trend structure |
403
404
  | `chart-analysis-levels` | on demand | Key levels analysis |
404
405
  | `chart-analysis-momentum` | on demand | Momentum analysis |
406
+ | `chart-analysis-liquidity-depth` | on demand | Spot book walls table (not a Trade Idea); optional left-axis profile |
405
407
  | `chart-analysis-range` | on demand | Range / volatility analysis |
406
408
  | `chart-analysis-bollinger` | on demand | Summarize Bollinger analysis; defaults in `chart-defaults` / `trade-defaults` |
407
409
  | `chart-analysis-donchian` | on demand | Summarize Donchian breakout; period/mode from `trade-desk.yaml` |
@@ -4,7 +4,7 @@ Returns **`kind: continuum/chart/v1`** for agent chat, KeyGen attachments, and D
4
4
 
5
5
  ## Workflow
6
6
 
7
- 1. **Fetch OHLCV** with a source the **operator chose** (CoinGecko, CoinMarketCap, `ctm_*_fetch_ohlcv`, exchange APIs, subgraphs, etc.). Never auto-load catalog MCP servers.
7
+ 1. **Fetch OHLCV** with a source the **operator chose** (CoinGecko, CoinMarketCap, Coinbase, Binance, `ctm_*_fetch_ohlcv`, exchange APIs, subgraphs, etc.). Never auto-load catalog MCP servers.
8
8
  2. **`prepare_chart_from_rows`** — preferred for a single feed: pass **`rows`** (bar array) or **`toolResult`** (full prior MCP JSON). Never `{}`.
9
9
  3. **`prepare_chart`** — advanced: multi-series, custom overlays, or shorthand **`bars`** / **`toolResult`**.
10
10
 
@@ -22,6 +22,7 @@ Each object in **`series[].data`** is normalized before charting. **`prepare_cha
22
22
  | Hyperliquid `fetch_ohlcv` | `timestampMs` | strings → coerced |
23
23
  | GMX `fetch_ohlcv` | `timestampMs` | strings (no volume on row); top-level `{ symbol, timeframe, candles }` |
24
24
  | Binance `get_klines` (JSON) | `openTime` (ms) | strings → coerced |
25
+ | Coinbase `get_product_candles` | `time` (sec, Continuum-normalized) | numbers |
25
26
  | Bybit `getMarketKline` | tuple `[startTime, …]` or `{ startTime, open, … }` | strings → coerced |
26
27
  | Bitget REST / MCP | tuple `[ts, o,h,l,c,vol,…]` or `{ timestamp, … }` | strings → coerced |
27
28
  | CoinMarketCap keyless (`get_kline_candles`) | `time` (Unix **seconds**) | numbers; `{ candles: [...] }` wrapper |
@@ -49,9 +50,10 @@ SDK charting is **vendor-agnostic** after fetch:
49
50
  - **`ctm_uniswap_v4_fetch_ohlcv`** returns `{ symbol, timeframe, chainId, candles, dataSource, … }` — pass full tool result to **`prepare_chart_from_rows`**. Other **`ctm_uniswap_v4_*`** tools (quote/swap/LP) do not return candles.
50
51
  - Times in **milliseconds** (>1e12) are converted to **seconds** automatically.
51
52
  - **`open` / `high` / `low` / `close` / `volume`** may be numbers or numeric strings.
52
- - **Tuple rows** (Binance/Bybit/Bitget native arrays) may be passed directly in **`series[].data`**.
53
- - Pass **`ohlcv.candles`** / **`klines`** / **`result.list`** as a flat **`data`** array — not the whole API wrapper as **`series`**.
54
- - Binance MCP defaults to markdown; use **`response_format: "json"`** and map **`klines`** into **`series[0].data`**.
53
+ - **Tuple rows** (Binance/Bybit/Bitget native arrays) may be passed directly in **`series[].data`** when using advanced **`prepare_chart`**.
54
+ - Pass **`ohlcv.candles`** / **`klines`** / **`result.list`** via **`prepare_chart_from_rows`** **`toolResult`** (preferred) — not hand-mapped into **`series[0].data`** unless using advanced **`prepare_chart`**.
55
+ - **Binance MCP** defaults to markdown; use **`response_format: "json"`**, parse the text into an object if needed, then **`prepare_chart_from_rows({ title, toolResult })`** with the full `{ symbol, interval, klines, count }` payload. Keep **`openTime`** do not rewrite to **`time`** / **`timestampMs`**. Live tick binding: **`binance.tickerPrice`**.
56
+ - **Coinbase** **`coinbase-public__get_product_candles`** returns Continuum-normalized **`candles`** (`time`/`open`/`high`/`low`/`close`/`volume?`) with **`dataSource: coinbase_candles`** — pass the full object to **`prepare_chart_from_rows`**. Live tick binding: **`coinbase.productTicker`**.
55
57
  - CMC **`coinmarketcap-public__get_kline_candles`** returns **`candles`** with `time`/`open`/`high`/`low`/`close`/`volume` — pass the full tool result object to **`prepare_chart_from_rows`** (not a JSON string). Use **`lookbackDays`** or **`from`/`to`** so the fetch covers the requested window; `limit` alone without time bounds used to return oldest bars.
56
58
  ## Default indicators (candlestick)
57
59
 
@@ -72,7 +74,7 @@ Operator-specific overrides (different EMA period, add MACD, disable RSI): edit
72
74
 
73
75
  ## Lookback & bar budget
74
76
 
75
- ### `prepare_chart_from_rows` + fetch `toolResult` (Hyperliquid, GMX, CoinGecko, CMC)
77
+ ### `prepare_chart_from_rows` + fetch `toolResult` (Hyperliquid, GMX, CoinGecko, CMC, Binance)
76
78
 
77
79
  **Do not trim or slice candles before this call.** Pass the **full, unmodified** fetch JSON as `toolResult`. The chart layer downsamples for **display** via `options.maxPoints` (default 400) — that is not the same as deleting history from the fetch.
78
80
 
@@ -141,8 +143,11 @@ Add **`overlays`** to compute indicators from a **`sourceSeriesId`** (candlestic
141
143
  | `rsi` | **oscillator below** | `period` (default **14**) | RSI line (0–100 scale) |
142
144
  | `macd` | **oscillator below** | `fastPeriod`, `slowPeriod`, `signalPeriod` (defaults 12/26/9) | MACD line, signal line, signed histogram |
143
145
  | `stochasticrsi` | **oscillator below** | `rsiPeriod`, `stochasticPeriod`, `kPeriod`, `dPeriod` | %K and %D lines |
146
+ | `obv` | **oscillator below** | (none) | On-balance volume (requires volume) |
147
+ | `ad` | **oscillator below** | (none) | Chaikin A/D line (requires volume) |
148
+ | `adosc` | **oscillator below** | `fastPeriod` (default **3**), `slowPeriod` (default **10**) | Chaikin A/D oscillator (requires volume) |
144
149
 
145
- Each **`rsi` / `macd` / `stochasticrsi`** overlay gets its **own sub-pane** under the price chart. Time axes stay synced; the time scale is shown on the **bottom** pane only.
150
+ Each oscillator overlay (`rsi`, `macd`, `stochasticrsi`, `obv`, `ad`, `adosc`, …) gets its **own sub-pane** under the price chart. Volume indicators need a volume histogram series (or per-bar volume on candles). Time axes stay synced; the time scale is shown on the **bottom** pane only.
146
151
 
147
152
  ```json
148
153
  {
@@ -307,7 +312,7 @@ When the user asks to graph, plot, or chart data, call **`prepare_chart_from_row
307
312
 
308
313
  ## Live updates (agent chat + DeFi dialogs)
309
314
 
310
- When `prepare_chart_from_rows` receives a fetch payload the SDK recognizes (Hyperliquid `ohlcv`, Arcus `ohlcv` with `dataSource: "arcus"`, GMX flat `{ symbol, timeframe, candles }`, CoinGecko market chart), the output may include optional **`live`**:
315
+ When `prepare_chart_from_rows` receives a fetch payload the SDK recognizes (Hyperliquid `ohlcv`, Arcus `ohlcv` with `dataSource: "arcus"`, GMX flat `{ symbol, timeframe, candles }`, Coinbase `{ dataSource: coinbase_candles, productId, candles }`, Binance `{ symbol, interval, klines }`, CoinGecko market chart), the output may include optional **`live`**:
311
316
 
312
317
  ```json
313
318
  {
@@ -330,6 +335,8 @@ The node app polls a **tick adapter** registered for `providerId` every `pollMs`
330
335
  | `hyperliquid.allMids` | Hyperliquid `allMids` for `params.coin` |
331
336
  | `arcus.allMids` | Arcus all-mids for `params.market` (chain 4663) |
332
337
  | `gmx.markPrice` | GMX index mark USD for `params.symbol` |
338
+ | `binance.tickerPrice` | Binance public last price for `params.symbol` (e.g. `BTCUSDT`) |
339
+ | `coinbase.productTicker` | Coinbase Advanced Trade last trade price for `params.productId` (e.g. `BTC-USD`) |
333
340
  | `coingecko.simple` | CoinGecko simple price for `params.coinId` |
334
341
 
335
342
  **Static charts:** KeyGen chart attachments and charts without `live` are never polled. **`prepare_chart`** alone does not attach `live` — pass the original fetch JSON via **`prepare_chart_from_rows`** (`toolResult`) so binding can be inferred.
@@ -360,8 +367,8 @@ Use **`list_chart_customization_options`** to discover overlay types, drawing to
360
367
 
361
368
  **Typical workflow:**
362
369
 
363
- 1. **`list_chart_customization_options`** — read available indicators, pane layout rules, drawing types.
364
- 2. **`prepare_chart` / `prepare_chart_from_rows`** with explicit **`overlays`** (replace defaults) or **`options.skipDefaultOverlays`: true**.
370
+ 1. **`list_chart_customization_options`** — read available indicators (with summaries), pane layout rules, drawing types. Always call this instead of inventing the indicator list.
371
+ 2. **`prepare_chart` / `prepare_chart_from_rows`** with explicit **`overlays`** (or **`prepareReplay`**) to replace defaults, or **`options.skipDefaultOverlays`: true**. When a chart already exists, prefer **`apply_chart_drawings`** with merged **`prepareReplay.overlays`**.
365
372
  3. **Drawing tools** — compute levels, then apply:
366
373
  - **`calculate_key_levels`** — swing support/resistance from recent bars
367
374
  - **`calculate_pivot_points`** — classic pivot levels for a session
@@ -0,0 +1,31 @@
1
+ # Coinbase Advanced Trade (public)
2
+
3
+ Built-in MCP on **continuum-mcp** at `/mcp/coinbase-public`. Catalog id **`coinbase-public`**.
4
+
5
+ Load only when the operator chooses Coinbase — see skill **`chart-ohlcv-sources`**.
6
+
7
+ ## Tools
8
+
9
+ | Tool | Purpose |
10
+ |------|---------|
11
+ | **`get_product_candles`** | Spot OHLCV → Continuum bars `{ time, open, high, low, close, volume? }`, `dataSource: coinbase_candles` |
12
+ | **`list_products`** / **`search_products`** | Discover `BTC-USD`-style product ids |
13
+ | **`get_product_ticker`** | Last trade / price |
14
+ | **`get_product_book`** | Spot book as **NormalizedDepthSnapshot** under `book` |
15
+
16
+ Pass the full **`get_product_candles`** result to **`prepare_chart_from_rows`** / **`analyze_*`** as `toolResult`. Do not rewrite bars.
17
+
18
+ ## Auth
19
+
20
+ - **Default:** keyless public market endpoints (`/api/v3/brokerage/market/...`).
21
+ - **Optional premium:** set Variables **`COINBASE_CDP_API_KEY_NAME`** and **`COINBASE_CDP_API_PRIVATE_KEY`** (ECDSA PEM; literal `\n` escapes OK). When both are set, tools prefer authenticated brokerage routes; public tools still work if unset.
22
+
23
+ Never pass secret values in tool args. Agents see names / `envConfigured` only.
24
+
25
+ ## Liquidity depth
26
+
27
+ Use **`continuum__analyze_liquidity_depth`** with `depthExchangeId: "coinbase"` and the same OHLCV session (product id like `BTC-USD`). Averaged spot walls only — not a Trade Idea.
28
+
29
+ ## Trade ideas
30
+
31
+ Coinbase OHLCV is a valid candle source for analyze → trade ideas (`ds=cb`). Build Trade execution stays Hyperliquid / Arcus / GMX / Uniswap.
@@ -1,4 +1,4 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { type McpServer } from '@modelcontextprotocol/server';
2
2
  export type CreateMcpServer = () => McpServer;
3
3
  export type HttpMcpRoute = {
4
4
  path: string;
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AASvE,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAkJF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,EACrC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAC,CA8DpD"}
1
+ {"version":3,"file":"http-transport.d.ts","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"AAIA,OAAO,EAAmB,KAAK,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAI9E,MAAM,MAAM,eAAe,GAAG,MAAM,SAAS,CAAC;AAE9C,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,eAAe,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAiDF,wBAAsB,wBAAwB,CAC7C,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,EACrC,OAAO,GAAE,oBAAyB,GAChC,OAAO,CAAC;IAAC,IAAI,EAAE,GAAG,EAAE,CAAC;IAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAC,CAAC,CAmDpD"}
@@ -1,121 +1,41 @@
1
1
  import { randomUUID } from 'node:crypto';
2
- import { createMcpExpressApp } from '@modelcontextprotocol/sdk/server/express.js';
3
- import { StreamableHTTPServerTransport } from '@modelcontextprotocol/sdk/server/streamableHttp.js';
4
- import { isInitializeRequest } from '@modelcontextprotocol/sdk/types.js';
2
+ import { createMcpExpressApp } from '@modelcontextprotocol/express';
3
+ import { toNodeHandler } from '@modelcontextprotocol/node';
4
+ import { createMcpHandler } from '@modelcontextprotocol/server';
5
5
  import { runWithOhlcvSessionAsync } from '../ohlcv-session-context.js';
6
- import { clearChartPatternAnalysisSession } from '../../core/chart/chart-pattern-session-store.js';
7
- import { clearOhlcvSession } from '../../core/chart/ohlcv-session-store.js';
8
6
  function resolveHttpOptions(options = {}) {
9
7
  const host = options.host ?? process.env['MCP_HTTP_HOST'] ?? '127.0.0.1';
10
- const port = Number(process.env['MCP_HTTP_PORT'] ?? process.env['MCP_PORT'] ?? '3000');
8
+ const port = Number(options.port ?? process.env['MCP_HTTP_PORT'] ?? process.env['MCP_PORT'] ?? '3000');
11
9
  if (!Number.isInteger(port) || port <= 0 || port > 65_535) {
12
10
  throw new Error(`Invalid MCP HTTP port: ${String(port)}`);
13
11
  }
14
12
  return { host, port };
15
13
  }
16
- function createMcpRouteHandlers(createServer) {
17
- const transports = {};
18
- const mcpPostHandler = async (req, res) => {
19
- const sessionIdHeader = req.headers['mcp-session-id'];
20
- const sessionId = Array.isArray(sessionIdHeader)
21
- ? sessionIdHeader[0]
22
- : sessionIdHeader;
23
- try {
24
- let transport;
25
- if (sessionId && transports[sessionId]) {
26
- transport = transports[sessionId];
27
- }
28
- else if (!sessionId && isInitializeRequest(req.body)) {
29
- transport = new StreamableHTTPServerTransport({
30
- sessionIdGenerator: () => randomUUID(),
31
- onsessioninitialized: initializedSessionId => {
32
- transports[initializedSessionId] = transport;
33
- },
34
- });
35
- transport.onclose = () => {
36
- const sid = transport?.sessionId;
37
- if (sid && transports[sid]) {
38
- delete transports[sid];
39
- }
40
- if (sid) {
41
- clearOhlcvSession(sid);
42
- clearChartPatternAnalysisSession(sid);
43
- }
44
- };
45
- const server = createServer();
46
- await server.connect(transport);
47
- await runWithOhlcvSessionAsync(transport.sessionId, () => transport.handleRequest(req, res, req.body));
48
- return;
49
- }
50
- else {
51
- res.status(400).json({
52
- jsonrpc: '2.0',
53
- error: {
54
- code: -32_000,
55
- message: 'Bad Request: No valid session ID provided',
56
- },
57
- id: null,
58
- });
59
- return;
60
- }
61
- await runWithOhlcvSessionAsync(sessionId ?? transport.sessionId, () => transport.handleRequest(req, res, req.body));
62
- }
63
- catch (error) {
64
- console.error('Error handling MCP request:', error);
65
- if (!res.headersSent) {
66
- res.status(500).json({
67
- jsonrpc: '2.0',
68
- error: {
69
- code: -32_603,
70
- message: 'Internal server error',
71
- },
72
- id: null,
73
- });
74
- }
75
- }
76
- };
77
- const mcpGetHandler = async (req, res) => {
78
- const sessionIdHeader = req.headers['mcp-session-id'];
79
- const sessionId = Array.isArray(sessionIdHeader)
80
- ? sessionIdHeader[0]
81
- : sessionIdHeader;
82
- if (!sessionId || !transports[sessionId]) {
83
- res.status(400).send('Invalid or missing session ID');
84
- return;
85
- }
86
- await transports[sessionId].handleRequest(req, res);
87
- };
88
- const mcpDeleteHandler = async (req, res) => {
89
- const sessionIdHeader = req.headers['mcp-session-id'];
90
- const sessionId = Array.isArray(sessionIdHeader)
91
- ? sessionIdHeader[0]
92
- : sessionIdHeader;
93
- if (!sessionId || !transports[sessionId]) {
94
- res.status(400).send('Invalid or missing session ID');
95
- return;
96
- }
97
- try {
98
- await transports[sessionId].handleRequest(req, res);
99
- }
100
- catch (error) {
101
- console.error('Error handling session termination:', error);
102
- if (!res.headersSent) {
103
- res.status(500).send('Error processing session termination');
104
- }
105
- }
106
- };
107
- const closeTransports = async () => {
108
- for (const activeSessionId of Object.keys(transports)) {
109
- try {
110
- await transports[activeSessionId].close();
111
- delete transports[activeSessionId];
112
- }
113
- catch (error) {
114
- console.error(`Error closing transport for session ${activeSessionId}:`, error);
115
- }
116
- }
14
+ /**
15
+ * MCP 2026-07-28 only: per-request servers via createMcpHandler (no Mcp-Session-Id).
16
+ * Cross-request chart/OHLCV state must use explicit handles, not transport sessions.
17
+ * Cross-request DeFi load state must use a shared DefiProtocolContext from the route factory
18
+ * (see server/index.ts) — a fresh context per request makes load_defi_protocol a no-op for ctm_*.
19
+ */
20
+ function mountMcpRoute(app, route) {
21
+ const handler = createMcpHandler(route.createServer, { legacy: 'reject' });
22
+ const nodeHandler = toNodeHandler(handler, {
23
+ onerror: error => {
24
+ console.error(`MCP handler error on ${route.path}:`, error);
25
+ },
26
+ });
27
+ const wrapped = async (req, res) => {
28
+ const requestKey = randomUUID();
29
+ await runWithOhlcvSessionAsync(requestKey, async () => {
30
+ // createMcpExpressApp mounts express.json(); pass the pre-parsed body so
31
+ // toNodeHandler does not re-read an already-consumed request stream
32
+ // (empty body → JSON-RPC parse error → go-sdk falls back to initialize → 400).
33
+ await nodeHandler(req, res, req.body);
34
+ });
117
35
  };
118
- return { mcpPostHandler, mcpGetHandler, mcpDeleteHandler, closeTransports };
36
+ app.all(route.path, (req, res, next) => {
37
+ void wrapped(req, res).catch(next);
38
+ });
119
39
  }
120
40
  export async function startHttpTransportServer(routes, options = {}) {
121
41
  const routeList = Array.isArray(routes) ? routes : [routes];
@@ -124,14 +44,9 @@ export async function startHttpTransportServer(routes, options = {}) {
124
44
  }
125
45
  const { host, port } = resolveHttpOptions(options);
126
46
  const app = createMcpExpressApp({ host });
127
- const closeHandlers = [];
128
47
  const urls = [];
129
48
  for (const route of routeList) {
130
- const { mcpPostHandler, mcpGetHandler, mcpDeleteHandler, closeTransports } = createMcpRouteHandlers(route.createServer);
131
- app.post(route.path, mcpPostHandler);
132
- app.get(route.path, mcpGetHandler);
133
- app.delete(route.path, mcpDeleteHandler);
134
- closeHandlers.push(closeTransports);
49
+ mountMcpRoute(app, route);
135
50
  urls.push(new URL(`http://${host}:${port}${route.path}`));
136
51
  }
137
52
  const httpServer = await new Promise((resolve, reject) => {
@@ -144,12 +59,9 @@ export async function startHttpTransportServer(routes, options = {}) {
144
59
  });
145
60
  });
146
61
  for (const url of urls) {
147
- console.error(`Continuum MCP Server listening on ${url.toString()}`);
62
+ console.error(`Continuum MCP Server listening on ${url.toString()} (MCP 2026-07-28)`);
148
63
  }
149
64
  const close = async () => {
150
- for (const closeTransports of closeHandlers) {
151
- await closeTransports();
152
- }
153
65
  await new Promise((resolve, reject) => {
154
66
  httpServer.close(error => {
155
67
  if (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-transport.js","sourceRoot":"","sources":["../../../src/mcp/server/http-transport.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
+ import { createCoinbasePublicMcpServer } from '../coinbase-public/register.js';
1
2
  import { createCoinMarketCapPublicMcpServer } from '../coinmarketcap-public/register.js';
3
+ import { DefiProtocolContext } from '../defi/context.js';
2
4
  import { createContinuumMcpServer } from '../register.js';
3
5
  import { createTaMcpServer } from '../ta/register.js';
4
6
  import { createVpnMcpServer } from '../vpn.js';
@@ -10,11 +12,19 @@ async function main() {
10
12
  const taPath = process.env['MCP_HTTP_TA_PATH'] ?? '/mcp/ta';
11
13
  const vpnPath = process.env['MCP_HTTP_VPN_PATH'] ?? '/mcp/vpn';
12
14
  const cmcPublicPath = process.env['MCP_HTTP_CMC_PUBLIC_PATH'] ?? '/mcp/cmc-public';
15
+ const coinbasePublicPath = process.env['MCP_HTTP_COINBASE_PUBLIC_PATH'] ?? '/mcp/coinbase-public';
16
+ // createMcpHandler builds a new McpServer per HTTP request (no Mcp-Session-Id).
17
+ // Share DefiProtocolContext so load_defi_protocol survives into later tools/call.
18
+ const sharedDefiContext = new DefiProtocolContext();
13
19
  await startHttpTransportServer([
14
- { path: mainPath, createServer: () => createContinuumMcpServer(config) },
20
+ {
21
+ path: mainPath,
22
+ createServer: () => createContinuumMcpServer(config, { defiContext: sharedDefiContext }),
23
+ },
15
24
  { path: taPath, createServer: () => createTaMcpServer() },
16
25
  { path: vpnPath, createServer: () => createVpnMcpServer(config) },
17
26
  { path: cmcPublicPath, createServer: () => createCoinMarketCapPublicMcpServer(config) },
27
+ { path: coinbasePublicPath, createServer: () => createCoinbasePublicMcpServer(config) },
18
28
  ]);
19
29
  }
20
30
  main().catch(error => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kCAAkC,EAAC,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,iBAAiB,CAAC;IAEnF,MAAM,wBAAwB,CAAC;QAC9B,EAAC,IAAI,EAAE,QAAQ,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,wBAAwB,CAAC,MAAM,CAAC,EAAC;QACtE,EAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAC;QACvD,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAC;QAC/D,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kCAAkC,CAAC,MAAM,CAAC,EAAC;KACrF,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,6BAA6B,EAAC,MAAM,gCAAgC,CAAC;AAC7E,OAAO,EAAC,kCAAkC,EAAC,MAAM,qCAAqC,CAAC;AACvF,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,wBAAwB,EAAC,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAC,oBAAoB,EAAC,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAC,wBAAwB,EAAC,MAAM,qBAAqB,CAAC;AAE7D,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC;IACxD,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,IAAI,SAAS,CAAC;IAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,UAAU,CAAC;IAC/D,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,IAAI,iBAAiB,CAAC;IACnF,MAAM,kBAAkB,GACvB,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,IAAI,sBAAsB,CAAC;IAExE,gFAAgF;IAChF,kFAAkF;IAClF,MAAM,iBAAiB,GAAG,IAAI,mBAAmB,EAAE,CAAC;IAEpD,MAAM,wBAAwB,CAAC;QAC9B;YACC,IAAI,EAAE,QAAQ;YACd,YAAY,EAAE,GAAG,EAAE,CAClB,wBAAwB,CAAC,MAAM,EAAE,EAAC,WAAW,EAAE,iBAAiB,EAAC,CAAC;SACnE;QACD,EAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAC;QACvD,EAAC,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAC;QAC/D,EAAC,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,kCAAkC,CAAC,MAAM,CAAC,EAAC;QACrF,EAAC,IAAI,EAAE,kBAAkB,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC,6BAA6B,CAAC,MAAM,CAAC,EAAC;KACrF,CAAC,CAAC;AACJ,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer } from "@modelcontextprotocol/server";
2
2
  import { mcpStructuredContent } from '../tool-utils.js';
3
3
  export declare function registerTaTools(server: McpServer): void;
4
4
  export declare function registerTaResources(server: McpServer): void;
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAYlE,OAAO,EAAC,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AAEjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAuBvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAO3D;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAiB7C;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAYzD,OAAO,EAAC,oBAAoB,EAA4B,MAAM,kBAAkB,CAAC;AAEjF,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAyBvD;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAO3D;AAED,wBAAgB,iBAAiB,IAAI,SAAS,CAiB7C;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
@@ -1,15 +1,17 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer } from "@modelcontextprotocol/server";
2
2
  import { z } from 'zod';
3
3
  import { calculateTechnicalIndicator, listTechnicalIndicators, } from '../../core/ta/calculate.js';
4
4
  import { CalculateTechnicalIndicatorInputSchema, CalculateTechnicalIndicatorOutputSchema, ListTechnicalIndicatorsOutputSchema, } from '../../core/ta/schemas.js';
5
5
  import { registerMcpMarkdownResource } from '../mcp-resources.js';
6
6
  import { mcpStructuredContent, sdkResultToCallToolResult } from '../tool-utils.js';
7
7
  export function registerTaTools(server) {
8
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
8
9
  server.registerTool('list_technical_indicators', {
9
10
  description: 'List technical indicators available via calculate_technical_indicator: id, category, inputProfile, defaultParams, outputKind. Call this before computing.',
10
11
  inputSchema: z.object({}).strict(),
11
12
  outputSchema: ListTechnicalIndicatorsOutputSchema,
12
13
  }, async () => sdkResultToCallToolResult(listTechnicalIndicators()));
14
+ /* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
13
15
  server.registerTool('calculate_technical_indicator', {
14
16
  description: 'Compute one technical indicator from time series or OHLC(V) arrays. Use list_technical_indicators for inputProfile requirements. Supports params (period, stdDev, etc.), options.trimWarmup, options.maxPoints.',
15
17
  inputSchema: CalculateTechnicalIndicatorInputSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAClE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sCAAsC,EACtC,uCAAuC,EACvC,mCAAmC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,2BAA2B,EAAC,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAEjF,MAAM,UAAU,eAAe,CAAC,MAAiB;IAChD,MAAM,CAAC,YAAY,CAClB,2BAA2B,EAC3B;QACC,WAAW,EACV,2JAA2J;QAC5J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,mCAAmC;KACjD,EACD,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC,CAChE,CAAC;IAEF,MAAM,CAAC,YAAY,CAClB,+BAA+B,EAC/B;QACC,WAAW,EACV,iNAAiN;QAClN,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,uCAAuC;KACrD,EACD,KAAK,EAAE,KAA6D,EAAE,EAAE,CACvE,yBAAyB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACpD,2BAA2B,CAC1B,MAAM,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,uEAAuE,CACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;QACC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KAChB,EACD;QACC,YAAY,EAAE;YACb,KAAK,EAAE,EAAE;SACT;KACD,CACD,CAAC;IAEF,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/ta/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,EACN,2BAA2B,EAC3B,uBAAuB,GACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACN,sCAAsC,EACtC,uCAAuC,EACvC,mCAAmC,GACnC,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,2BAA2B,EAAC,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAC,oBAAoB,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAEjF,MAAM,UAAU,eAAe,CAAC,MAAiB;IAChD,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,2BAA2B,EAC3B;QACC,WAAW,EACV,2JAA2J;QAC5J,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,mCAAmC;KACjD,EACD,KAAK,IAAI,EAAE,CAAC,yBAAyB,CAAC,uBAAuB,EAAE,CAAC,CAChE,CAAC;IAEF,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,+BAA+B,EAC/B;QACC,WAAW,EACV,iNAAiN;QAClN,WAAW,EAAE,sCAAsC;QACnD,YAAY,EAAE,uCAAuC;KACrD,EACD,KAAK,EAAE,KAA6D,EAAE,EAAE,CACvE,yBAAyB,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,CAC9D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAiB;IACpD,2BAA2B,CAC1B,MAAM,EACN,2BAA2B,EAC3B,yBAAyB,EACzB,uEAAuE,CACvE,CAAC;AACH,CAAC;AAED,MAAM,UAAU,iBAAiB;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAC3B;QACC,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KAChB,EACD;QACC,YAAY,EAAE;YACb,KAAK,EAAE,EAAE;SACT;KACD,CACD,CAAC;IAEF,eAAe,CAAC,MAAM,CAAC,CAAC;IACxB,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAE5B,OAAO,MAAM,CAAC;AACf,CAAC;AAED,OAAO,EAAC,oBAAoB,EAAC,CAAC"}
@@ -1,9 +1,8 @@
1
- import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
1
+ import { serveStdio } from '@modelcontextprotocol/server/stdio';
2
2
  import { createTaMcpServer } from '../ta/register.js';
3
3
  async function main() {
4
- const server = createTaMcpServer();
5
- const transport = new StdioServerTransport();
6
- await server.connect(transport);
4
+ // MCP 2026-07-28 only — refuse legacy initialize clients.
5
+ await serveStdio(() => createTaMcpServer(), { legacy: 'reject' });
7
6
  }
8
7
  main().catch(error => {
9
8
  console.error('Fatal error in ta-mcp main():', error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAC/E,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,KAAK,UAAU,IAAI;IAClB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mcp/ta-server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAEpD,KAAK,UAAU,IAAI;IAClB,0DAA0D;IAC1D,MAAM,UAAU,CAAC,GAAG,EAAE,CAAC,iBAAiB,EAAE,EAAE,EAAC,MAAM,EAAE,QAAQ,EAAC,CAAC,CAAC;AACjE,CAAC;AAED,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;IACpB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;IACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { CallToolResult } from '@modelcontextprotocol/sdk/types.js';
1
+ import type { CallToolResult } from "@modelcontextprotocol/server";
2
2
  import { z } from 'zod';
3
3
  import type { SdkResult } from '../core/result.js';
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6CAAiC,CAAC;AAEtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ3E;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAClB,cAAc,CAYhB;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAEzB"}
1
+ {"version":3,"file":"tool-utils.d.ts","sourceRoot":"","sources":["../../src/mcp/tool-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,mBAAmB,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,6CAAiC,CAAC;AAEtE,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKjD;AAED,wEAAwE;AACxE,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAQ3E;AAED,wBAAgB,yBAAyB,CAAC,CAAC,EAC1C,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,GAClB,cAAc,CAYhB;AAED,wBAAsB,OAAO,CAAC,CAAC,EAC9B,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAC5B,OAAO,CAAC,cAAc,CAAC,CAEzB"}
@@ -1,4 +1,4 @@
1
- import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import type { McpServer } from "@modelcontextprotocol/server";
2
2
  import type { NodeSdkConfig } from '../config/schema.js';
3
3
  import type { DefiProtocolContext } from './defi/context.js';
4
4
  import { camelToSnake } from './tool-utils.js';
@@ -1 +1 @@
1
- {"version":3,"file":"trade-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/trade-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,yCAAyC,CAAC;AAEvE,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAqBvD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0B,YAAY,EAAqC,MAAM,iBAAiB,CAAC;AAiQ1G,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CA+ON;AAED,OAAO,EAAC,YAAY,EAAC,CAAC"}
1
+ {"version":3,"file":"trade-tools.d.ts","sourceRoot":"","sources":["../../src/mcp/trade-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAqBvD,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAA0B,YAAY,EAAqC,MAAM,iBAAiB,CAAC;AAoQ1G,wBAAgB,kBAAkB,CACjC,MAAM,EAAE,SAAS,EACjB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,mBAAmB,GAC9B,IAAI,CAoPN;AAED,OAAO,EAAC,YAAY,EAAC,CAAC"}