@mcp-use/inspector 0.3.11 → 0.4.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 (494) hide show
  1. package/README.md +14 -14
  2. package/dist/cli/inspect.js +5 -5
  3. package/dist/client/assets/1c-WsOzQ5QG.js +1 -0
  4. package/dist/client/assets/abap-eNJ4cns0.js +1 -0
  5. package/dist/client/assets/abnf-B09it79e.js +1 -0
  6. package/dist/client/assets/abnf-Dhw-_3Au.js +1 -0
  7. package/dist/client/assets/accesslog-BQNlr4L3.js +1 -0
  8. package/dist/client/assets/actionscript-BU7VyNHB.js +1 -0
  9. package/dist/client/assets/actionscript-CDpGiHsr.js +1 -0
  10. package/dist/client/assets/ada-DyIluoyB.js +1 -0
  11. package/dist/client/assets/ada-kmRBpM0o.js +1 -0
  12. package/dist/client/assets/agda-wZn2hkSQ.js +1 -0
  13. package/dist/client/assets/al-sqA_6ngh.js +1 -0
  14. package/dist/client/assets/angelscript-BkRXjg7C.js +1 -0
  15. package/dist/client/assets/antlr4-CH0lXeSJ.js +1 -0
  16. package/dist/client/assets/apache-Col5F861.js +1 -0
  17. package/dist/client/assets/apacheconf-DaoW_4jR.js +1 -0
  18. package/dist/client/assets/apex-B0OVJx_G.js +1 -0
  19. package/dist/client/assets/apl-Bk59yQ1M.js +1 -0
  20. package/dist/client/assets/applescript-WsaGogVV.js +1 -0
  21. package/dist/client/assets/applescript-iid3b9WL.js +1 -0
  22. package/dist/client/assets/aql-DzDCRD6n.js +1 -0
  23. package/dist/client/assets/arcade-Bb3FyIsE.js +1 -0
  24. package/dist/client/assets/arduino-BdmmaEKT.js +1 -0
  25. package/dist/client/assets/arduino-BhQ2JylK.js +1 -0
  26. package/dist/client/assets/arff-B_LQw-Vp.js +1 -0
  27. package/dist/client/assets/armasm-DRgL1CKU.js +1 -0
  28. package/dist/client/assets/asciidoc-BljM7GWW.js +1 -0
  29. package/dist/client/assets/asciidoc-DJSscdfS.js +1 -0
  30. package/dist/client/assets/asm6502-CyAk6q9W.js +1 -0
  31. package/dist/client/assets/asmatmel-DeHYd0Yf.js +1 -0
  32. package/dist/client/assets/aspectj-CGhFqeoi.js +1 -0
  33. package/dist/client/assets/aspnet-VWzKc0M2.js +1 -0
  34. package/dist/client/assets/autohotkey-BOOImBe3.js +1 -0
  35. package/dist/client/assets/autohotkey-DAjlJeJ3.js +1 -0
  36. package/dist/client/assets/autoit-CTnl18OE.js +1 -0
  37. package/dist/client/assets/autoit-iNgf-qte.js +1 -0
  38. package/dist/client/assets/avisynth-D-qj_6D6.js +1 -0
  39. package/dist/client/assets/avrasm-CjxyJVCB.js +1 -0
  40. package/dist/client/assets/avro-idl-duzasG0A.js +1 -0
  41. package/dist/client/assets/awk-DlG89Nf-.js +1 -0
  42. package/dist/client/assets/axapta-Cv-DrU39.js +1 -0
  43. package/dist/client/assets/bash-B3DCOCv9.js +1 -0
  44. package/dist/client/assets/bash-CRxRCavT.js +1 -0
  45. package/dist/client/assets/basic-Cg9ulqUz.js +1 -0
  46. package/dist/client/assets/basic-eo2PT_bO.js +1 -0
  47. package/dist/client/assets/batch-B3vHs0JZ.js +1 -0
  48. package/dist/client/assets/bbcode-p_BeM9Bf.js +1 -0
  49. package/dist/client/assets/bicep-DP3decfu.js +1 -0
  50. package/dist/client/assets/birb-C7SZcrDB.js +1 -0
  51. package/dist/client/assets/bison-DUCoVUPq.js +1 -0
  52. package/dist/client/assets/bnf-Ch9_Vkqf.js +1 -0
  53. package/dist/client/assets/bnf-DBmsanfU.js +1 -0
  54. package/dist/client/assets/brainfuck-BWQl9iaD.js +1 -0
  55. package/dist/client/assets/brainfuck-Dmy6hI53.js +1 -0
  56. package/dist/client/assets/brightscript-BQyruCjM.js +1 -0
  57. package/dist/client/assets/bro-DFFb3vHi.js +1 -0
  58. package/dist/client/assets/bsl-D7OKQFfv.js +1 -0
  59. package/dist/client/assets/c-DFcelcFD.js +1 -0
  60. package/dist/client/assets/c-like-Dx76IIM0.js +1 -0
  61. package/dist/client/assets/c-skbClcj9.js +1 -0
  62. package/dist/client/assets/cal-w43YvX8I.js +1 -0
  63. package/dist/client/assets/capnproto-HDPXQ9y8.js +1 -0
  64. package/dist/client/assets/ceylon-BFxQZstC.js +1 -0
  65. package/dist/client/assets/cfscript-eQhbXf8s.js +1 -0
  66. package/dist/client/assets/chaiscript-BJFk_2Rk.js +1 -0
  67. package/dist/client/assets/cil-CVcA7jhT.js +1 -0
  68. package/dist/client/assets/clean-BGKmCXLN.js +1 -0
  69. package/dist/client/assets/clike-6W2jij2e.js +1 -0
  70. package/dist/client/assets/clojure-BOB6Sa2l.js +1 -0
  71. package/dist/client/assets/clojure-ClM21TB6.js +1 -0
  72. package/dist/client/assets/clojure-repl-Dp-GdB9n.js +1 -0
  73. package/dist/client/assets/cmake-BGlyDw0D.js +1 -0
  74. package/dist/client/assets/cmake-CHgvicsA.js +1 -0
  75. package/dist/client/assets/cobol-CndzHMHU.js +1 -0
  76. package/dist/client/assets/coffeescript-B-Km_Zyu.js +1 -0
  77. package/dist/client/assets/coffeescript-CxUnpkyh.js +1 -0
  78. package/dist/client/assets/concurnas-B-5g3Z-h.js +1 -0
  79. package/dist/client/assets/coq-B5Vki46y.js +1 -0
  80. package/dist/client/assets/coq-D2ao1Wsn.js +1 -0
  81. package/dist/client/assets/cos-DncVnTzF.js +1 -0
  82. package/dist/client/assets/cpp-BQpHK-YB.js +1 -0
  83. package/dist/client/assets/cpp-DyAOU9S3.js +1 -0
  84. package/dist/client/assets/crmsh-BEJnZro1.js +1 -0
  85. package/dist/client/assets/crystal-CWPKL8Oc.js +1 -0
  86. package/dist/client/assets/crystal-DE0d5Jc5.js +1 -0
  87. package/dist/client/assets/csharp-B56O329j.js +1 -0
  88. package/dist/client/assets/csharp-B7hoNS6M.js +1 -0
  89. package/dist/client/assets/cshtml-CKWTgJ8z.js +1 -0
  90. package/dist/client/assets/csp-BuSM6-l1.js +1 -0
  91. package/dist/client/assets/csp-DlHtrT8f.js +1 -0
  92. package/dist/client/assets/css-CaAuIamW.js +1 -0
  93. package/dist/client/assets/css-Dg1kktBa.js +1 -0
  94. package/dist/client/assets/css-extras-ycGoBj5C.js +1 -0
  95. package/dist/client/assets/csv-B4vQrQ7R.js +1 -0
  96. package/dist/client/assets/cypher-qXii1ceR.js +1 -0
  97. package/dist/client/assets/d-B5f_d0Zw.js +1 -0
  98. package/dist/client/assets/d-CIbYVvpp.js +1 -0
  99. package/dist/client/assets/dart-7WDFKRKG.js +1 -0
  100. package/dist/client/assets/dart-DkRgPjW5.js +1 -0
  101. package/dist/client/assets/dataweave-CWxLpQR0.js +1 -0
  102. package/dist/client/assets/dax-DRZ4j5ts.js +1 -0
  103. package/dist/client/assets/delphi-BMc7fiXa.js +1 -0
  104. package/dist/client/assets/dhall-CxNsurP_.js +1 -0
  105. package/dist/client/assets/diff-B3WwpTtw.js +1 -0
  106. package/dist/client/assets/diff-NhnVmdZe.js +1 -0
  107. package/dist/client/assets/django-DTf6sZiB.js +1 -0
  108. package/dist/client/assets/django-GD8efZno.js +1 -0
  109. package/dist/client/assets/dns-BDSJ1Yic.js +1 -0
  110. package/dist/client/assets/dns-zone-file-DLYggzrc.js +1 -0
  111. package/dist/client/assets/docker-CFOQ-Ps2.js +1 -0
  112. package/dist/client/assets/dockerfile-BxAVtSLM.js +1 -0
  113. package/dist/client/assets/dos-DWCEAyLR.js +1 -0
  114. package/dist/client/assets/dot-BCj1F9GK.js +1 -0
  115. package/dist/client/assets/dsconfig-OvNHPr-7.js +1 -0
  116. package/dist/client/assets/dts-Mx4haKE9.js +1 -0
  117. package/dist/client/assets/dust-B8XwXHRl.js +1 -0
  118. package/dist/client/assets/ebnf-6NkaUver.js +1 -0
  119. package/dist/client/assets/ebnf-_hEeSvD7.js +1 -0
  120. package/dist/client/assets/editorconfig-U0NVTmjJ.js +1 -0
  121. package/dist/client/assets/eiffel-RHcnvKyL.js +1 -0
  122. package/dist/client/assets/ejs-CJC6nhpC.js +1 -0
  123. package/dist/client/assets/elixir-D8MFm7o-.js +1 -0
  124. package/dist/client/assets/elixir-KCa6jO6q.js +1 -0
  125. package/dist/client/assets/elm-BG86_V_c.js +1 -0
  126. package/dist/client/assets/elm-DIbi2gis.js +1 -0
  127. package/dist/client/assets/erb-B-XEqPt-.js +1 -0
  128. package/dist/client/assets/erb-lrmqHEGj.js +1 -0
  129. package/dist/client/assets/erlang-B-GXUk2R.js +1 -0
  130. package/dist/client/assets/erlang-CYTlvDds.js +1 -0
  131. package/dist/client/assets/erlang-repl-B-f-Fpuj.js +1 -0
  132. package/dist/client/assets/etlua-yHk_2SlW.js +1 -0
  133. package/dist/client/assets/excel-C3W4rgev.js +1 -0
  134. package/dist/client/assets/excel-formula-Bbv7ukGD.js +1 -0
  135. package/dist/client/assets/factor-D7HpIy0B.js +1 -0
  136. package/dist/client/assets/false-fvYTRn8U.js +1 -0
  137. package/dist/client/assets/firestore-security-rules-D1VyJ9XZ.js +1 -0
  138. package/dist/client/assets/fix-_7LB8W1u.js +1 -0
  139. package/dist/client/assets/flix-uyLO66Px.js +1 -0
  140. package/dist/client/assets/flow-8QlqSG7v.js +1 -0
  141. package/dist/client/assets/fortran-C1cCTXAS.js +1 -0
  142. package/dist/client/assets/fortran-UjtdCQ8j.js +1 -0
  143. package/dist/client/assets/fsharp-CkSm4dWf.js +1 -0
  144. package/dist/client/assets/fsharp-jPS9mWZs.js +1 -0
  145. package/dist/client/assets/ftl-CMA7vgMi.js +1 -0
  146. package/dist/client/assets/gams-Bno6cfUY.js +1 -0
  147. package/dist/client/assets/gap-BdofZq7Z.js +1 -0
  148. package/dist/client/assets/gauss-CY6ksiPq.js +1 -0
  149. package/dist/client/assets/gcode-DXd_4y_x.js +1 -0
  150. package/dist/client/assets/gcode-P2ab3ISn.js +1 -0
  151. package/dist/client/assets/gdscript-DVp4Wm5J.js +1 -0
  152. package/dist/client/assets/gedcom-WQngbq4z.js +1 -0
  153. package/dist/client/assets/gherkin-C79w7vsl.js +1 -0
  154. package/dist/client/assets/gherkin-CkqoobCE.js +1 -0
  155. package/dist/client/assets/git-nGRfMJE_.js +1 -0
  156. package/dist/client/assets/glsl-BIlfY066.js +1 -0
  157. package/dist/client/assets/glsl-QJ9TDajD.js +1 -0
  158. package/dist/client/assets/gml-B18HKgHp.js +1 -0
  159. package/dist/client/assets/gml-CcdSSyi2.js +1 -0
  160. package/dist/client/assets/gn-Ce-JG_k4.js +1 -0
  161. package/dist/client/assets/go-B7z-qwT9.js +1 -0
  162. package/dist/client/assets/go-DgTZQNXX.js +1 -0
  163. package/dist/client/assets/go-module-D61O0UG-.js +1 -0
  164. package/dist/client/assets/golo-8lgHpiYt.js +1 -0
  165. package/dist/client/assets/gradle--S8bImrC.js +1 -0
  166. package/dist/client/assets/graphql-BpAVaArc.js +1 -0
  167. package/dist/client/assets/groovy-2ZDgXtWE.js +1 -0
  168. package/dist/client/assets/groovy-CIHxiHwm.js +1 -0
  169. package/dist/client/assets/haml-D7IyUI9J.js +1 -0
  170. package/dist/client/assets/haml-D9mBExg0.js +1 -0
  171. package/dist/client/assets/handlebars-Bf-Nj7fH.js +1 -0
  172. package/dist/client/assets/handlebars-Dz_ozqxW.js +1 -0
  173. package/dist/client/assets/haskell-C2dVE6B8.js +1 -0
  174. package/dist/client/assets/haskell-D0C92P_q.js +1 -0
  175. package/dist/client/assets/haxe-DNV4GVk_.js +1 -0
  176. package/dist/client/assets/haxe-DhSUru2L.js +1 -0
  177. package/dist/client/assets/hcl-Czrw4w2R.js +1 -0
  178. package/dist/client/assets/hlsl-BuG83eDX.js +1 -0
  179. package/dist/client/assets/hoon-Dy65LjmQ.js +1 -0
  180. package/dist/client/assets/hpkp-CdXYY5br.js +1 -0
  181. package/dist/client/assets/hsp-DqcX6bY6.js +1 -0
  182. package/dist/client/assets/hsts-CMochynq.js +1 -0
  183. package/dist/client/assets/htmlbars-BKQRfsh0.js +1 -0
  184. package/dist/client/assets/http-CbEkNLgR.js +1 -0
  185. package/dist/client/assets/http-DvvX4Chx.js +1 -0
  186. package/dist/client/assets/hy-DdwEaCW3.js +1 -0
  187. package/dist/client/assets/ichigojam-B7vGOD-w.js +1 -0
  188. package/dist/client/assets/icon-vNaslq6q.js +1 -0
  189. package/dist/client/assets/icu-message-format-BCspY5NZ.js +1 -0
  190. package/dist/client/assets/idris-sJErHb0e.js +1 -0
  191. package/dist/client/assets/iecst-BWE9gDQ2.js +1 -0
  192. package/dist/client/assets/ignore-8k-xtP7t.js +1 -0
  193. package/dist/client/assets/index-DUKovJSo.css +1 -0
  194. package/dist/client/assets/index-D_W4SIZ1.js +1751 -0
  195. package/dist/client/assets/inform7-B16hyzGj.js +1 -0
  196. package/dist/client/assets/inform7-BXJ20nzm.js +1 -0
  197. package/dist/client/assets/ini-BVAX6qBE.js +1 -0
  198. package/dist/client/assets/ini-xH9UP_73.js +1 -0
  199. package/dist/client/assets/io-CPkgNquv.js +1 -0
  200. package/dist/client/assets/irpf90-BNjK3ajd.js +1 -0
  201. package/dist/client/assets/isbl-DaNep9vT.js +1 -0
  202. package/dist/client/assets/j-CjFP7B3N.js +1 -0
  203. package/dist/client/assets/java-BPFeAcPj.js +1 -0
  204. package/dist/client/assets/java-BgFwUmt8.js +1 -0
  205. package/dist/client/assets/javadoc-iZXXmWnc.js +1 -0
  206. package/dist/client/assets/javadoclike-3qZCt4xU.js +1 -0
  207. package/dist/client/assets/javascript-CSPvVXMQ.js +1 -0
  208. package/dist/client/assets/javascript-lYCqC2Nk.js +1 -0
  209. package/dist/client/assets/javastacktrace-Cjo2M7qi.js +1 -0
  210. package/dist/client/assets/jboss-cli-CZN2Ko-T.js +1 -0
  211. package/dist/client/assets/jexl-BZRY6xrN.js +1 -0
  212. package/dist/client/assets/jolie-CO23VJfk.js +1 -0
  213. package/dist/client/assets/jq-DbTsR8gy.js +1 -0
  214. package/dist/client/assets/js-extras-fWpjncmh.js +1 -0
  215. package/dist/client/assets/js-templates-ChRznAi4.js +1 -0
  216. package/dist/client/assets/jsdoc-DJE-GeLD.js +1 -0
  217. package/dist/client/assets/json-0GcFYnM9.js +1 -0
  218. package/dist/client/assets/json-DT2-VGfH.js +1 -0
  219. package/dist/client/assets/json5-SmCOXLIb.js +1 -0
  220. package/dist/client/assets/jsonp-BWKNk_jR.js +1 -0
  221. package/dist/client/assets/jsstacktrace-CWyRerDG.js +1 -0
  222. package/dist/client/assets/jsx-B3oRGUpI.js +1 -0
  223. package/dist/client/assets/julia-BvsFT5W7.js +1 -0
  224. package/dist/client/assets/julia-LpQ9i-gN.js +1 -0
  225. package/dist/client/assets/julia-repl-CeIeKdSq.js +1 -0
  226. package/dist/client/assets/keepalived-wgal98zv.js +1 -0
  227. package/dist/client/assets/keyman-wkCmZ8bB.js +1 -0
  228. package/dist/client/assets/kotlin-Bn7xM3-e.js +1 -0
  229. package/dist/client/assets/kotlin-wQJJZ997.js +1 -0
  230. package/dist/client/assets/kumir-BoRIFhwK.js +1 -0
  231. package/dist/client/assets/kusto-CavM2FgQ.js +1 -0
  232. package/dist/client/assets/lasso-CMY6gpX8.js +1 -0
  233. package/dist/client/assets/latex-BuNE4TNI.js +1 -0
  234. package/dist/client/assets/latex-DSVhcgZI.js +1 -0
  235. package/dist/client/assets/latte-0U9mpUoI.js +1 -0
  236. package/dist/client/assets/ldif-V6lr8lg5.js +1 -0
  237. package/dist/client/assets/leaf-DQWHxLf6.js +1 -0
  238. package/dist/client/assets/less-BA5wyIbs.js +1 -0
  239. package/dist/client/assets/less-D6Tg9Bq7.js +1 -0
  240. package/dist/client/assets/lilypond-By4ODpdM.js +1 -0
  241. package/dist/client/assets/liquid-CQUX5AlA.js +1 -0
  242. package/dist/client/assets/lisp-DwNoPXM3.js +1 -0
  243. package/dist/client/assets/lisp-DyBDZYvB.js +1 -0
  244. package/dist/client/assets/livecodeserver--uLBtyaa.js +1 -0
  245. package/dist/client/assets/livescript-BiIlo_Un.js +1 -0
  246. package/dist/client/assets/livescript-D3ErF6IS.js +1 -0
  247. package/dist/client/assets/llvm-DICPgvDr.js +1 -0
  248. package/dist/client/assets/llvm-UJ2L_B47.js +1 -0
  249. package/dist/client/assets/log-DVtwg4yw.js +1 -0
  250. package/dist/client/assets/lolcode-CVYkyYEs.js +1 -0
  251. package/dist/client/assets/lsl-8z7A-smd.js +1 -0
  252. package/dist/client/assets/lua-DmhKm0tN.js +1 -0
  253. package/dist/client/assets/lua-ixVMh70V.js +1 -0
  254. package/dist/client/assets/magma-D0Uikwr7.js +1 -0
  255. package/dist/client/assets/makefile-BMK9IwOz.js +1 -0
  256. package/dist/client/assets/makefile-BYAHJ5PN.js +1 -0
  257. package/dist/client/assets/markdown-BOwCpSa7.js +1 -0
  258. package/dist/client/assets/markdown-yszZcSSz.js +1 -0
  259. package/dist/client/assets/markup-f_sQLGLE.js +1 -0
  260. package/dist/client/assets/markup-templating-Be90kvKC.js +1 -0
  261. package/dist/client/assets/mathematica-BCy_f802.js +1 -0
  262. package/dist/client/assets/matlab-BNZwo7gr.js +1 -0
  263. package/dist/client/assets/matlab-DebG_XFh.js +1 -0
  264. package/dist/client/assets/maxima-owb3mW-6.js +1 -0
  265. package/dist/client/assets/maxscript-44Py8Nn-.js +1 -0
  266. package/dist/client/assets/mel-DpZ_mtqy.js +1 -0
  267. package/dist/client/assets/mel-uDKWIY_M.js +1 -0
  268. package/dist/client/assets/mercury-D-YvkEzg.js +1 -0
  269. package/dist/client/assets/mermaid-CyZiamXj.js +1 -0
  270. package/dist/client/assets/mipsasm-M99-C6l4.js +1 -0
  271. package/dist/client/assets/mizar-BEVVCXmy.js +1 -0
  272. package/dist/client/assets/mizar-BHMAua-b.js +1 -0
  273. package/dist/client/assets/mojolicious-CoP-6EzA.js +1 -0
  274. package/dist/client/assets/mongodb-nWZAa_JL.js +1 -0
  275. package/dist/client/assets/monkey-WJwVDIIF.js +1 -0
  276. package/dist/client/assets/monkey-Y8xIXHfR.js +1 -0
  277. package/dist/client/assets/moonscript-B5h9cLTk.js +1 -0
  278. package/dist/client/assets/moonscript-R9iec899.js +1 -0
  279. package/dist/client/assets/n1ql-B1f-aeKO.js +1 -0
  280. package/dist/client/assets/n1ql-DxvQ2D9L.js +1 -0
  281. package/dist/client/assets/n4js-BZQiVrF_.js +1 -0
  282. package/dist/client/assets/nand2tetris-hdl-B9upTF-4.js +1 -0
  283. package/dist/client/assets/naniscript-Bcr3ub5b.js +1 -0
  284. package/dist/client/assets/nasm-jp0o9jFX.js +1 -0
  285. package/dist/client/assets/neon-DAMIZPjZ.js +1 -0
  286. package/dist/client/assets/nevod-DasuphJW.js +1 -0
  287. package/dist/client/assets/nginx-BCB8KwuN.js +1 -0
  288. package/dist/client/assets/nginx-Zk12s1No.js +1 -0
  289. package/dist/client/assets/nim-CghMzOjm.js +1 -0
  290. package/dist/client/assets/nim-DLU5UDad.js +1 -0
  291. package/dist/client/assets/nix-8bUFiYHS.js +1 -0
  292. package/dist/client/assets/nix-Bka53IL_.js +1 -0
  293. package/dist/client/assets/node-repl-COMclDbO.js +1 -0
  294. package/dist/client/assets/nsis-DIq0pIM0.js +1 -0
  295. package/dist/client/assets/nsis-K6t4h8dj.js +1 -0
  296. package/dist/client/assets/objectivec-COrXir0C.js +1 -0
  297. package/dist/client/assets/objectivec-eWe9gpOz.js +1 -0
  298. package/dist/client/assets/ocaml-CUuT85fz.js +1 -0
  299. package/dist/client/assets/ocaml-D-q9KCTF.js +1 -0
  300. package/dist/client/assets/opencl-D2FxE6Ew.js +1 -0
  301. package/dist/client/assets/openqasm-B-2ZFi0L.js +1 -0
  302. package/dist/client/assets/openscad-BqrA3uR6.js +1 -0
  303. package/dist/client/assets/oxygene-BsBJq0sz.js +1 -0
  304. package/dist/client/assets/oz-DrMaJJb8.js +1 -0
  305. package/dist/client/assets/parigp-BsTsjdYT.js +1 -0
  306. package/dist/client/assets/parser-BwwfScq1.js +1 -0
  307. package/dist/client/assets/parser3-DxhhGPZ1.js +1 -0
  308. package/dist/client/assets/pascal-B4UH0_fp.js +1 -0
  309. package/dist/client/assets/pascaligo-Dw4xcVPJ.js +1 -0
  310. package/dist/client/assets/pcaxis-BXe_chnN.js +1 -0
  311. package/dist/client/assets/peoplecode-Ctf33Qw9.js +1 -0
  312. package/dist/client/assets/perl-DQFBML-j.js +1 -0
  313. package/dist/client/assets/perl-j_vbqFFC.js +1 -0
  314. package/dist/client/assets/pf-BXzFQjtA.js +1 -0
  315. package/dist/client/assets/pgsql-s_d_UFio.js +1 -0
  316. package/dist/client/assets/php-D3o7h5oR.js +1 -0
  317. package/dist/client/assets/php-DAgYBns-.js +1 -0
  318. package/dist/client/assets/php-extras-Dbva9Yma.js +1 -0
  319. package/dist/client/assets/php-template-B0yVqMaF.js +1 -0
  320. package/dist/client/assets/phpdoc-B2NsyxKV.js +1 -0
  321. package/dist/client/assets/plaintext-DVWABYOz.js +1 -0
  322. package/dist/client/assets/plsql-BD-R0lLU.js +1 -0
  323. package/dist/client/assets/pony-y5jjjin8.js +1 -0
  324. package/dist/client/assets/powerquery-pXzq2dCb.js +1 -0
  325. package/dist/client/assets/powershell-CVVG9rBr.js +1 -0
  326. package/dist/client/assets/powershell-CboIROF8.js +1 -0
  327. package/dist/client/assets/processing-BIRx4jru.js +1 -0
  328. package/dist/client/assets/processing-BMrXUgue.js +1 -0
  329. package/dist/client/assets/profile-BFKzizYr.js +1 -0
  330. package/dist/client/assets/prolog-Bwgee-FZ.js +1 -0
  331. package/dist/client/assets/prolog-Cx_SJiaN.js +1 -0
  332. package/dist/client/assets/promql-BGB2lbjF.js +1 -0
  333. package/dist/client/assets/properties-Bqc5Z-m3.js +1 -0
  334. package/dist/client/assets/properties-C-S2Ox-y.js +1 -0
  335. package/dist/client/assets/protobuf-C4Zv_GgU.js +1 -0
  336. package/dist/client/assets/protobuf-ClCb2ndG.js +1 -0
  337. package/dist/client/assets/psl-BG6yRb7Z.js +1 -0
  338. package/dist/client/assets/pug-BoZkhONu.js +1 -0
  339. package/dist/client/assets/puppet-By7sCH7o.js +1 -0
  340. package/dist/client/assets/puppet-CNS1MBBt.js +1 -0
  341. package/dist/client/assets/pure-BGIcQon2.js +1 -0
  342. package/dist/client/assets/purebasic-BkmXQMqp.js +1 -0
  343. package/dist/client/assets/purebasic-CUSaesbz.js +1 -0
  344. package/dist/client/assets/purescript-Cf3gXBd9.js +1 -0
  345. package/dist/client/assets/python-53PSxC01.js +1 -0
  346. package/dist/client/assets/python-repl-VH8yl2Y3.js +1 -0
  347. package/dist/client/assets/python-rx2QxX5W.js +1 -0
  348. package/dist/client/assets/q-Cx5ec217.js +1 -0
  349. package/dist/client/assets/q-Cy-rOlfu.js +1 -0
  350. package/dist/client/assets/qml-96Z-IMLD.js +1 -0
  351. package/dist/client/assets/qml-C1d_hGEA.js +1 -0
  352. package/dist/client/assets/qore-CD0ZdClO.js +1 -0
  353. package/dist/client/assets/qsharp-Ch9TW5zn.js +1 -0
  354. package/dist/client/assets/r-CgMoeppa.js +1 -0
  355. package/dist/client/assets/r-ws8Y9aAE.js +1 -0
  356. package/dist/client/assets/racket-BHTQb-OZ.js +1 -0
  357. package/dist/client/assets/reason-BB6YBZ6n.js +1 -0
  358. package/dist/client/assets/reasonml-BdVAKsba.js +1 -0
  359. package/dist/client/assets/regex-DySuc6Ty.js +1 -0
  360. package/dist/client/assets/rego-BP5yyxde.js +1 -0
  361. package/dist/client/assets/renpy-CT93zN0M.js +1 -0
  362. package/dist/client/assets/rest-CpcjCvLP.js +1 -0
  363. package/dist/client/assets/rib-o7RNXzf1.js +1 -0
  364. package/dist/client/assets/rip-DFqlQJ3m.js +1 -0
  365. package/dist/client/assets/roboconf-BeU4pS2I.js +1 -0
  366. package/dist/client/assets/roboconf-DaDMkU2g.js +1 -0
  367. package/dist/client/assets/robotframework-zYNPwxtp.js +1 -0
  368. package/dist/client/assets/routeros-JdEhE8u-.js +1 -0
  369. package/dist/client/assets/rsl-CyKe2Mcu.js +1 -0
  370. package/dist/client/assets/ruby-BhcsnnBj.js +1 -0
  371. package/dist/client/assets/ruby-Bu9F--bU.js +1 -0
  372. package/dist/client/assets/ruleslanguage-BBI8Fd2G.js +1 -0
  373. package/dist/client/assets/rust-B-cWlXx-.js +1 -0
  374. package/dist/client/assets/rust-CSgRFrK4.js +1 -0
  375. package/dist/client/assets/sas-CAR3OPHS.js +1 -0
  376. package/dist/client/assets/sas-wXtoJC8n.js +1 -0
  377. package/dist/client/assets/sass-CtMN6_zl.js +1 -0
  378. package/dist/client/assets/scala-Bqob3nkq.js +1 -0
  379. package/dist/client/assets/scala-CYtYXEN4.js +1 -0
  380. package/dist/client/assets/scheme-D_MglBNx.js +1 -0
  381. package/dist/client/assets/scheme-QCvDWqz_.js +1 -0
  382. package/dist/client/assets/scilab-R_zgDb1d.js +1 -0
  383. package/dist/client/assets/scss-BkONDYOr.js +1 -0
  384. package/dist/client/assets/scss-CuWsh-xJ.js +1 -0
  385. package/dist/client/assets/shell-BLX9GAfB.js +1 -0
  386. package/dist/client/assets/shell-session-DOrwx6k-.js +1 -0
  387. package/dist/client/assets/smali-B9S9uyhA.js +1 -0
  388. package/dist/client/assets/smali-DM8R0o6V.js +1 -0
  389. package/dist/client/assets/smalltalk-CJPPkoud.js +1 -0
  390. package/dist/client/assets/smalltalk-D2job_ol.js +1 -0
  391. package/dist/client/assets/smarty-Cs5jDzSO.js +1 -0
  392. package/dist/client/assets/sml-Cp0iM-tK.js +1 -0
  393. package/dist/client/assets/sml-Cujau-8J.js +1 -0
  394. package/dist/client/assets/solidity-DJMFqK1X.js +1 -0
  395. package/dist/client/assets/solution-file-BYs4TSFO.js +1 -0
  396. package/dist/client/assets/soy-35ktyckn.js +1 -0
  397. package/dist/client/assets/sparql-BPyObXRP.js +1 -0
  398. package/dist/client/assets/splunk-spl-BA-XgRdw.js +1 -0
  399. package/dist/client/assets/sqf-DyOUayB5.js +1 -0
  400. package/dist/client/assets/sqf-FWP9BRyk.js +1 -0
  401. package/dist/client/assets/sql-31oVV2vX.js +1 -0
  402. package/dist/client/assets/sql-DP8LIa8p.js +1 -0
  403. package/dist/client/assets/sql_more-DMzpKNaV.js +1 -0
  404. package/dist/client/assets/squirrel-pvHUf4A1.js +1 -0
  405. package/dist/client/assets/stan-DztrYjXT.js +1 -0
  406. package/dist/client/assets/stan-Tkxk6zPi.js +1 -0
  407. package/dist/client/assets/stata-Buu52w0R.js +1 -0
  408. package/dist/client/assets/step21-BHa8iIri.js +1 -0
  409. package/dist/client/assets/stylus-B_yQLSvQ.js +1 -0
  410. package/dist/client/assets/stylus-D_IK40A6.js +1 -0
  411. package/dist/client/assets/subunit-BItVMKQJ.js +1 -0
  412. package/dist/client/assets/swift-D-D3z2eZ.js +1 -0
  413. package/dist/client/assets/swift-IPVVcxfZ.js +1 -0
  414. package/dist/client/assets/systemd-D3pyCGq0.js +1 -0
  415. package/dist/client/assets/t4-cs-CPCQDqxz.js +1 -0
  416. package/dist/client/assets/t4-templating-BoMgAHfI.js +1 -0
  417. package/dist/client/assets/t4-vb-DzsQtqZd.js +1 -0
  418. package/dist/client/assets/taggerscript-DJI1AcJB.js +1 -0
  419. package/dist/client/assets/tap-CrQMz3TX.js +1 -0
  420. package/dist/client/assets/tap-YzBce0aH.js +1 -0
  421. package/dist/client/assets/tcl-6COceXMM.js +1 -0
  422. package/dist/client/assets/tcl-9pmhx8xs.js +1 -0
  423. package/dist/client/assets/textile-Bs4NeN9V.js +1 -0
  424. package/dist/client/assets/thrift-DVHDuqgG.js +1 -0
  425. package/dist/client/assets/toml-CfO2QRvO.js +1 -0
  426. package/dist/client/assets/tp-BXXM_Hi-.js +1 -0
  427. package/dist/client/assets/tremor-BQFI82Bk.js +1 -0
  428. package/dist/client/assets/tsx-CljFqUZv.js +1 -0
  429. package/dist/client/assets/tt2-sh805AB6.js +1 -0
  430. package/dist/client/assets/turtle-BLhgp9RY.js +1 -0
  431. package/dist/client/assets/twig-Cl9_RlS5.js +1 -0
  432. package/dist/client/assets/twig-Dd6AiuZX.js +1 -0
  433. package/dist/client/assets/typescript-Btx_Ea37.js +1 -0
  434. package/dist/client/assets/typescript-BwozOaGI.js +1 -0
  435. package/dist/client/assets/typoscript-tNhyKnnc.js +1 -0
  436. package/dist/client/assets/unrealscript-DMWZl5Un.js +1 -0
  437. package/dist/client/assets/uorazor-BoMYW2ty.js +1 -0
  438. package/dist/client/assets/uri-B4n7dnSH.js +1 -0
  439. package/dist/client/assets/v-CvPi9k1Y.js +1 -0
  440. package/dist/client/assets/vala-CMvMQ0lf.js +1 -0
  441. package/dist/client/assets/vala-D6R_uZnM.js +1 -0
  442. package/dist/client/assets/vbnet-C8IpMyyC.js +1 -0
  443. package/dist/client/assets/vbnet-DQNkhXCZ.js +1 -0
  444. package/dist/client/assets/vbscript-Bx7LeUt7.js +1 -0
  445. package/dist/client/assets/vbscript-html-BIdrY9ea.js +1 -0
  446. package/dist/client/assets/velocity-Dz83s0_5.js +1 -0
  447. package/dist/client/assets/verilog-B024njA5.js +1 -0
  448. package/dist/client/assets/verilog-BTfck2KO.js +1 -0
  449. package/dist/client/assets/vhdl-BsIed8Fv.js +1 -0
  450. package/dist/client/assets/vhdl-CiCeNLnO.js +1 -0
  451. package/dist/client/assets/vim-3eiyCUYQ.js +1 -0
  452. package/dist/client/assets/vim-CH-AP3Hs.js +1 -0
  453. package/dist/client/assets/visual-basic-fUzw-5Sh.js +1 -0
  454. package/dist/client/assets/warpscript-Dgr4ervx.js +1 -0
  455. package/dist/client/assets/wasm-C80_9Bkw.js +1 -0
  456. package/dist/client/assets/web-idl-g0wozsEK.js +1 -0
  457. package/dist/client/assets/wiki-1v-RMRVi.js +1 -0
  458. package/dist/client/assets/wolfram-qjK7vzDW.js +1 -0
  459. package/dist/client/assets/wren-CPPiuRka.js +1 -0
  460. package/dist/client/assets/x86asm-CvHzNj1O.js +1 -0
  461. package/dist/client/assets/xeora-pS7p-ds0.js +1 -0
  462. package/dist/client/assets/xl-CbwdOhod.js +1 -0
  463. package/dist/client/assets/xml-Qsmeqy_H.js +1 -0
  464. package/dist/client/assets/xml-doc-BQfJ-2-9.js +1 -0
  465. package/dist/client/assets/xojo-Dnd0I4s4.js +1 -0
  466. package/dist/client/assets/xquery-B_qSuKgJ.js +1 -0
  467. package/dist/client/assets/xquery-CoQPruF5.js +1 -0
  468. package/dist/client/assets/yaml-9_vKs2NM.js +1 -0
  469. package/dist/client/assets/yaml-Bz4NEvif.js +1 -0
  470. package/dist/client/assets/yang-CTr8AIzZ.js +1 -0
  471. package/dist/client/assets/zephir-C_Fx0B9c.js +1 -0
  472. package/dist/client/assets/zig-DfFty3i0.js +1 -0
  473. package/dist/client/favicon-black.svg +8 -0
  474. package/dist/client/favicon-white.svg +8 -0
  475. package/dist/client/index.html +10 -7
  476. package/dist/client/providers/anthropic.png +0 -0
  477. package/dist/client/providers/google.png +0 -0
  478. package/dist/client/providers/openai.png +0 -0
  479. package/dist/server/{chunk-KT6SE3BW.js → chunk-DZLUQXCL.js} +113 -0
  480. package/dist/server/{chunk-2CGL7VW4.js → chunk-HKRF4Q4G.js} +21 -2
  481. package/dist/server/index.js +2 -2
  482. package/dist/server/middleware.d.ts.map +1 -1
  483. package/dist/server/middleware.js +2 -2
  484. package/dist/server/server.d.ts.map +1 -1
  485. package/dist/server/server.js +62 -22
  486. package/dist/server/shared-utils.d.ts +46 -5
  487. package/dist/server/shared-utils.d.ts.map +1 -1
  488. package/dist/server/shared-utils.js +5 -3
  489. package/package.json +5 -2
  490. package/dist/cli/cli/inspect.js +0 -262
  491. package/dist/cli/inspect.cjs +0 -372
  492. package/dist/cli/server/mcp-inspector.js +0 -121
  493. package/dist/client/assets/index-CObt6NY0.css +0 -1
  494. package/dist/client/assets/index-DQ8tBoAm.js +0 -1681
@@ -1,262 +0,0 @@
1
- #!/usr/bin/env node
2
- import { serve } from '@hono/node-server';
3
- import { Hono } from 'hono';
4
- import { cors } from 'hono/cors';
5
- import { logger } from 'hono/logger';
6
- import { existsSync } from 'node:fs';
7
- import { join, dirname } from 'node:path';
8
- import { fileURLToPath } from 'node:url';
9
- import { exec } from 'node:child_process';
10
- import { promisify } from 'node:util';
11
- import { MCPInspector } from '../server/mcp-inspector.js';
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = dirname(__filename);
14
- const execAsync = promisify(exec);
15
- // Find available port starting from 8080
16
- async function findAvailablePort(startPort = 8080) {
17
- const net = await import('node:net');
18
- for (let port = startPort; port < startPort + 100; port++) {
19
- try {
20
- await new Promise((resolve, reject) => {
21
- const server = net.createServer();
22
- server.listen(port, () => {
23
- server.close(() => resolve());
24
- });
25
- server.on('error', () => reject(new Error(`Port ${port} is in use`)));
26
- });
27
- return port;
28
- }
29
- catch {
30
- continue;
31
- }
32
- }
33
- throw new Error(`No available port found starting from ${startPort}`);
34
- }
35
- // Parse command line arguments
36
- const args = process.argv.slice(2);
37
- let mcpUrl;
38
- let startPort = 8080;
39
- for (let i = 0; i < args.length; i++) {
40
- if (args[i] === '--url' && i + 1 < args.length) {
41
- mcpUrl = args[i + 1];
42
- i++;
43
- }
44
- else if (args[i] === '--port' && i + 1 < args.length) {
45
- startPort = parseInt(args[i + 1], 10);
46
- i++;
47
- }
48
- else if (args[i] === '--help' || args[i] === '-h') {
49
- console.log(`
50
- MCP Inspector - Inspect and debug MCP servers
51
-
52
- Usage:
53
- npx @mcp-use/inspect [options]
54
-
55
- Options:
56
- --url <url> MCP server URL to auto-connect to (e.g., http://localhost:3000/mcp)
57
- --port <port> Starting port to try (default: 8080, will find next available)
58
- --help, -h Show this help message
59
-
60
- Examples:
61
- # Run inspector with auto-connect
62
- npx @mcp-use/inspect --url http://localhost:3000/mcp
63
-
64
- # Run starting from custom port
65
- npx @mcp-use/inspect --url http://localhost:3000/mcp --port 9000
66
-
67
- # Run without auto-connect
68
- npx @mcp-use/inspect
69
- `);
70
- process.exit(0);
71
- }
72
- }
73
- const app = new Hono();
74
- // Middleware
75
- app.use('*', cors());
76
- app.use('*', logger());
77
- // Health check
78
- app.get('/health', (c) => {
79
- return c.json({ status: 'ok', timestamp: new Date().toISOString() });
80
- });
81
- // MCP Inspector routes
82
- const mcpInspector = new MCPInspector();
83
- // List available MCP servers
84
- app.get('/api/servers', async (c) => {
85
- try {
86
- const servers = await mcpInspector.listServers();
87
- return c.json({ servers });
88
- }
89
- catch {
90
- return c.json({ error: 'Failed to list servers' }, 500);
91
- }
92
- });
93
- // Connect to an MCP server
94
- app.post('/api/servers/connect', async (c) => {
95
- try {
96
- const { url, command } = await c.req.json();
97
- const server = await mcpInspector.connectToServer(url, command);
98
- return c.json({ server });
99
- }
100
- catch {
101
- return c.json({ error: 'Failed to connect to server' }, 500);
102
- }
103
- });
104
- // Get server details
105
- app.get('/api/servers/:id', async (c) => {
106
- try {
107
- const id = c.req.param('id');
108
- const server = await mcpInspector.getServer(id);
109
- if (!server) {
110
- return c.json({ error: 'Server not found' }, 404);
111
- }
112
- return c.json({ server });
113
- }
114
- catch {
115
- return c.json({ error: 'Failed to get server details' }, 500);
116
- }
117
- });
118
- // Execute a tool on a server
119
- app.post('/api/servers/:id/tools/:toolName/execute', async (c) => {
120
- try {
121
- const id = c.req.param('id');
122
- const toolName = c.req.param('toolName');
123
- const input = await c.req.json();
124
- const result = await mcpInspector.executeTool(id, toolName, input);
125
- return c.json({ result });
126
- }
127
- catch {
128
- return c.json({ error: 'Failed to execute tool' }, 500);
129
- }
130
- });
131
- // Get server tools
132
- app.get('/api/servers/:id/tools', async (c) => {
133
- try {
134
- const id = c.req.param('id');
135
- const tools = await mcpInspector.getServerTools(id);
136
- return c.json({ tools });
137
- }
138
- catch {
139
- return c.json({ error: 'Failed to get server tools' }, 500);
140
- }
141
- });
142
- // Get server resources
143
- app.get('/api/servers/:id/resources', async (c) => {
144
- try {
145
- const id = c.req.param('id');
146
- const resources = await mcpInspector.getServerResources(id);
147
- return c.json({ resources });
148
- }
149
- catch {
150
- return c.json({ error: 'Failed to get server resources' }, 500);
151
- }
152
- });
153
- // Disconnect from a server
154
- app.delete('/api/servers/:id', async (c) => {
155
- try {
156
- const id = c.req.param('id');
157
- await mcpInspector.disconnectServer(id);
158
- return c.json({ success: true });
159
- }
160
- catch {
161
- return c.json({ error: 'Failed to disconnect server' }, 500);
162
- }
163
- });
164
- // Serve static assets from the built client
165
- const clientDistPath = join(__dirname, '../../dist/client');
166
- if (existsSync(clientDistPath)) {
167
- // Serve static assets from /inspector/assets/* (matching Vite's base path)
168
- app.get('/inspector/assets/*', async (c) => {
169
- const path = c.req.path.replace('/inspector/assets/', 'assets/');
170
- const fullPath = join(clientDistPath, path);
171
- if (existsSync(fullPath)) {
172
- const content = await import('node:fs').then(fs => fs.readFileSync(fullPath));
173
- // Set appropriate content type based on file extension
174
- if (path.endsWith('.js')) {
175
- c.header('Content-Type', 'application/javascript');
176
- }
177
- else if (path.endsWith('.css')) {
178
- c.header('Content-Type', 'text/css');
179
- }
180
- else if (path.endsWith('.svg')) {
181
- c.header('Content-Type', 'image/svg+xml');
182
- }
183
- return c.body(content);
184
- }
185
- return c.notFound();
186
- });
187
- // Redirect root path to /inspector
188
- app.get('/', (c) => {
189
- return c.redirect('/inspector');
190
- });
191
- // Serve the main HTML file for /inspector and all other routes (SPA routing)
192
- app.get('*', (c) => {
193
- const indexPath = join(clientDistPath, 'index.html');
194
- if (existsSync(indexPath)) {
195
- const content = import('node:fs').then(fs => fs.readFileSync(indexPath, 'utf-8'));
196
- return c.html(content);
197
- }
198
- return c.html(`
199
- <!DOCTYPE html>
200
- <html>
201
- <head>
202
- <title>MCP Inspector</title>
203
- </head>
204
- <body>
205
- <h1>MCP Inspector</h1>
206
- <p>Client files not found. Please run 'yarn build' to build the UI.</p>
207
- <p>API is available at <a href="/api/servers">/api/servers</a></p>
208
- </body>
209
- </html>
210
- `);
211
- });
212
- }
213
- else {
214
- console.warn(`⚠️ MCP Inspector client files not found at ${clientDistPath}`);
215
- console.warn(` Run 'yarn build' in the inspector package to build the UI`);
216
- // Fallback for when client is not built
217
- app.get('*', (c) => {
218
- return c.html(`
219
- <!DOCTYPE html>
220
- <html>
221
- <head>
222
- <title>MCP Inspector</title>
223
- </head>
224
- <body>
225
- <h1>MCP Inspector</h1>
226
- <p>Client files not found. Please run 'yarn build' to build the UI.</p>
227
- <p>API is available at <a href="/api/servers">/api/servers</a></p>
228
- </body>
229
- </html>
230
- `);
231
- });
232
- }
233
- // Start the server with automatic port selection
234
- async function startServer() {
235
- try {
236
- const port = await findAvailablePort(startPort);
237
- serve({
238
- fetch: app.fetch,
239
- port,
240
- });
241
- console.log(`🚀 MCP Inspector running on http://localhost:${port}`);
242
- if (mcpUrl) {
243
- console.log(`📡 Auto-connecting to: ${mcpUrl}`);
244
- }
245
- // Auto-open browser
246
- try {
247
- const command = process.platform === 'win32' ? 'start' : process.platform === 'darwin' ? 'open' : 'xdg-open';
248
- await execAsync(`${command} http://localhost:${port}`);
249
- console.log(`🌐 Browser opened automatically`);
250
- }
251
- catch (error) {
252
- console.log(`🌐 Please open http://localhost:${port} in your browser`);
253
- }
254
- return { port, fetch: app.fetch };
255
- }
256
- catch (error) {
257
- console.error('Failed to start server:', error);
258
- process.exit(1);
259
- }
260
- }
261
- // Start the server
262
- startServer();
@@ -1,372 +0,0 @@
1
- #!/usr/bin/env node
2
- "use strict";
3
- var __create = Object.create;
4
- var __defProp = Object.defineProperty;
5
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
- var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getProtoOf = Object.getPrototypeOf;
8
- var __hasOwnProp = Object.prototype.hasOwnProperty;
9
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
- var __copyProps = (to, from, except, desc) => {
11
- if (from && typeof from === "object" || typeof from === "function") {
12
- for (let key of __getOwnPropNames(from))
13
- if (!__hasOwnProp.call(to, key) && key !== except)
14
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
- }
16
- return to;
17
- };
18
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
19
- // If the importer is in node compatibility mode or this is not an ESM
20
- // file that has been converted to a CommonJS file using a Babel-
21
- // compatible transform (i.e. "__esModule" has not been set), then set
22
- // "default" to the CommonJS "module.exports" for node compatibility.
23
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
24
- mod
25
- ));
26
- var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
27
-
28
- // src/cli/inspect.ts
29
- var import_node_server = require("@hono/node-server");
30
- var import_hono = require("hono");
31
- var import_cors = require("hono/cors");
32
- var import_logger = require("hono/logger");
33
- var import_node_fs = require("fs");
34
- var import_node_path = require("path");
35
- var import_node_url = require("url");
36
- var import_node_child_process = require("child_process");
37
- var import_node_util = require("util");
38
-
39
- // src/server/mcp-inspector.ts
40
- var import_mcp_use = require("mcp-use");
41
- var MCPInspector = class {
42
- constructor() {
43
- __publicField(this, "servers", /* @__PURE__ */ new Map());
44
- __publicField(this, "client");
45
- this.client = new import_mcp_use.MCPClient();
46
- }
47
- async listServers() {
48
- return Array.from(this.servers.values());
49
- }
50
- async connectToServer(url, command) {
51
- const id = Date.now().toString();
52
- const name = url || command || "Unknown Server";
53
- try {
54
- const serverName = `server_${id}`;
55
- const serverConfig = url ? { url } : { command };
56
- this.client.addServer(serverName, serverConfig);
57
- const session = await this.client.createSession(serverName, true);
58
- const tools = [
59
- {
60
- name: "get_weather",
61
- description: "Get current weather for a location",
62
- inputSchema: {
63
- type: "object",
64
- properties: {
65
- location: { type: "string", description: "City name" }
66
- },
67
- required: ["location"]
68
- }
69
- }
70
- ];
71
- const resources = [
72
- {
73
- uri: "file:///home/user/documents",
74
- name: "Documents",
75
- description: "User documents directory",
76
- mimeType: "application/x-directory"
77
- }
78
- ];
79
- const server = {
80
- id,
81
- name,
82
- url,
83
- command,
84
- status: "connected",
85
- session,
86
- tools,
87
- resources,
88
- lastActivity: /* @__PURE__ */ new Date()
89
- };
90
- this.servers.set(id, server);
91
- return server;
92
- } catch (error) {
93
- const server = {
94
- id,
95
- name,
96
- url,
97
- command,
98
- status: "error",
99
- tools: [],
100
- resources: [],
101
- lastActivity: /* @__PURE__ */ new Date()
102
- };
103
- this.servers.set(id, server);
104
- throw error;
105
- }
106
- }
107
- async getServer(id) {
108
- return this.servers.get(id) || null;
109
- }
110
- async executeTool(serverId, toolName, input) {
111
- const server = this.servers.get(serverId);
112
- if (!server || !server.session) {
113
- throw new Error("Server not found or not connected");
114
- }
115
- try {
116
- const result = {
117
- tool: toolName,
118
- input,
119
- result: `Mock result for ${toolName} with input: ${JSON.stringify(input)}`,
120
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
121
- };
122
- server.lastActivity = /* @__PURE__ */ new Date();
123
- return result;
124
- } catch (error) {
125
- server.status = "error";
126
- throw error;
127
- }
128
- }
129
- async getServerTools(serverId) {
130
- const server = this.servers.get(serverId);
131
- if (!server) {
132
- throw new Error("Server not found");
133
- }
134
- return server.tools;
135
- }
136
- async getServerResources(serverId) {
137
- const server = this.servers.get(serverId);
138
- if (!server) {
139
- throw new Error("Server not found");
140
- }
141
- return server.resources;
142
- }
143
- async disconnectServer(serverId) {
144
- const server = this.servers.get(serverId);
145
- if (server && server.session) {
146
- try {
147
- await server.session.disconnect();
148
- } catch (error) {
149
- console.error("Error disconnecting from server:", error);
150
- }
151
- }
152
- this.servers.delete(serverId);
153
- }
154
- };
155
-
156
- // src/cli/inspect.ts
157
- var import_meta = {};
158
- var __filename = (0, import_node_url.fileURLToPath)(import_meta.url);
159
- var __dirname = (0, import_node_path.dirname)(__filename);
160
- var execAsync = (0, import_node_util.promisify)(import_node_child_process.exec);
161
- async function findAvailablePort(startPort2 = 8080) {
162
- const net = await import("net");
163
- for (let port = startPort2; port < startPort2 + 100; port++) {
164
- try {
165
- await new Promise((resolve, reject) => {
166
- const server = net.createServer();
167
- server.listen(port, () => {
168
- server.close(() => resolve());
169
- });
170
- server.on("error", () => reject(new Error(`Port ${port} is in use`)));
171
- });
172
- return port;
173
- } catch {
174
- continue;
175
- }
176
- }
177
- throw new Error(`No available port found starting from ${startPort2}`);
178
- }
179
- var args = process.argv.slice(2);
180
- var mcpUrl;
181
- var startPort = 8080;
182
- for (let i = 0; i < args.length; i++) {
183
- if (args[i] === "--url" && i + 1 < args.length) {
184
- mcpUrl = args[i + 1];
185
- i++;
186
- } else if (args[i] === "--port" && i + 1 < args.length) {
187
- startPort = parseInt(args[i + 1], 10);
188
- i++;
189
- } else if (args[i] === "--help" || args[i] === "-h") {
190
- console.log(`
191
- MCP Inspector - Inspect and debug MCP servers
192
-
193
- Usage:
194
- npx @mcp-use/inspect [options]
195
-
196
- Options:
197
- --url <url> MCP server URL to auto-connect to (e.g., http://localhost:3000/mcp)
198
- --port <port> Starting port to try (default: 8080, will find next available)
199
- --help, -h Show this help message
200
-
201
- Examples:
202
- # Run inspector with auto-connect
203
- npx @mcp-use/inspect --url http://localhost:3000/mcp
204
-
205
- # Run starting from custom port
206
- npx @mcp-use/inspect --url http://localhost:3000/mcp --port 9000
207
-
208
- # Run without auto-connect
209
- npx @mcp-use/inspect
210
- `);
211
- process.exit(0);
212
- }
213
- }
214
- var app = new import_hono.Hono();
215
- app.use("*", (0, import_cors.cors)());
216
- app.use("*", (0, import_logger.logger)());
217
- app.get("/health", (c) => {
218
- return c.json({ status: "ok", timestamp: (/* @__PURE__ */ new Date()).toISOString() });
219
- });
220
- var mcpInspector = new MCPInspector();
221
- app.get("/api/servers", async (c) => {
222
- try {
223
- const servers = await mcpInspector.listServers();
224
- return c.json({ servers });
225
- } catch {
226
- return c.json({ error: "Failed to list servers" }, 500);
227
- }
228
- });
229
- app.post("/api/servers/connect", async (c) => {
230
- try {
231
- const { url, command } = await c.req.json();
232
- const server = await mcpInspector.connectToServer(url, command);
233
- return c.json({ server });
234
- } catch {
235
- return c.json({ error: "Failed to connect to server" }, 500);
236
- }
237
- });
238
- app.get("/api/servers/:id", async (c) => {
239
- try {
240
- const id = c.req.param("id");
241
- const server = await mcpInspector.getServer(id);
242
- if (!server) {
243
- return c.json({ error: "Server not found" }, 404);
244
- }
245
- return c.json({ server });
246
- } catch {
247
- return c.json({ error: "Failed to get server details" }, 500);
248
- }
249
- });
250
- app.post("/api/servers/:id/tools/:toolName/execute", async (c) => {
251
- try {
252
- const id = c.req.param("id");
253
- const toolName = c.req.param("toolName");
254
- const input = await c.req.json();
255
- const result = await mcpInspector.executeTool(id, toolName, input);
256
- return c.json({ result });
257
- } catch {
258
- return c.json({ error: "Failed to execute tool" }, 500);
259
- }
260
- });
261
- app.get("/api/servers/:id/tools", async (c) => {
262
- try {
263
- const id = c.req.param("id");
264
- const tools = await mcpInspector.getServerTools(id);
265
- return c.json({ tools });
266
- } catch {
267
- return c.json({ error: "Failed to get server tools" }, 500);
268
- }
269
- });
270
- app.get("/api/servers/:id/resources", async (c) => {
271
- try {
272
- const id = c.req.param("id");
273
- const resources = await mcpInspector.getServerResources(id);
274
- return c.json({ resources });
275
- } catch {
276
- return c.json({ error: "Failed to get server resources" }, 500);
277
- }
278
- });
279
- app.delete("/api/servers/:id", async (c) => {
280
- try {
281
- const id = c.req.param("id");
282
- await mcpInspector.disconnectServer(id);
283
- return c.json({ success: true });
284
- } catch {
285
- return c.json({ error: "Failed to disconnect server" }, 500);
286
- }
287
- });
288
- var clientDistPath = (0, import_node_path.join)(__dirname, "../../dist/client");
289
- if ((0, import_node_fs.existsSync)(clientDistPath)) {
290
- app.get("/inspector/assets/*", async (c) => {
291
- const path = c.req.path.replace("/inspector/assets/", "assets/");
292
- const fullPath = (0, import_node_path.join)(clientDistPath, path);
293
- if ((0, import_node_fs.existsSync)(fullPath)) {
294
- const content = await import("fs").then((fs) => fs.readFileSync(fullPath));
295
- if (path.endsWith(".js")) {
296
- c.header("Content-Type", "application/javascript");
297
- } else if (path.endsWith(".css")) {
298
- c.header("Content-Type", "text/css");
299
- } else if (path.endsWith(".svg")) {
300
- c.header("Content-Type", "image/svg+xml");
301
- }
302
- return c.body(content);
303
- }
304
- return c.notFound();
305
- });
306
- app.get("/", (c) => {
307
- return c.redirect("/inspector");
308
- });
309
- app.get("*", (c) => {
310
- const indexPath = (0, import_node_path.join)(clientDistPath, "index.html");
311
- if ((0, import_node_fs.existsSync)(indexPath)) {
312
- const content = import("fs").then((fs) => fs.readFileSync(indexPath, "utf-8"));
313
- return c.html(content);
314
- }
315
- return c.html(`
316
- <!DOCTYPE html>
317
- <html>
318
- <head>
319
- <title>MCP Inspector</title>
320
- </head>
321
- <body>
322
- <h1>MCP Inspector</h1>
323
- <p>Client files not found. Please run 'yarn build' to build the UI.</p>
324
- <p>API is available at <a href="/api/servers">/api/servers</a></p>
325
- </body>
326
- </html>
327
- `);
328
- });
329
- } else {
330
- console.warn(`\u26A0\uFE0F MCP Inspector client files not found at ${clientDistPath}`);
331
- console.warn(` Run 'yarn build' in the inspector package to build the UI`);
332
- app.get("*", (c) => {
333
- return c.html(`
334
- <!DOCTYPE html>
335
- <html>
336
- <head>
337
- <title>MCP Inspector</title>
338
- </head>
339
- <body>
340
- <h1>MCP Inspector</h1>
341
- <p>Client files not found. Please run 'yarn build' to build the UI.</p>
342
- <p>API is available at <a href="/api/servers">/api/servers</a></p>
343
- </body>
344
- </html>
345
- `);
346
- });
347
- }
348
- async function startServer() {
349
- try {
350
- const port = await findAvailablePort(startPort);
351
- (0, import_node_server.serve)({
352
- fetch: app.fetch,
353
- port
354
- });
355
- console.log(`\u{1F680} MCP Inspector running on http://localhost:${port}`);
356
- if (mcpUrl) {
357
- console.log(`\u{1F4E1} Auto-connecting to: ${mcpUrl}`);
358
- }
359
- try {
360
- const command = process.platform === "win32" ? "start" : process.platform === "darwin" ? "open" : "xdg-open";
361
- await execAsync(`${command} http://localhost:${port}`);
362
- console.log(`\u{1F310} Browser opened automatically`);
363
- } catch (error) {
364
- console.log(`\u{1F310} Please open http://localhost:${port} in your browser`);
365
- }
366
- return { port, fetch: app.fetch };
367
- } catch (error) {
368
- console.error("Failed to start server:", error);
369
- process.exit(1);
370
- }
371
- }
372
- startServer();