@nirvana-labs/nirvana-mcp 1.18.3 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (388) hide show
  1. package/README.md +15 -12
  2. package/package.json +2 -2
  3. package/server.js +1 -1
  4. package/server.mjs +1 -1
  5. package/src/server.ts +1 -1
  6. package/src/tools/compute/vms/availability/create-vms-compute-availability.ts +22 -1
  7. package/src/tools/compute/vms/availability/update-vms-compute-availability.ts +8 -1
  8. package/src/tools/compute/vms/create-compute-vms.ts +21 -0
  9. package/src/tools/compute/vms/get-compute-vms.ts +1 -1
  10. package/src/tools/compute/vms/list-compute-vms.ts +1 -1
  11. package/src/tools/compute/vms/os-images/list-vms-compute-os-images.ts +1 -1
  12. package/src/tools/compute/vms/update-compute-vms.ts +7 -0
  13. package/src/tools/compute/vms/volumes/list-vms-compute-volumes.ts +1 -1
  14. package/src/tools/compute/volumes/availability/create-volumes-compute-availability.ts +8 -1
  15. package/src/tools/compute/volumes/availability/update-volumes-compute-availability.ts +8 -1
  16. package/src/tools/compute/volumes/create-compute-volumes.ts +7 -0
  17. package/src/tools/compute/volumes/get-compute-volumes.ts +1 -1
  18. package/src/tools/compute/volumes/list-compute-volumes.ts +1 -1
  19. package/src/tools/compute/volumes/update-compute-volumes.ts +7 -0
  20. package/src/tools/index.ts +18 -12
  21. package/src/tools/{connect/flux/update-connect-flux.ts → networking/connect/connections/create-connect-networking-connections.ts} +77 -12
  22. package/src/tools/networking/connect/connections/delete-connect-networking-connections.ts +49 -0
  23. package/src/tools/networking/connect/connections/get-connect-networking-connections.ts +49 -0
  24. package/src/tools/networking/connect/connections/list-connect-networking-connections.ts +46 -0
  25. package/src/tools/networking/connect/connections/update-connect-networking-connections.ts +58 -0
  26. package/src/tools/{connect/flux/providers/list-flux-connect-providers.ts → networking/connect/routes/list-connect-networking-routes.ts} +6 -6
  27. package/src/tools/networking/firewall-rules/create-networking-firewall-rules.ts +7 -0
  28. package/src/tools/networking/firewall-rules/get-networking-firewall-rules.ts +1 -1
  29. package/src/tools/networking/firewall-rules/list-networking-firewall-rules.ts +1 -1
  30. package/src/tools/networking/firewall-rules/update-networking-firewall-rules.ts +7 -0
  31. package/src/tools/networking/vpcs/availability/create-vpcs-networking-availability.ts +8 -1
  32. package/src/tools/networking/vpcs/availability/update-vpcs-networking-availability.ts +8 -1
  33. package/src/tools/networking/vpcs/create-networking-vpcs.ts +7 -0
  34. package/src/tools/networking/vpcs/get-networking-vpcs.ts +1 -1
  35. package/src/tools/networking/vpcs/list-networking-vpcs.ts +1 -1
  36. package/src/tools/networking/vpcs/update-networking-vpcs.ts +7 -0
  37. package/src/tools/rpc-nodes/dedicated/get-rpc-nodes-dedicated.ts +1 -1
  38. package/src/tools/rpc-nodes/dedicated/list-rpc-nodes-dedicated.ts +1 -1
  39. package/src/tools/rpc-nodes/flex/create-rpc-nodes-flex.ts +61 -0
  40. package/src/tools/rpc-nodes/flex/delete-rpc-nodes-flex.ts +40 -0
  41. package/src/tools/rpc-nodes/flex/get-rpc-nodes-flex.ts +1 -1
  42. package/src/tools/rpc-nodes/flex/list-rpc-nodes-flex.ts +1 -1
  43. package/src/tools/rpc-nodes/flex/update-rpc-nodes-flex.ts +56 -0
  44. package/src/tools/vektor/balances/list-historical-vektor-balances.ts +1 -1
  45. package/src/tools/vektor/balances/list-vektor-balances.ts +1 -1
  46. package/src/tools/vektor/borrow/accounts/list-borrow-vektor-accounts.ts +1 -1
  47. package/src/tools/vektor/borrow/accounts/list-historical-borrow-vektor-accounts.ts +1 -1
  48. package/src/tools/vektor/bridge/quotes/list-bridge-vektor-quotes.ts +1 -1
  49. package/src/tools/vektor/buy/quotes/list-buy-vektor-quotes.ts +1 -1
  50. package/src/tools/vektor/lock/markets/list-lock-vektor-markets.ts +1 -1
  51. package/src/tools/vektor/lock/positions/list-lock-vektor-positions.ts +3 -11
  52. package/src/tools/vektor/prices/list-historical-vektor-prices.ts +1 -1
  53. package/src/tools/vektor/prices/list-vektor-prices.ts +1 -1
  54. package/src/tools/vektor/registry/assets/list-registry-vektor-assets.ts +1 -1
  55. package/src/tools/vektor/registry/blockchains/list-registry-vektor-blockchains.ts +1 -1
  56. package/src/tools/vektor/registry/borrow-markets/list-registry-vektor-borrow-markets.ts +1 -1
  57. package/src/tools/vektor/registry/lend-markets/list-registry-vektor-lend-markets.ts +1 -1
  58. package/src/tools/vektor/registry/lp-pools/list-registry-vektor-lp-pools.ts +1 -1
  59. package/src/tools/vektor/registry/venues/list-registry-vektor-venues.ts +1 -1
  60. package/tools/compute/vms/availability/create-vms-compute-availability.d.mts.map +1 -1
  61. package/tools/compute/vms/availability/create-vms-compute-availability.d.ts.map +1 -1
  62. package/tools/compute/vms/availability/create-vms-compute-availability.js +22 -1
  63. package/tools/compute/vms/availability/create-vms-compute-availability.js.map +1 -1
  64. package/tools/compute/vms/availability/create-vms-compute-availability.mjs +22 -1
  65. package/tools/compute/vms/availability/create-vms-compute-availability.mjs.map +1 -1
  66. package/tools/compute/vms/availability/update-vms-compute-availability.d.mts.map +1 -1
  67. package/tools/compute/vms/availability/update-vms-compute-availability.d.ts.map +1 -1
  68. package/tools/compute/vms/availability/update-vms-compute-availability.js +8 -1
  69. package/tools/compute/vms/availability/update-vms-compute-availability.js.map +1 -1
  70. package/tools/compute/vms/availability/update-vms-compute-availability.mjs +8 -1
  71. package/tools/compute/vms/availability/update-vms-compute-availability.mjs.map +1 -1
  72. package/tools/compute/vms/create-compute-vms.d.mts.map +1 -1
  73. package/tools/compute/vms/create-compute-vms.d.ts.map +1 -1
  74. package/tools/compute/vms/create-compute-vms.js +21 -0
  75. package/tools/compute/vms/create-compute-vms.js.map +1 -1
  76. package/tools/compute/vms/create-compute-vms.mjs +21 -0
  77. package/tools/compute/vms/create-compute-vms.mjs.map +1 -1
  78. package/tools/compute/vms/get-compute-vms.js +1 -1
  79. package/tools/compute/vms/get-compute-vms.js.map +1 -1
  80. package/tools/compute/vms/get-compute-vms.mjs +1 -1
  81. package/tools/compute/vms/get-compute-vms.mjs.map +1 -1
  82. package/tools/compute/vms/list-compute-vms.js +1 -1
  83. package/tools/compute/vms/list-compute-vms.js.map +1 -1
  84. package/tools/compute/vms/list-compute-vms.mjs +1 -1
  85. package/tools/compute/vms/list-compute-vms.mjs.map +1 -1
  86. package/tools/compute/vms/os-images/list-vms-compute-os-images.js +1 -1
  87. package/tools/compute/vms/os-images/list-vms-compute-os-images.js.map +1 -1
  88. package/tools/compute/vms/os-images/list-vms-compute-os-images.mjs +1 -1
  89. package/tools/compute/vms/os-images/list-vms-compute-os-images.mjs.map +1 -1
  90. package/tools/compute/vms/update-compute-vms.d.mts.map +1 -1
  91. package/tools/compute/vms/update-compute-vms.d.ts.map +1 -1
  92. package/tools/compute/vms/update-compute-vms.js +7 -0
  93. package/tools/compute/vms/update-compute-vms.js.map +1 -1
  94. package/tools/compute/vms/update-compute-vms.mjs +7 -0
  95. package/tools/compute/vms/update-compute-vms.mjs.map +1 -1
  96. package/tools/compute/vms/volumes/list-vms-compute-volumes.js +1 -1
  97. package/tools/compute/vms/volumes/list-vms-compute-volumes.js.map +1 -1
  98. package/tools/compute/vms/volumes/list-vms-compute-volumes.mjs +1 -1
  99. package/tools/compute/vms/volumes/list-vms-compute-volumes.mjs.map +1 -1
  100. package/tools/compute/volumes/availability/create-volumes-compute-availability.d.mts.map +1 -1
  101. package/tools/compute/volumes/availability/create-volumes-compute-availability.d.ts.map +1 -1
  102. package/tools/compute/volumes/availability/create-volumes-compute-availability.js +8 -1
  103. package/tools/compute/volumes/availability/create-volumes-compute-availability.js.map +1 -1
  104. package/tools/compute/volumes/availability/create-volumes-compute-availability.mjs +8 -1
  105. package/tools/compute/volumes/availability/create-volumes-compute-availability.mjs.map +1 -1
  106. package/tools/compute/volumes/availability/update-volumes-compute-availability.d.mts.map +1 -1
  107. package/tools/compute/volumes/availability/update-volumes-compute-availability.d.ts.map +1 -1
  108. package/tools/compute/volumes/availability/update-volumes-compute-availability.js +8 -1
  109. package/tools/compute/volumes/availability/update-volumes-compute-availability.js.map +1 -1
  110. package/tools/compute/volumes/availability/update-volumes-compute-availability.mjs +8 -1
  111. package/tools/compute/volumes/availability/update-volumes-compute-availability.mjs.map +1 -1
  112. package/tools/compute/volumes/create-compute-volumes.d.mts.map +1 -1
  113. package/tools/compute/volumes/create-compute-volumes.d.ts.map +1 -1
  114. package/tools/compute/volumes/create-compute-volumes.js +7 -0
  115. package/tools/compute/volumes/create-compute-volumes.js.map +1 -1
  116. package/tools/compute/volumes/create-compute-volumes.mjs +7 -0
  117. package/tools/compute/volumes/create-compute-volumes.mjs.map +1 -1
  118. package/tools/compute/volumes/get-compute-volumes.js +1 -1
  119. package/tools/compute/volumes/get-compute-volumes.js.map +1 -1
  120. package/tools/compute/volumes/get-compute-volumes.mjs +1 -1
  121. package/tools/compute/volumes/get-compute-volumes.mjs.map +1 -1
  122. package/tools/compute/volumes/list-compute-volumes.js +1 -1
  123. package/tools/compute/volumes/list-compute-volumes.js.map +1 -1
  124. package/tools/compute/volumes/list-compute-volumes.mjs +1 -1
  125. package/tools/compute/volumes/list-compute-volumes.mjs.map +1 -1
  126. package/tools/compute/volumes/update-compute-volumes.d.mts.map +1 -1
  127. package/tools/compute/volumes/update-compute-volumes.d.ts.map +1 -1
  128. package/tools/compute/volumes/update-compute-volumes.js +7 -0
  129. package/tools/compute/volumes/update-compute-volumes.js.map +1 -1
  130. package/tools/compute/volumes/update-compute-volumes.mjs +7 -0
  131. package/tools/compute/volumes/update-compute-volumes.mjs.map +1 -1
  132. package/tools/index.d.mts.map +1 -1
  133. package/tools/index.d.ts.map +1 -1
  134. package/tools/index.js +18 -12
  135. package/tools/index.js.map +1 -1
  136. package/tools/index.mjs +18 -12
  137. package/tools/index.mjs.map +1 -1
  138. package/tools/networking/connect/connections/create-connect-networking-connections.d.mts +45 -0
  139. package/tools/networking/connect/connections/create-connect-networking-connections.d.mts.map +1 -0
  140. package/tools/networking/connect/connections/create-connect-networking-connections.d.ts +45 -0
  141. package/tools/networking/connect/connections/create-connect-networking-connections.d.ts.map +1 -0
  142. package/tools/{connect/flux/create-connect-flux.js → networking/connect/connections/create-connect-networking-connections.js} +21 -14
  143. package/tools/networking/connect/connections/create-connect-networking-connections.js.map +1 -0
  144. package/tools/{connect/flux/create-connect-flux.mjs → networking/connect/connections/create-connect-networking-connections.mjs} +21 -14
  145. package/tools/networking/connect/connections/create-connect-networking-connections.mjs.map +1 -0
  146. package/tools/networking/connect/connections/delete-connect-networking-connections.d.mts +45 -0
  147. package/tools/networking/connect/connections/delete-connect-networking-connections.d.mts.map +1 -0
  148. package/tools/networking/connect/connections/delete-connect-networking-connections.d.ts +45 -0
  149. package/tools/networking/connect/connections/delete-connect-networking-connections.d.ts.map +1 -0
  150. package/tools/networking/connect/connections/delete-connect-networking-connections.js +42 -0
  151. package/tools/networking/connect/connections/delete-connect-networking-connections.js.map +1 -0
  152. package/tools/networking/connect/connections/delete-connect-networking-connections.mjs +38 -0
  153. package/tools/networking/connect/connections/delete-connect-networking-connections.mjs.map +1 -0
  154. package/tools/networking/connect/connections/get-connect-networking-connections.d.mts +45 -0
  155. package/tools/networking/connect/connections/get-connect-networking-connections.d.mts.map +1 -0
  156. package/tools/networking/connect/connections/get-connect-networking-connections.d.ts +45 -0
  157. package/tools/networking/connect/connections/get-connect-networking-connections.d.ts.map +1 -0
  158. package/tools/networking/connect/connections/get-connect-networking-connections.js +42 -0
  159. package/tools/networking/connect/connections/get-connect-networking-connections.js.map +1 -0
  160. package/tools/networking/connect/connections/get-connect-networking-connections.mjs +38 -0
  161. package/tools/networking/connect/connections/get-connect-networking-connections.mjs.map +1 -0
  162. package/tools/networking/connect/connections/list-connect-networking-connections.d.mts +45 -0
  163. package/tools/networking/connect/connections/list-connect-networking-connections.d.mts.map +1 -0
  164. package/tools/networking/connect/connections/list-connect-networking-connections.d.ts +45 -0
  165. package/tools/networking/connect/connections/list-connect-networking-connections.d.ts.map +1 -0
  166. package/tools/networking/connect/connections/list-connect-networking-connections.js +39 -0
  167. package/tools/networking/connect/connections/list-connect-networking-connections.js.map +1 -0
  168. package/tools/networking/connect/connections/list-connect-networking-connections.mjs +35 -0
  169. package/tools/networking/connect/connections/list-connect-networking-connections.mjs.map +1 -0
  170. package/tools/networking/connect/connections/update-connect-networking-connections.d.mts +45 -0
  171. package/tools/networking/connect/connections/update-connect-networking-connections.d.mts.map +1 -0
  172. package/tools/networking/connect/connections/update-connect-networking-connections.d.ts +45 -0
  173. package/tools/networking/connect/connections/update-connect-networking-connections.d.ts.map +1 -0
  174. package/tools/networking/connect/connections/update-connect-networking-connections.js +51 -0
  175. package/tools/networking/connect/connections/update-connect-networking-connections.js.map +1 -0
  176. package/tools/networking/connect/connections/update-connect-networking-connections.mjs +47 -0
  177. package/tools/networking/connect/connections/update-connect-networking-connections.mjs.map +1 -0
  178. package/tools/networking/connect/routes/list-connect-networking-routes.d.mts +45 -0
  179. package/tools/networking/connect/routes/list-connect-networking-routes.d.mts.map +1 -0
  180. package/tools/networking/connect/routes/list-connect-networking-routes.d.ts +45 -0
  181. package/tools/networking/connect/routes/list-connect-networking-routes.d.ts.map +1 -0
  182. package/tools/{connect/flux/providers/list-flux-connect-providers.js → networking/connect/routes/list-connect-networking-routes.js} +7 -7
  183. package/tools/networking/connect/routes/list-connect-networking-routes.js.map +1 -0
  184. package/tools/networking/connect/routes/list-connect-networking-routes.mjs +35 -0
  185. package/tools/networking/connect/routes/list-connect-networking-routes.mjs.map +1 -0
  186. package/tools/networking/firewall-rules/create-networking-firewall-rules.d.mts.map +1 -1
  187. package/tools/networking/firewall-rules/create-networking-firewall-rules.d.ts.map +1 -1
  188. package/tools/networking/firewall-rules/create-networking-firewall-rules.js +7 -0
  189. package/tools/networking/firewall-rules/create-networking-firewall-rules.js.map +1 -1
  190. package/tools/networking/firewall-rules/create-networking-firewall-rules.mjs +7 -0
  191. package/tools/networking/firewall-rules/create-networking-firewall-rules.mjs.map +1 -1
  192. package/tools/networking/firewall-rules/get-networking-firewall-rules.js +1 -1
  193. package/tools/networking/firewall-rules/get-networking-firewall-rules.js.map +1 -1
  194. package/tools/networking/firewall-rules/get-networking-firewall-rules.mjs +1 -1
  195. package/tools/networking/firewall-rules/get-networking-firewall-rules.mjs.map +1 -1
  196. package/tools/networking/firewall-rules/list-networking-firewall-rules.js +1 -1
  197. package/tools/networking/firewall-rules/list-networking-firewall-rules.js.map +1 -1
  198. package/tools/networking/firewall-rules/list-networking-firewall-rules.mjs +1 -1
  199. package/tools/networking/firewall-rules/list-networking-firewall-rules.mjs.map +1 -1
  200. package/tools/networking/firewall-rules/update-networking-firewall-rules.d.mts.map +1 -1
  201. package/tools/networking/firewall-rules/update-networking-firewall-rules.d.ts.map +1 -1
  202. package/tools/networking/firewall-rules/update-networking-firewall-rules.js +7 -0
  203. package/tools/networking/firewall-rules/update-networking-firewall-rules.js.map +1 -1
  204. package/tools/networking/firewall-rules/update-networking-firewall-rules.mjs +7 -0
  205. package/tools/networking/firewall-rules/update-networking-firewall-rules.mjs.map +1 -1
  206. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.d.mts.map +1 -1
  207. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.d.ts.map +1 -1
  208. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.js +8 -1
  209. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.js.map +1 -1
  210. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.mjs +8 -1
  211. package/tools/networking/vpcs/availability/create-vpcs-networking-availability.mjs.map +1 -1
  212. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.d.mts.map +1 -1
  213. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.d.ts.map +1 -1
  214. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.js +8 -1
  215. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.js.map +1 -1
  216. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.mjs +8 -1
  217. package/tools/networking/vpcs/availability/update-vpcs-networking-availability.mjs.map +1 -1
  218. package/tools/networking/vpcs/create-networking-vpcs.d.mts.map +1 -1
  219. package/tools/networking/vpcs/create-networking-vpcs.d.ts.map +1 -1
  220. package/tools/networking/vpcs/create-networking-vpcs.js +7 -0
  221. package/tools/networking/vpcs/create-networking-vpcs.js.map +1 -1
  222. package/tools/networking/vpcs/create-networking-vpcs.mjs +7 -0
  223. package/tools/networking/vpcs/create-networking-vpcs.mjs.map +1 -1
  224. package/tools/networking/vpcs/get-networking-vpcs.js +1 -1
  225. package/tools/networking/vpcs/get-networking-vpcs.js.map +1 -1
  226. package/tools/networking/vpcs/get-networking-vpcs.mjs +1 -1
  227. package/tools/networking/vpcs/get-networking-vpcs.mjs.map +1 -1
  228. package/tools/networking/vpcs/list-networking-vpcs.js +1 -1
  229. package/tools/networking/vpcs/list-networking-vpcs.js.map +1 -1
  230. package/tools/networking/vpcs/list-networking-vpcs.mjs +1 -1
  231. package/tools/networking/vpcs/list-networking-vpcs.mjs.map +1 -1
  232. package/tools/networking/vpcs/update-networking-vpcs.d.mts.map +1 -1
  233. package/tools/networking/vpcs/update-networking-vpcs.d.ts.map +1 -1
  234. package/tools/networking/vpcs/update-networking-vpcs.js +7 -0
  235. package/tools/networking/vpcs/update-networking-vpcs.js.map +1 -1
  236. package/tools/networking/vpcs/update-networking-vpcs.mjs +7 -0
  237. package/tools/networking/vpcs/update-networking-vpcs.mjs.map +1 -1
  238. package/tools/rpc-nodes/dedicated/get-rpc-nodes-dedicated.js +1 -1
  239. package/tools/rpc-nodes/dedicated/get-rpc-nodes-dedicated.js.map +1 -1
  240. package/tools/rpc-nodes/dedicated/get-rpc-nodes-dedicated.mjs +1 -1
  241. package/tools/rpc-nodes/dedicated/get-rpc-nodes-dedicated.mjs.map +1 -1
  242. package/tools/rpc-nodes/dedicated/list-rpc-nodes-dedicated.js +1 -1
  243. package/tools/rpc-nodes/dedicated/list-rpc-nodes-dedicated.js.map +1 -1
  244. package/tools/rpc-nodes/dedicated/list-rpc-nodes-dedicated.mjs +1 -1
  245. package/tools/rpc-nodes/dedicated/list-rpc-nodes-dedicated.mjs.map +1 -1
  246. package/tools/{connect/flux/delete-connect-flux.d.mts → rpc-nodes/flex/create-rpc-nodes-flex.d.mts} +1 -1
  247. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.d.mts.map +1 -0
  248. package/tools/{connect/flux/delete-connect-flux.d.ts → rpc-nodes/flex/create-rpc-nodes-flex.d.ts} +1 -1
  249. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.d.ts.map +1 -0
  250. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.js +56 -0
  251. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.js.map +1 -0
  252. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.mjs +52 -0
  253. package/tools/rpc-nodes/flex/create-rpc-nodes-flex.mjs.map +1 -0
  254. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.d.mts +45 -0
  255. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.d.mts.map +1 -0
  256. package/tools/{connect/flux/create-connect-flux.d.mts → rpc-nodes/flex/delete-rpc-nodes-flex.d.ts} +1 -1
  257. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.d.ts.map +1 -0
  258. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.js +37 -0
  259. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.js.map +1 -0
  260. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.mjs +33 -0
  261. package/tools/rpc-nodes/flex/delete-rpc-nodes-flex.mjs.map +1 -0
  262. package/tools/rpc-nodes/flex/get-rpc-nodes-flex.js +1 -1
  263. package/tools/rpc-nodes/flex/get-rpc-nodes-flex.js.map +1 -1
  264. package/tools/rpc-nodes/flex/get-rpc-nodes-flex.mjs +1 -1
  265. package/tools/rpc-nodes/flex/get-rpc-nodes-flex.mjs.map +1 -1
  266. package/tools/rpc-nodes/flex/list-rpc-nodes-flex.js +1 -1
  267. package/tools/rpc-nodes/flex/list-rpc-nodes-flex.js.map +1 -1
  268. package/tools/rpc-nodes/flex/list-rpc-nodes-flex.mjs +1 -1
  269. package/tools/rpc-nodes/flex/list-rpc-nodes-flex.mjs.map +1 -1
  270. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.d.mts +45 -0
  271. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.d.mts.map +1 -0
  272. package/tools/{connect/flux/create-connect-flux.d.ts → rpc-nodes/flex/update-rpc-nodes-flex.d.ts} +1 -1
  273. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.d.ts.map +1 -0
  274. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.js +51 -0
  275. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.js.map +1 -0
  276. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.mjs +47 -0
  277. package/tools/rpc-nodes/flex/update-rpc-nodes-flex.mjs.map +1 -0
  278. package/tools/vektor/balances/list-historical-vektor-balances.js +1 -1
  279. package/tools/vektor/balances/list-historical-vektor-balances.js.map +1 -1
  280. package/tools/vektor/balances/list-historical-vektor-balances.mjs +1 -1
  281. package/tools/vektor/balances/list-historical-vektor-balances.mjs.map +1 -1
  282. package/tools/vektor/balances/list-vektor-balances.js +1 -1
  283. package/tools/vektor/balances/list-vektor-balances.js.map +1 -1
  284. package/tools/vektor/balances/list-vektor-balances.mjs +1 -1
  285. package/tools/vektor/balances/list-vektor-balances.mjs.map +1 -1
  286. package/tools/vektor/borrow/accounts/list-borrow-vektor-accounts.js +1 -1
  287. package/tools/vektor/borrow/accounts/list-borrow-vektor-accounts.js.map +1 -1
  288. package/tools/vektor/borrow/accounts/list-borrow-vektor-accounts.mjs +1 -1
  289. package/tools/vektor/borrow/accounts/list-borrow-vektor-accounts.mjs.map +1 -1
  290. package/tools/vektor/borrow/accounts/list-historical-borrow-vektor-accounts.js +1 -1
  291. package/tools/vektor/borrow/accounts/list-historical-borrow-vektor-accounts.js.map +1 -1
  292. package/tools/vektor/borrow/accounts/list-historical-borrow-vektor-accounts.mjs +1 -1
  293. package/tools/vektor/borrow/accounts/list-historical-borrow-vektor-accounts.mjs.map +1 -1
  294. package/tools/vektor/bridge/quotes/list-bridge-vektor-quotes.js +1 -1
  295. package/tools/vektor/bridge/quotes/list-bridge-vektor-quotes.js.map +1 -1
  296. package/tools/vektor/bridge/quotes/list-bridge-vektor-quotes.mjs +1 -1
  297. package/tools/vektor/bridge/quotes/list-bridge-vektor-quotes.mjs.map +1 -1
  298. package/tools/vektor/buy/quotes/list-buy-vektor-quotes.js +1 -1
  299. package/tools/vektor/buy/quotes/list-buy-vektor-quotes.js.map +1 -1
  300. package/tools/vektor/buy/quotes/list-buy-vektor-quotes.mjs +1 -1
  301. package/tools/vektor/buy/quotes/list-buy-vektor-quotes.mjs.map +1 -1
  302. package/tools/vektor/lock/markets/list-lock-vektor-markets.js +1 -1
  303. package/tools/vektor/lock/markets/list-lock-vektor-markets.js.map +1 -1
  304. package/tools/vektor/lock/markets/list-lock-vektor-markets.mjs +1 -1
  305. package/tools/vektor/lock/markets/list-lock-vektor-markets.mjs.map +1 -1
  306. package/tools/vektor/lock/positions/list-lock-vektor-positions.d.mts.map +1 -1
  307. package/tools/vektor/lock/positions/list-lock-vektor-positions.d.ts.map +1 -1
  308. package/tools/vektor/lock/positions/list-lock-vektor-positions.js +3 -9
  309. package/tools/vektor/lock/positions/list-lock-vektor-positions.js.map +1 -1
  310. package/tools/vektor/lock/positions/list-lock-vektor-positions.mjs +3 -9
  311. package/tools/vektor/lock/positions/list-lock-vektor-positions.mjs.map +1 -1
  312. package/tools/vektor/prices/list-historical-vektor-prices.js +1 -1
  313. package/tools/vektor/prices/list-historical-vektor-prices.js.map +1 -1
  314. package/tools/vektor/prices/list-historical-vektor-prices.mjs +1 -1
  315. package/tools/vektor/prices/list-historical-vektor-prices.mjs.map +1 -1
  316. package/tools/vektor/prices/list-vektor-prices.js +1 -1
  317. package/tools/vektor/prices/list-vektor-prices.js.map +1 -1
  318. package/tools/vektor/prices/list-vektor-prices.mjs +1 -1
  319. package/tools/vektor/prices/list-vektor-prices.mjs.map +1 -1
  320. package/tools/vektor/registry/assets/list-registry-vektor-assets.js +1 -1
  321. package/tools/vektor/registry/assets/list-registry-vektor-assets.js.map +1 -1
  322. package/tools/vektor/registry/assets/list-registry-vektor-assets.mjs +1 -1
  323. package/tools/vektor/registry/assets/list-registry-vektor-assets.mjs.map +1 -1
  324. package/tools/vektor/registry/blockchains/list-registry-vektor-blockchains.js +1 -1
  325. package/tools/vektor/registry/blockchains/list-registry-vektor-blockchains.js.map +1 -1
  326. package/tools/vektor/registry/blockchains/list-registry-vektor-blockchains.mjs +1 -1
  327. package/tools/vektor/registry/blockchains/list-registry-vektor-blockchains.mjs.map +1 -1
  328. package/tools/vektor/registry/borrow-markets/list-registry-vektor-borrow-markets.js +1 -1
  329. package/tools/vektor/registry/borrow-markets/list-registry-vektor-borrow-markets.js.map +1 -1
  330. package/tools/vektor/registry/borrow-markets/list-registry-vektor-borrow-markets.mjs +1 -1
  331. package/tools/vektor/registry/borrow-markets/list-registry-vektor-borrow-markets.mjs.map +1 -1
  332. package/tools/vektor/registry/lend-markets/list-registry-vektor-lend-markets.js +1 -1
  333. package/tools/vektor/registry/lend-markets/list-registry-vektor-lend-markets.js.map +1 -1
  334. package/tools/vektor/registry/lend-markets/list-registry-vektor-lend-markets.mjs +1 -1
  335. package/tools/vektor/registry/lend-markets/list-registry-vektor-lend-markets.mjs.map +1 -1
  336. package/tools/vektor/registry/lp-pools/list-registry-vektor-lp-pools.js +1 -1
  337. package/tools/vektor/registry/lp-pools/list-registry-vektor-lp-pools.js.map +1 -1
  338. package/tools/vektor/registry/lp-pools/list-registry-vektor-lp-pools.mjs +1 -1
  339. package/tools/vektor/registry/lp-pools/list-registry-vektor-lp-pools.mjs.map +1 -1
  340. package/tools/vektor/registry/venues/list-registry-vektor-venues.js +1 -1
  341. package/tools/vektor/registry/venues/list-registry-vektor-venues.js.map +1 -1
  342. package/tools/vektor/registry/venues/list-registry-vektor-venues.mjs +1 -1
  343. package/tools/vektor/registry/venues/list-registry-vektor-venues.mjs.map +1 -1
  344. package/src/tools/connect/flux/create-connect-flux.ts +0 -105
  345. package/src/tools/connect/flux/delete-connect-flux.ts +0 -47
  346. package/src/tools/connect/flux/get-connect-flux.ts +0 -47
  347. package/src/tools/connect/flux/list-connect-flux.ts +0 -44
  348. package/tools/connect/flux/create-connect-flux.d.mts.map +0 -1
  349. package/tools/connect/flux/create-connect-flux.d.ts.map +0 -1
  350. package/tools/connect/flux/create-connect-flux.js.map +0 -1
  351. package/tools/connect/flux/create-connect-flux.mjs.map +0 -1
  352. package/tools/connect/flux/delete-connect-flux.d.mts.map +0 -1
  353. package/tools/connect/flux/delete-connect-flux.d.ts.map +0 -1
  354. package/tools/connect/flux/delete-connect-flux.js +0 -42
  355. package/tools/connect/flux/delete-connect-flux.js.map +0 -1
  356. package/tools/connect/flux/delete-connect-flux.mjs +0 -38
  357. package/tools/connect/flux/delete-connect-flux.mjs.map +0 -1
  358. package/tools/connect/flux/get-connect-flux.d.mts +0 -45
  359. package/tools/connect/flux/get-connect-flux.d.mts.map +0 -1
  360. package/tools/connect/flux/get-connect-flux.d.ts +0 -45
  361. package/tools/connect/flux/get-connect-flux.d.ts.map +0 -1
  362. package/tools/connect/flux/get-connect-flux.js +0 -42
  363. package/tools/connect/flux/get-connect-flux.js.map +0 -1
  364. package/tools/connect/flux/get-connect-flux.mjs +0 -38
  365. package/tools/connect/flux/get-connect-flux.mjs.map +0 -1
  366. package/tools/connect/flux/list-connect-flux.d.mts +0 -45
  367. package/tools/connect/flux/list-connect-flux.d.mts.map +0 -1
  368. package/tools/connect/flux/list-connect-flux.d.ts +0 -45
  369. package/tools/connect/flux/list-connect-flux.d.ts.map +0 -1
  370. package/tools/connect/flux/list-connect-flux.js +0 -39
  371. package/tools/connect/flux/list-connect-flux.js.map +0 -1
  372. package/tools/connect/flux/list-connect-flux.mjs +0 -35
  373. package/tools/connect/flux/list-connect-flux.mjs.map +0 -1
  374. package/tools/connect/flux/providers/list-flux-connect-providers.d.mts +0 -45
  375. package/tools/connect/flux/providers/list-flux-connect-providers.d.mts.map +0 -1
  376. package/tools/connect/flux/providers/list-flux-connect-providers.d.ts +0 -45
  377. package/tools/connect/flux/providers/list-flux-connect-providers.d.ts.map +0 -1
  378. package/tools/connect/flux/providers/list-flux-connect-providers.js.map +0 -1
  379. package/tools/connect/flux/providers/list-flux-connect-providers.mjs +0 -35
  380. package/tools/connect/flux/providers/list-flux-connect-providers.mjs.map +0 -1
  381. package/tools/connect/flux/update-connect-flux.d.mts +0 -45
  382. package/tools/connect/flux/update-connect-flux.d.mts.map +0 -1
  383. package/tools/connect/flux/update-connect-flux.d.ts +0 -45
  384. package/tools/connect/flux/update-connect-flux.d.ts.map +0 -1
  385. package/tools/connect/flux/update-connect-flux.js +0 -44
  386. package/tools/connect/flux/update-connect-flux.js.map +0 -1
  387. package/tools/connect/flux/update-connect-flux.mjs +0 -40
  388. package/tools/connect/flux/update-connect-flux.mjs.map +0 -1
@@ -0,0 +1,49 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from '@nirvana-labs/nirvana-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import NirvanaLabs from '@nirvana-labs/nirvana';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'networking.connect.connections',
11
+ operation: 'write',
12
+ tags: [],
13
+ httpMethod: 'delete',
14
+ httpPath: '/v1/networking/connect/connections/{connection_id}',
15
+ operationId: 'delete_connect_connection',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'delete_connect_networking_connections',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nDelete Connect Connection\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/operation',\n $defs: {\n operation: {\n type: 'object',\n description: 'Operation details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Operation.'\n },\n created_at: {\n type: 'string',\n description: 'When the Operation was created.',\n format: 'date-time'\n },\n kind: {\n $ref: '#/$defs/operation_kind'\n },\n resource_id: {\n type: 'string',\n description: 'ID of the resource that the Operation is acting on.'\n },\n status: {\n $ref: '#/$defs/operation_status'\n },\n type: {\n $ref: '#/$defs/operation_type'\n },\n updated_at: {\n type: 'string',\n description: 'When the Operation was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'kind',\n 'resource_id',\n 'status',\n 'type',\n 'updated_at'\n ]\n },\n operation_kind: {\n type: 'string',\n description: 'Kind of Operation.',\n enum: [ 'vm',\n 'volume',\n 'vpc',\n 'firewall_rule'\n ]\n },\n operation_status: {\n type: 'string',\n description: 'Status of the Operation.',\n enum: [ 'pending',\n 'running',\n 'done',\n 'failed',\n 'unknown'\n ]\n },\n operation_type: {\n type: 'string',\n description: 'Type of Operation.',\n enum: [ 'create',\n 'update',\n 'delete',\n 'restart'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ connection_id: {
26
+ type: 'string',
27
+ },
28
+ jq_filter: {
29
+ type: 'string',
30
+ title: 'jq Filter',
31
+ description:
32
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
+ },
34
+ },
35
+ required: ['connection_id'],
36
+ },
37
+ annotations: {
38
+ idempotentHint: true,
39
+ },
40
+ };
41
+
42
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
43
+ const { connection_id, jq_filter, ...body } = args as any;
44
+ return asTextContentResult(
45
+ await maybeFilter(jq_filter, await client.networking.connect.connections.delete(connection_id)),
46
+ );
47
+ };
48
+
49
+ export default { metadata, tool, handler };
@@ -0,0 +1,49 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from '@nirvana-labs/nirvana-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import NirvanaLabs from '@nirvana-labs/nirvana';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'networking.connect.connections',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/networking/connect/connections/{connection_id}',
15
+ operationId: 'get_connect_connection',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'get_connect_networking_connections',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet Connect Connection details\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/connect_connection',\n $defs: {\n connect_connection: {\n type: 'object',\n description: 'Connect Connection details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Connect Connection'\n },\n asn: {\n type: 'integer',\n description: 'ASN'\n },\n aws: {\n $ref: '#/$defs/connect_connection_aws_config'\n },\n bandwidth_mbps: {\n $ref: '#/$defs/connect_bandwidth_mbps'\n },\n cidrs: {\n type: 'array',\n description: 'CIDRs for the Connect Connection',\n items: {\n type: 'string'\n }\n },\n created_at: {\n type: 'string',\n description: 'When the Connect Connection was created',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Connect Connection'\n },\n provider_asn: {\n type: 'integer',\n description: 'Provider ASN'\n },\n provider_cidrs: {\n type: 'array',\n description: 'Provider CIDRs for the Connect Connection',\n items: {\n type: 'string'\n }\n },\n provider_router_ip: {\n type: 'string',\n description: 'Provider Router IP for the Connect Connection'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n router_ip: {\n type: 'string',\n description: 'Router IP'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the Connect Connection',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the Connect Connection was updated',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'asn',\n 'aws',\n 'bandwidth_mbps',\n 'cidrs',\n 'created_at',\n 'name',\n 'provider_asn',\n 'provider_cidrs',\n 'provider_router_ip',\n 'region',\n 'router_ip',\n 'status',\n 'tags',\n 'updated_at'\n ]\n },\n connect_connection_aws_config: {\n type: 'object',\n description: 'AWS provider configuration',\n properties: {\n region: {\n type: 'string',\n description: 'AWS region where the connection is established'\n }\n },\n required: [ 'region'\n ]\n },\n connect_bandwidth_mbps: {\n type: 'string',\n description: 'Connect Connection speed in Mbps',\n enum: [ 50,\n 200,\n 500,\n 1000,\n 2000\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ connection_id: {
26
+ type: 'string',
27
+ },
28
+ jq_filter: {
29
+ type: 'string',
30
+ title: 'jq Filter',
31
+ description:
32
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
33
+ },
34
+ },
35
+ required: ['connection_id'],
36
+ },
37
+ annotations: {
38
+ readOnlyHint: true,
39
+ },
40
+ };
41
+
42
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
43
+ const { connection_id, jq_filter, ...body } = args as any;
44
+ return asTextContentResult(
45
+ await maybeFilter(jq_filter, await client.networking.connect.connections.get(connection_id)),
46
+ );
47
+ };
48
+
49
+ export default { metadata, tool, handler };
@@ -0,0 +1,46 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from '@nirvana-labs/nirvana-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import NirvanaLabs from '@nirvana-labs/nirvana';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'networking.connect.connections',
11
+ operation: 'read',
12
+ tags: [],
13
+ httpMethod: 'get',
14
+ httpPath: '/v1/networking/connect/connections',
15
+ operationId: 'list_connect_connections',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'list_connect_networking_connections',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all Connect Connections\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/connect_connection_list',\n $defs: {\n connect_connection_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/connect_connection'\n }\n }\n },\n required: [ 'items'\n ]\n },\n connect_connection: {\n type: 'object',\n description: 'Connect Connection details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Connect Connection'\n },\n asn: {\n type: 'integer',\n description: 'ASN'\n },\n aws: {\n $ref: '#/$defs/connect_connection_aws_config'\n },\n bandwidth_mbps: {\n $ref: '#/$defs/connect_bandwidth_mbps'\n },\n cidrs: {\n type: 'array',\n description: 'CIDRs for the Connect Connection',\n items: {\n type: 'string'\n }\n },\n created_at: {\n type: 'string',\n description: 'When the Connect Connection was created',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Connect Connection'\n },\n provider_asn: {\n type: 'integer',\n description: 'Provider ASN'\n },\n provider_cidrs: {\n type: 'array',\n description: 'Provider CIDRs for the Connect Connection',\n items: {\n type: 'string'\n }\n },\n provider_router_ip: {\n type: 'string',\n description: 'Provider Router IP for the Connect Connection'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n router_ip: {\n type: 'string',\n description: 'Router IP'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the Connect Connection',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the Connect Connection was updated',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'asn',\n 'aws',\n 'bandwidth_mbps',\n 'cidrs',\n 'created_at',\n 'name',\n 'provider_asn',\n 'provider_cidrs',\n 'provider_router_ip',\n 'region',\n 'router_ip',\n 'status',\n 'tags',\n 'updated_at'\n ]\n },\n connect_connection_aws_config: {\n type: 'object',\n description: 'AWS provider configuration',\n properties: {\n region: {\n type: 'string',\n description: 'AWS region where the connection is established'\n }\n },\n required: [ 'region'\n ]\n },\n connect_bandwidth_mbps: {\n type: 'string',\n description: 'Connect Connection speed in Mbps',\n enum: [ 50,\n 200,\n 500,\n 1000,\n 2000\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ jq_filter: {
26
+ type: 'string',
27
+ title: 'jq Filter',
28
+ description:
29
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
30
+ },
31
+ },
32
+ required: [],
33
+ },
34
+ annotations: {
35
+ readOnlyHint: true,
36
+ },
37
+ };
38
+
39
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
40
+ const { jq_filter } = args as any;
41
+ return asTextContentResult(
42
+ await maybeFilter(jq_filter, await client.networking.connect.connections.list()),
43
+ );
44
+ };
45
+
46
+ export default { metadata, tool, handler };
@@ -0,0 +1,58 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from '@nirvana-labs/nirvana-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import NirvanaLabs from '@nirvana-labs/nirvana';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'networking.connect.connections',
11
+ operation: 'write',
12
+ tags: [],
13
+ httpMethod: 'patch',
14
+ httpPath: '/v1/networking/connect/connections/{connection_id}',
15
+ operationId: 'update_connect_connection',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'update_connect_networking_connections',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nUpdate Connect Connection details\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/operation',\n $defs: {\n operation: {\n type: 'object',\n description: 'Operation details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Operation.'\n },\n created_at: {\n type: 'string',\n description: 'When the Operation was created.',\n format: 'date-time'\n },\n kind: {\n $ref: '#/$defs/operation_kind'\n },\n resource_id: {\n type: 'string',\n description: 'ID of the resource that the Operation is acting on.'\n },\n status: {\n $ref: '#/$defs/operation_status'\n },\n type: {\n $ref: '#/$defs/operation_type'\n },\n updated_at: {\n type: 'string',\n description: 'When the Operation was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'kind',\n 'resource_id',\n 'status',\n 'type',\n 'updated_at'\n ]\n },\n operation_kind: {\n type: 'string',\n description: 'Kind of Operation.',\n enum: [ 'vm',\n 'volume',\n 'vpc',\n 'firewall_rule'\n ]\n },\n operation_status: {\n type: 'string',\n description: 'Status of the Operation.',\n enum: [ 'pending',\n 'running',\n 'done',\n 'failed',\n 'unknown'\n ]\n },\n operation_type: {\n type: 'string',\n description: 'Type of Operation.',\n enum: [ 'create',\n 'update',\n 'delete',\n 'restart'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ connection_id: {
26
+ type: 'string',
27
+ },
28
+ name: {
29
+ type: 'string',
30
+ description: 'Name of the Connect Connection.',
31
+ },
32
+ tags: {
33
+ type: 'array',
34
+ description: 'Tags to attach to the Connect Connection',
35
+ items: {
36
+ type: 'string',
37
+ },
38
+ },
39
+ jq_filter: {
40
+ type: 'string',
41
+ title: 'jq Filter',
42
+ description:
43
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
44
+ },
45
+ },
46
+ required: ['connection_id'],
47
+ },
48
+ annotations: {},
49
+ };
50
+
51
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
52
+ const { connection_id, jq_filter, ...body } = args as any;
53
+ return asTextContentResult(
54
+ await maybeFilter(jq_filter, await client.networking.connect.connections.update(connection_id, body)),
55
+ );
56
+ };
57
+
58
+ export default { metadata, tool, handler };
@@ -7,18 +7,18 @@ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
7
  import NirvanaLabs from '@nirvana-labs/nirvana';
8
8
 
9
9
  export const metadata: Metadata = {
10
- resource: 'connect.flux.providers',
10
+ resource: 'networking.connect.routes',
11
11
  operation: 'read',
12
12
  tags: [],
13
13
  httpMethod: 'get',
14
- httpPath: '/v1/connect/flux/providers',
15
- operationId: 'list_connect_flux_providers',
14
+ httpPath: '/v1/networking/connect/routes',
15
+ operationId: 'list_connect_routes',
16
16
  };
17
17
 
18
18
  export const tool: Tool = {
19
- name: 'list_flux_connect_providers',
19
+ name: 'list_connect_networking_routes',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all supported providers with regions for Connect Flux.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/flux_provider_list',\n $defs: {\n flux_provider_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/flux_provider'\n }\n }\n },\n required: [ 'items'\n ]\n },\n flux_provider: {\n type: 'object',\n description: 'Provider supported for Connect Flux.',\n properties: {\n name: {\n type: 'string',\n description: 'Provider name.'\n },\n region: {\n type: 'string',\n description: 'Provider region name.'\n }\n },\n required: [ 'name',\n 'region'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all supported routes with regions for Connect.\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/connect_route_list',\n $defs: {\n connect_route_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/connect_route'\n }\n }\n },\n required: [ 'items'\n ]\n },\n connect_route: {\n type: 'object',\n description: 'Routes supported for Connect.',\n properties: {\n nirvana_region: {\n $ref: '#/$defs/region_name'\n },\n provider: {\n type: 'string',\n description: 'Provider name.'\n },\n provider_region: {\n type: 'string',\n description: 'Provider region name.'\n }\n },\n required: [ 'nirvana_region',\n 'provider',\n 'provider_region'\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -38,7 +38,7 @@ export const tool: Tool = {
38
38
 
39
39
  export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
40
40
  const { jq_filter } = args as any;
41
- return asTextContentResult(await maybeFilter(jq_filter, await client.connect.flux.providers.list()));
41
+ return asTextContentResult(await maybeFilter(jq_filter, await client.networking.connect.routes.list()));
42
42
  };
43
43
 
44
44
  export default { metadata, tool, handler };
@@ -49,6 +49,13 @@ export const tool: Tool = {
49
49
  type: 'string',
50
50
  description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.',
51
51
  },
52
+ tags: {
53
+ type: 'array',
54
+ description: 'Tags to attach to the Firewall Rule.',
55
+ items: {
56
+ type: 'string',
57
+ },
58
+ },
52
59
  jq_filter: {
53
60
  type: 'string',
54
61
  title: 'jq Filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'get_networking_firewall_rules',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about a firewall rule\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/firewall_rule',\n $defs: {\n firewall_rule: {\n type: 'object',\n description: 'Firewall rule details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Firewall Rule.'\n },\n created_at: {\n type: 'string',\n description: 'When the Firewall Rule was created.',\n format: 'date-time'\n },\n destination_address: {\n type: 'string',\n description: 'Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.'\n },\n destination_ports: {\n type: 'array',\n description: 'Destination ports of the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the Firewall Rule.'\n },\n protocol: {\n type: 'string',\n description: 'Protocol of the Firewall Rule.',\n enum: [ 'tcp',\n 'udp'\n ]\n },\n source_address: {\n type: 'string',\n description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n updated_at: {\n type: 'string',\n description: 'When the Firewall Rule was updated.',\n format: 'date-time'\n },\n vpc_id: {\n type: 'string',\n description: 'ID of the VPC the Firewall Rule belongs to.'\n }\n },\n required: [ 'id',\n 'created_at',\n 'destination_address',\n 'destination_ports',\n 'name',\n 'protocol',\n 'source_address',\n 'status',\n 'updated_at',\n 'vpc_id'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about a firewall rule\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/firewall_rule',\n $defs: {\n firewall_rule: {\n type: 'object',\n description: 'Firewall rule details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Firewall Rule.'\n },\n created_at: {\n type: 'string',\n description: 'When the Firewall Rule was created.',\n format: 'date-time'\n },\n destination_address: {\n type: 'string',\n description: 'Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.'\n },\n destination_ports: {\n type: 'array',\n description: 'Destination ports of the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the Firewall Rule.'\n },\n protocol: {\n type: 'string',\n description: 'Protocol of the Firewall Rule.',\n enum: [ 'tcp',\n 'udp'\n ]\n },\n source_address: {\n type: 'string',\n description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the Firewall Rule was updated.',\n format: 'date-time'\n },\n vpc_id: {\n type: 'string',\n description: 'ID of the VPC the Firewall Rule belongs to.'\n }\n },\n required: [ 'id',\n 'created_at',\n 'destination_address',\n 'destination_ports',\n 'name',\n 'protocol',\n 'source_address',\n 'status',\n 'tags',\n 'updated_at',\n 'vpc_id'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_networking_firewall_rules',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all firewall rules\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/firewall_rule_list',\n $defs: {\n firewall_rule_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/firewall_rule'\n }\n }\n },\n required: [ 'items'\n ]\n },\n firewall_rule: {\n type: 'object',\n description: 'Firewall rule details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Firewall Rule.'\n },\n created_at: {\n type: 'string',\n description: 'When the Firewall Rule was created.',\n format: 'date-time'\n },\n destination_address: {\n type: 'string',\n description: 'Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.'\n },\n destination_ports: {\n type: 'array',\n description: 'Destination ports of the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the Firewall Rule.'\n },\n protocol: {\n type: 'string',\n description: 'Protocol of the Firewall Rule.',\n enum: [ 'tcp',\n 'udp'\n ]\n },\n source_address: {\n type: 'string',\n description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n updated_at: {\n type: 'string',\n description: 'When the Firewall Rule was updated.',\n format: 'date-time'\n },\n vpc_id: {\n type: 'string',\n description: 'ID of the VPC the Firewall Rule belongs to.'\n }\n },\n required: [ 'id',\n 'created_at',\n 'destination_address',\n 'destination_ports',\n 'name',\n 'protocol',\n 'source_address',\n 'status',\n 'updated_at',\n 'vpc_id'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all firewall rules\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/firewall_rule_list',\n $defs: {\n firewall_rule_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/firewall_rule'\n }\n }\n },\n required: [ 'items'\n ]\n },\n firewall_rule: {\n type: 'object',\n description: 'Firewall rule details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Firewall Rule.'\n },\n created_at: {\n type: 'string',\n description: 'When the Firewall Rule was created.',\n format: 'date-time'\n },\n destination_address: {\n type: 'string',\n description: 'Destination address of the Firewall Rule. Either VPC CIDR or VM in VPC.'\n },\n destination_ports: {\n type: 'array',\n description: 'Destination ports of the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the Firewall Rule.'\n },\n protocol: {\n type: 'string',\n description: 'Protocol of the Firewall Rule.',\n enum: [ 'tcp',\n 'udp'\n ]\n },\n source_address: {\n type: 'string',\n description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the Firewall Rule.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the Firewall Rule was updated.',\n format: 'date-time'\n },\n vpc_id: {\n type: 'string',\n description: 'ID of the VPC the Firewall Rule belongs to.'\n }\n },\n required: [ 'id',\n 'created_at',\n 'destination_address',\n 'destination_ports',\n 'name',\n 'protocol',\n 'source_address',\n 'status',\n 'tags',\n 'updated_at',\n 'vpc_id'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -52,6 +52,13 @@ export const tool: Tool = {
52
52
  type: 'string',
53
53
  description: 'Source address of the Firewall Rule. Address of 0.0.0.0 requires a CIDR mask of 0.',
54
54
  },
55
+ tags: {
56
+ type: 'array',
57
+ description: 'Tags to attach to the Firewall Rule.',
58
+ items: {
59
+ type: 'string',
60
+ },
61
+ },
55
62
  jq_filter: {
56
63
  type: 'string',
57
64
  title: 'jq Filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'create_vpcs_networking_availability',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCheck if a VPC can be created\n\n# Response Schema\n```json\n{\n type: 'string'\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCheck if a VPC can be created\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/availability_create_response',\n $defs: {\n availability_create_response: {\n type: 'string'\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -33,6 +33,13 @@ export const tool: Tool = {
33
33
  type: 'string',
34
34
  description: 'Name of the subnet to create.',
35
35
  },
36
+ tags: {
37
+ type: 'array',
38
+ description: 'Tags to attach to the VPC.',
39
+ items: {
40
+ type: 'string',
41
+ },
42
+ },
36
43
  jq_filter: {
37
44
  type: 'string',
38
45
  title: 'jq Filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'update_vpcs_networking_availability',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCheck if a VPC can be updated\n\n# Response Schema\n```json\n{\n type: 'string'\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCheck if a VPC can be updated\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/availability_update_response',\n $defs: {\n availability_update_response: {\n type: 'string'\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -33,6 +33,13 @@ export const tool: Tool = {
33
33
  type: 'string',
34
34
  description: 'Name of the subnet to create.',
35
35
  },
36
+ tags: {
37
+ type: 'array',
38
+ description: 'Tags to attach to the VPC.',
39
+ items: {
40
+ type: 'string',
41
+ },
42
+ },
36
43
  jq_filter: {
37
44
  type: 'string',
38
45
  title: 'jq Filter',
@@ -33,6 +33,13 @@ export const tool: Tool = {
33
33
  type: 'string',
34
34
  description: 'Name of the subnet to create.',
35
35
  },
36
+ tags: {
37
+ type: 'array',
38
+ description: 'Tags to attach to the VPC.',
39
+ items: {
40
+ type: 'string',
41
+ },
42
+ },
36
43
  jq_filter: {
37
44
  type: 'string',
38
45
  title: 'jq Filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'get_networking_vpcs',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about a VPC\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/vpc',\n $defs: {\n vpc: {\n type: 'object',\n description: 'VPC details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the VPC.'\n },\n created_at: {\n type: 'string',\n description: 'When the VPC was created.',\n format: 'date-time'\n },\n firewall_rule_ids: {\n type: 'array',\n description: 'IDs of the Firewall Rules associated with the VPC.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the VPC.'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n subnet: {\n $ref: '#/$defs/subnet'\n },\n updated_at: {\n type: 'string',\n description: 'When the VPC was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'firewall_rule_ids',\n 'name',\n 'region',\n 'status',\n 'subnet',\n 'updated_at'\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n },\n subnet: {\n type: 'object',\n description: 'Subnet of the VPC.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Subnet.'\n },\n cidr: {\n type: 'string',\n description: 'CIDR block for the Subnet.'\n },\n created_at: {\n type: 'string',\n description: 'When the Subnet was created.',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Subnet.'\n },\n updated_at: {\n type: 'string',\n description: 'When the Subnet was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'cidr',\n 'created_at',\n 'name',\n 'updated_at'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about a VPC\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/vpc',\n $defs: {\n vpc: {\n type: 'object',\n description: 'VPC details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the VPC.'\n },\n created_at: {\n type: 'string',\n description: 'When the VPC was created.',\n format: 'date-time'\n },\n firewall_rule_ids: {\n type: 'array',\n description: 'IDs of the Firewall Rules associated with the VPC.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the VPC.'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n subnet: {\n $ref: '#/$defs/subnet'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the VPC.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the VPC was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'firewall_rule_ids',\n 'name',\n 'region',\n 'status',\n 'subnet',\n 'tags',\n 'updated_at'\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n },\n subnet: {\n type: 'object',\n description: 'Subnet of the VPC.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Subnet.'\n },\n cidr: {\n type: 'string',\n description: 'CIDR block for the Subnet.'\n },\n created_at: {\n type: 'string',\n description: 'When the Subnet was created.',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Subnet.'\n },\n updated_at: {\n type: 'string',\n description: 'When the Subnet was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'cidr',\n 'created_at',\n 'name',\n 'updated_at'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_networking_vpcs',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all VPCs\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/vpc_list',\n $defs: {\n vpc_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/vpc'\n }\n }\n },\n required: [ 'items'\n ]\n },\n vpc: {\n type: 'object',\n description: 'VPC details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the VPC.'\n },\n created_at: {\n type: 'string',\n description: 'When the VPC was created.',\n format: 'date-time'\n },\n firewall_rule_ids: {\n type: 'array',\n description: 'IDs of the Firewall Rules associated with the VPC.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the VPC.'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n subnet: {\n $ref: '#/$defs/subnet'\n },\n updated_at: {\n type: 'string',\n description: 'When the VPC was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'firewall_rule_ids',\n 'name',\n 'region',\n 'status',\n 'subnet',\n 'updated_at'\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n },\n subnet: {\n type: 'object',\n description: 'Subnet of the VPC.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Subnet.'\n },\n cidr: {\n type: 'string',\n description: 'CIDR block for the Subnet.'\n },\n created_at: {\n type: 'string',\n description: 'When the Subnet was created.',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Subnet.'\n },\n updated_at: {\n type: 'string',\n description: 'When the Subnet was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'cidr',\n 'created_at',\n 'name',\n 'updated_at'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all VPCs\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/vpc_list',\n $defs: {\n vpc_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/vpc'\n }\n }\n },\n required: [ 'items'\n ]\n },\n vpc: {\n type: 'object',\n description: 'VPC details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the VPC.'\n },\n created_at: {\n type: 'string',\n description: 'When the VPC was created.',\n format: 'date-time'\n },\n firewall_rule_ids: {\n type: 'array',\n description: 'IDs of the Firewall Rules associated with the VPC.',\n items: {\n type: 'string'\n }\n },\n name: {\n type: 'string',\n description: 'Name of the VPC.'\n },\n region: {\n $ref: '#/$defs/region_name'\n },\n status: {\n $ref: '#/$defs/resource_status'\n },\n subnet: {\n $ref: '#/$defs/subnet'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the VPC.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the VPC was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'created_at',\n 'firewall_rule_ids',\n 'name',\n 'region',\n 'status',\n 'subnet',\n 'tags',\n 'updated_at'\n ]\n },\n region_name: {\n type: 'string',\n description: 'Region the resource is in.',\n enum: [ 'us-sea-1',\n 'us-sva-1',\n 'us-chi-1',\n 'us-wdc-1',\n 'eu-frk-1',\n 'ap-sin-1',\n 'ap-seo-1',\n 'ap-tyo-1'\n ]\n },\n resource_status: {\n type: 'string',\n description: 'Status of the resource.',\n enum: [ 'pending',\n 'creating',\n 'updating',\n 'ready',\n 'deleting',\n 'deleted',\n 'error'\n ]\n },\n subnet: {\n type: 'object',\n description: 'Subnet of the VPC.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the Subnet.'\n },\n cidr: {\n type: 'string',\n description: 'CIDR block for the Subnet.'\n },\n created_at: {\n type: 'string',\n description: 'When the Subnet was created.',\n format: 'date-time'\n },\n name: {\n type: 'string',\n description: 'Name of the Subnet.'\n },\n updated_at: {\n type: 'string',\n description: 'When the Subnet was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'cidr',\n 'created_at',\n 'name',\n 'updated_at'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -33,6 +33,13 @@ export const tool: Tool = {
33
33
  type: 'string',
34
34
  description: 'Name of the subnet to create.',
35
35
  },
36
+ tags: {
37
+ type: 'array',
38
+ description: 'Tags to attach to the VPC.',
39
+ items: {
40
+ type: 'string',
41
+ },
42
+ },
36
43
  jq_filter: {
37
44
  type: 'string',
38
45
  title: 'jq Filter',
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'get_rpc_nodes_dedicated',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about an RPC Node Dedicated\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/dedicated',\n $defs: {\n dedicated: {\n type: 'object',\n description: 'RPC Node Dedicated details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the RPC Node Dedicated.'\n },\n blockchain: {\n type: 'string',\n description: 'Blockchain type.'\n },\n created_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was created.',\n format: 'date-time'\n },\n endpoint: {\n type: 'string',\n description: 'RPC endpoint URL.'\n },\n name: {\n type: 'string',\n description: 'Name of the RPC Node Dedicated.'\n },\n network: {\n type: 'string',\n description: 'Network type (e.g., mainnet, testnet).'\n },\n updated_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'blockchain',\n 'created_at',\n 'endpoint',\n 'name',\n 'network',\n 'updated_at'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nGet details about an RPC Node Dedicated\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/dedicated',\n $defs: {\n dedicated: {\n type: 'object',\n description: 'RPC Node Dedicated details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the RPC Node Dedicated.'\n },\n blockchain: {\n type: 'string',\n description: 'Blockchain type.'\n },\n created_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was created.',\n format: 'date-time'\n },\n endpoint: {\n type: 'string',\n description: 'RPC endpoint URL.'\n },\n name: {\n type: 'string',\n description: 'Name of the RPC Node Dedicated.'\n },\n network: {\n type: 'string',\n description: 'Network type (e.g., mainnet, testnet).'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the RPC Node Dedicated.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'blockchain',\n 'created_at',\n 'endpoint',\n 'name',\n 'network',\n 'tags',\n 'updated_at'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -18,7 +18,7 @@ export const metadata: Metadata = {
18
18
  export const tool: Tool = {
19
19
  name: 'list_rpc_nodes_dedicated',
20
20
  description:
21
- "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all RPC Node Dedicated you created\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/dedicated_list',\n $defs: {\n dedicated_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/dedicated'\n }\n }\n },\n required: [ 'items'\n ]\n },\n dedicated: {\n type: 'object',\n description: 'RPC Node Dedicated details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the RPC Node Dedicated.'\n },\n blockchain: {\n type: 'string',\n description: 'Blockchain type.'\n },\n created_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was created.',\n format: 'date-time'\n },\n endpoint: {\n type: 'string',\n description: 'RPC endpoint URL.'\n },\n name: {\n type: 'string',\n description: 'Name of the RPC Node Dedicated.'\n },\n network: {\n type: 'string',\n description: 'Network type (e.g., mainnet, testnet).'\n },\n updated_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'blockchain',\n 'created_at',\n 'endpoint',\n 'name',\n 'network',\n 'updated_at'\n ]\n }\n }\n}\n```",
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nList all RPC Node Dedicated you created\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/dedicated_list',\n $defs: {\n dedicated_list: {\n type: 'object',\n properties: {\n items: {\n type: 'array',\n items: {\n $ref: '#/$defs/dedicated'\n }\n }\n },\n required: [ 'items'\n ]\n },\n dedicated: {\n type: 'object',\n description: 'RPC Node Dedicated details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the RPC Node Dedicated.'\n },\n blockchain: {\n type: 'string',\n description: 'Blockchain type.'\n },\n created_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was created.',\n format: 'date-time'\n },\n endpoint: {\n type: 'string',\n description: 'RPC endpoint URL.'\n },\n name: {\n type: 'string',\n description: 'Name of the RPC Node Dedicated.'\n },\n network: {\n type: 'string',\n description: 'Network type (e.g., mainnet, testnet).'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the RPC Node Dedicated.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the RPC Node Dedicated was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'blockchain',\n 'created_at',\n 'endpoint',\n 'name',\n 'network',\n 'tags',\n 'updated_at'\n ]\n }\n }\n}\n```",
22
22
  inputSchema: {
23
23
  type: 'object',
24
24
  properties: {
@@ -0,0 +1,61 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { maybeFilter } from '@nirvana-labs/nirvana-mcp/filtering';
4
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
5
+
6
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
7
+ import NirvanaLabs from '@nirvana-labs/nirvana';
8
+
9
+ export const metadata: Metadata = {
10
+ resource: 'rpc_nodes.flex',
11
+ operation: 'write',
12
+ tags: [],
13
+ httpMethod: 'post',
14
+ httpPath: '/v1/rpc_nodes/flex',
15
+ operationId: 'create_rpc_nodes_flex',
16
+ };
17
+
18
+ export const tool: Tool = {
19
+ name: 'create_rpc_nodes_flex',
20
+ description:
21
+ "When using this tool, always use the `jq_filter` parameter to reduce the response size and improve performance.\n\nOnly omit if you're sure you don't need the data.\n\nCreate a new RPC Node Flex\n\n# Response Schema\n```json\n{\n $ref: '#/$defs/flex',\n $defs: {\n flex: {\n type: 'object',\n description: 'RPC Node Flex details.',\n properties: {\n id: {\n type: 'string',\n description: 'Unique identifier for the RPC Node Flex.'\n },\n blockchain: {\n type: 'string',\n description: 'Blockchain type.'\n },\n created_at: {\n type: 'string',\n description: 'When the RPC Node Flex was created.',\n format: 'date-time'\n },\n endpoint: {\n type: 'string',\n description: 'RPC endpoint URL.'\n },\n name: {\n type: 'string',\n description: 'Name of the RPC Node Flex.'\n },\n network: {\n type: 'string',\n description: 'Network type (e.g., mainnet, testnet).'\n },\n tags: {\n type: 'array',\n description: 'Tags to attach to the RPC Node Flex.',\n items: {\n type: 'string'\n }\n },\n updated_at: {\n type: 'string',\n description: 'When the RPC Node Flex was updated.',\n format: 'date-time'\n }\n },\n required: [ 'id',\n 'blockchain',\n 'created_at',\n 'endpoint',\n 'name',\n 'network',\n 'tags',\n 'updated_at'\n ]\n }\n }\n}\n```",
22
+ inputSchema: {
23
+ type: 'object',
24
+ properties: {
25
+ blockchain: {
26
+ type: 'string',
27
+ description: 'Blockchain.',
28
+ },
29
+ name: {
30
+ type: 'string',
31
+ description: 'Name of the RPC Node Flex.',
32
+ },
33
+ network: {
34
+ type: 'string',
35
+ description: 'Network type (e.g., mainnet, testnet).',
36
+ },
37
+ tags: {
38
+ type: 'array',
39
+ description: 'Tags to attach to the RPC Node Flex (optional, max 50).',
40
+ items: {
41
+ type: 'string',
42
+ },
43
+ },
44
+ jq_filter: {
45
+ type: 'string',
46
+ title: 'jq Filter',
47
+ description:
48
+ 'A jq filter to apply to the response to include certain fields. Consult the output schema in the tool description to see the fields that are available.\n\nFor example: to include only the `name` field in every object of a results array, you can provide ".results[].name".\n\nFor more information, see the [jq documentation](https://jqlang.org/manual/).',
49
+ },
50
+ },
51
+ required: ['blockchain', 'name', 'network'],
52
+ },
53
+ annotations: {},
54
+ };
55
+
56
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
57
+ const { jq_filter, ...body } = args as any;
58
+ return asTextContentResult(await maybeFilter(jq_filter, await client.rpcNodes.flex.create(body)));
59
+ };
60
+
61
+ export default { metadata, tool, handler };
@@ -0,0 +1,40 @@
1
+ // File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
2
+
3
+ import { Metadata, asTextContentResult } from '@nirvana-labs/nirvana-mcp/tools/types';
4
+
5
+ import { Tool } from '@modelcontextprotocol/sdk/types.js';
6
+ import NirvanaLabs from '@nirvana-labs/nirvana';
7
+
8
+ export const metadata: Metadata = {
9
+ resource: 'rpc_nodes.flex',
10
+ operation: 'write',
11
+ tags: [],
12
+ httpMethod: 'delete',
13
+ httpPath: '/v1/rpc_nodes/flex/{node_id}',
14
+ operationId: 'delete_rpc_nodes_flex',
15
+ };
16
+
17
+ export const tool: Tool = {
18
+ name: 'delete_rpc_nodes_flex',
19
+ description: 'Delete an RPC Node Flex',
20
+ inputSchema: {
21
+ type: 'object',
22
+ properties: {
23
+ node_id: {
24
+ type: 'string',
25
+ },
26
+ },
27
+ required: ['node_id'],
28
+ },
29
+ annotations: {
30
+ idempotentHint: true,
31
+ },
32
+ };
33
+
34
+ export const handler = async (client: NirvanaLabs, args: Record<string, unknown> | undefined) => {
35
+ const { node_id, ...body } = args as any;
36
+ const response = await client.rpcNodes.flex.delete(node_id).asResponse();
37
+ return asTextContentResult(await response.text());
38
+ };
39
+
40
+ export default { metadata, tool, handler };