@mcp-use/inspector 12.0.0 → 12.0.1-canary.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 (209) hide show
  1. package/dist/cdn/inspector.js +58 -32
  2. package/dist/cli.js +2 -2
  3. package/dist/server/chunk-2EBTJWD2.js +71 -0
  4. package/dist/server/chunk-FK3HQLBD.js +322 -0
  5. package/dist/server/chunk-UHGKWUJ7.js +164 -0
  6. package/dist/server/cli.js +2 -2
  7. package/dist/server/index.js +3 -3
  8. package/dist/server/middleware.js +3 -3
  9. package/dist/server/server.js +2 -2
  10. package/dist/server/shared-static.js +2 -2
  11. package/dist/server/version.js +1 -1
  12. package/dist/web/assets/{1c-BcUq9pn9.js → 1c-Dx4ELK7R.js} +1 -1
  13. package/dist/web/assets/{abnf-ClvnnoyZ.js → abnf-Dr1xxiZU.js} +1 -1
  14. package/dist/web/assets/{accesslog-Dat4e77_.js → accesslog-ltfLQ7zQ.js} +1 -1
  15. package/dist/web/assets/{actionscript-jiy8wv5e.js → actionscript-DeMv81fN.js} +1 -1
  16. package/dist/web/assets/{ada-Dmsgs_Bf.js → ada-CcRu_RRv.js} +1 -1
  17. package/dist/web/assets/{angelscript-U0pmB-0M.js → angelscript-DaX3TC5q.js} +1 -1
  18. package/dist/web/assets/{apache-C1tkvQRQ.js → apache-DOtDo4tK.js} +1 -1
  19. package/dist/web/assets/{applescript-CGbnlCqS.js → applescript-BqlV-eaW.js} +1 -1
  20. package/dist/web/assets/{arcade-DI0Om11Y.js → arcade-CwuHLoAb.js} +1 -1
  21. package/dist/web/assets/{arduino-w8Iia-ys.js → arduino-CiAwYYVT.js} +1 -1
  22. package/dist/web/assets/{armasm-BwxZ73hh.js → armasm-33tGqv4x.js} +1 -1
  23. package/dist/web/assets/{asciidoc-B-gvg30b.js → asciidoc-aKqB4Zfn.js} +1 -1
  24. package/dist/web/assets/{aspectj-B7XvkxZP.js → aspectj-BtdcUG_A.js} +1 -1
  25. package/dist/web/assets/{autohotkey-B24D9thD.js → autohotkey-BYMjiGfY.js} +1 -1
  26. package/dist/web/assets/{autoit-CSiR1z9J.js → autoit-Ps-O_see.js} +1 -1
  27. package/dist/web/assets/{avrasm-BL9AHPhK.js → avrasm-DRa6Obn5.js} +1 -1
  28. package/dist/web/assets/{awk-DIzX2CVc.js → awk-BL0qDpqU.js} +1 -1
  29. package/dist/web/assets/{axapta-BdiaSHIi.js → axapta-CZUeJhXW.js} +1 -1
  30. package/dist/web/assets/{bash-BXROvc2K.js → bash-BX0WZBhM.js} +1 -1
  31. package/dist/web/assets/{basic-CwQqQMcn.js → basic-TeBjHwpi.js} +1 -1
  32. package/dist/web/assets/{bnf-CzXwPaMu.js → bnf-BlU6kEo7.js} +1 -1
  33. package/dist/web/assets/{brainfuck-BJMzmf23.js → brainfuck-DWrBFGTW.js} +1 -1
  34. package/dist/web/assets/{c-Da3JrYls.js → c-ChD2LLV9.js} +1 -1
  35. package/dist/web/assets/{c-like-B6t16OdK.js → c-like-CPUC5Juh.js} +1 -1
  36. package/dist/web/assets/{cal-CXYvxz9R.js → cal-1LN_qM9H.js} +1 -1
  37. package/dist/web/assets/{capnproto-CsQNRz0q.js → capnproto-m-I0RhcR.js} +1 -1
  38. package/dist/web/assets/{ceylon-Bp7aeels.js → ceylon-DVW6kWGU.js} +1 -1
  39. package/dist/web/assets/{clean-CXS8ykA4.js → clean-CHvaT-WM.js} +1 -1
  40. package/dist/web/assets/{clojure-pf_3nXqN.js → clojure-GcGf5Xkl.js} +1 -1
  41. package/dist/web/assets/{clojure-repl-CkrjE_c4.js → clojure-repl-C5KhIyo7.js} +1 -1
  42. package/dist/web/assets/{cmake-CT03rvg6.js → cmake-ujuzjD4x.js} +1 -1
  43. package/dist/web/assets/{coffeescript-WNHkC7Wx.js → coffeescript-CMsjgSiM.js} +1 -1
  44. package/dist/web/assets/{coq-D1KKc0KP.js → coq-EM4fYupj.js} +1 -1
  45. package/dist/web/assets/{core-BYlGF8my.js → core-DEUSn2QX.js} +1 -1
  46. package/dist/web/assets/{cos-ChwUA1jN.js → cos-TUdHgLUJ.js} +1 -1
  47. package/dist/web/assets/{cpp-Dsei-3Xq.js → cpp-BA3x95-Y.js} +1 -1
  48. package/dist/web/assets/{crmsh-Djnu-MQ-.js → crmsh-BS2FyEjM.js} +1 -1
  49. package/dist/web/assets/{crystal-TmFRpuMV.js → crystal-BIkCvaM1.js} +1 -1
  50. package/dist/web/assets/{csharp-hHMMncKi.js → csharp-Dt_awXL9.js} +1 -1
  51. package/dist/web/assets/{csp-B8MhAsCK.js → csp-BL9sB6cu.js} +1 -1
  52. package/dist/web/assets/{css-ByRFG93t.js → css-KR9QMGUx.js} +1 -1
  53. package/dist/web/assets/{d-CXxjJHqs.js → d-BWrCD9YR.js} +1 -1
  54. package/dist/web/assets/{dart-CgHUEL71.js → dart-_RTUlkJ9.js} +1 -1
  55. package/dist/web/assets/{delphi-ArMltm7X.js → delphi-BUUPt4Ja.js} +1 -1
  56. package/dist/web/assets/{diff-qoLKtAmT.js → diff-wBXdYxQy.js} +1 -1
  57. package/dist/web/assets/{django-CkVDj2pG.js → django-DqZFFVwK.js} +1 -1
  58. package/dist/web/assets/{dns-BmZjk1I8.js → dns-CnpCbSjt.js} +1 -1
  59. package/dist/web/assets/{dockerfile-BvYdq4uC.js → dockerfile-BOURBpOm.js} +1 -1
  60. package/dist/web/assets/{dos-C4KY_D9A.js → dos-DAZGvad5.js} +1 -1
  61. package/dist/web/assets/{dsconfig-BQG9iYD2.js → dsconfig-BVB5O3cM.js} +1 -1
  62. package/dist/web/assets/{dts-7K-DjAKs.js → dts-OifsAXNV.js} +1 -1
  63. package/dist/web/assets/{dust-D6SF6ARY.js → dust-D5Dcq6jo.js} +1 -1
  64. package/dist/web/assets/{ebnf-Cizp_jQ4.js → ebnf-BBfPDS_C.js} +1 -1
  65. package/dist/web/assets/{elixir-BiwR8J2H.js → elixir-INXqnam8.js} +1 -1
  66. package/dist/web/assets/{elm-DoD06AJS.js → elm-D_3Ft2cH.js} +1 -1
  67. package/dist/web/assets/{erb-CX_vk2av.js → erb-CQzHSdcS.js} +1 -1
  68. package/dist/web/assets/{erlang-BfI3aOGX.js → erlang-D1YJZkyK.js} +1 -1
  69. package/dist/web/assets/{erlang-repl-kLHoXBct.js → erlang-repl-gcBSuefW.js} +1 -1
  70. package/dist/web/assets/{excel-BaSnDISO.js → excel-BxYAFP3X.js} +1 -1
  71. package/dist/web/assets/{fix-DH-fJ8Mj.js → fix-Di2lrlgN.js} +1 -1
  72. package/dist/web/assets/{flix-BLgnrCK0.js → flix-CnH-AcqU.js} +1 -1
  73. package/dist/web/assets/{fortran-BIBo3Kpl.js → fortran-bnz7eVnG.js} +1 -1
  74. package/dist/web/assets/{fsharp-Bp6AKxTk.js → fsharp-DbZS8H-q.js} +1 -1
  75. package/dist/web/assets/{gams-Dpa5a_he.js → gams-Dv8pmL8p.js} +1 -1
  76. package/dist/web/assets/{gauss-B-7gWEgx.js → gauss-BCyqEwJM.js} +1 -1
  77. package/dist/web/assets/{gcode-B1mO8fvT.js → gcode-D4PDpgSJ.js} +1 -1
  78. package/dist/web/assets/{gherkin-DB5Y-vm_.js → gherkin-CPNSMSqj.js} +1 -1
  79. package/dist/web/assets/{glsl-BrzNgLuN.js → glsl-Do0DxX9K.js} +1 -1
  80. package/dist/web/assets/{gml-DjM1oHt8.js → gml-DVLiiZfc.js} +1 -1
  81. package/dist/web/assets/{go-CD49ZrYA.js → go-7eZVStkG.js} +1 -1
  82. package/dist/web/assets/{golo-Cu2KUQW9.js → golo-CBmUnnhD.js} +1 -1
  83. package/dist/web/assets/{gradle-BgiikxT1.js → gradle-D1-6dGA_.js} +1 -1
  84. package/dist/web/assets/{groovy-Ba_5c_QN.js → groovy-C0Fq2uMS.js} +1 -1
  85. package/dist/web/assets/{haml-DE53AxHd.js → haml-Cti7gqyg.js} +1 -1
  86. package/dist/web/assets/{handlebars-D3fwJo38.js → handlebars-BirxE8Xl.js} +1 -1
  87. package/dist/web/assets/{haskell-B_bBgwWF.js → haskell-EbK6E25-.js} +1 -1
  88. package/dist/web/assets/{haxe-7-2rpUtY.js → haxe-BZYh_oFl.js} +1 -1
  89. package/dist/web/assets/{hsp-vfwxZnYS.js → hsp-DeoDSuiv.js} +1 -1
  90. package/dist/web/assets/{htmlbars-CNSf8fZS.js → htmlbars-DI7O6F29.js} +1 -1
  91. package/dist/web/assets/{http--SbVa4Rx.js → http-C0sY1iWc.js} +1 -1
  92. package/dist/web/assets/{hy-Dkckejtv.js → hy-CIk5sEem.js} +1 -1
  93. package/dist/web/assets/{index-Dp4ZO2F6.js → index-DFBDRXli.js} +6 -6
  94. package/dist/web/assets/{inform7-BHCjoTda.js → inform7-DZBKh5UK.js} +1 -1
  95. package/dist/web/assets/{ini-CxuW85O8.js → ini-DQoXZGOi.js} +1 -1
  96. package/dist/web/assets/{irpf90-BuaeHAtr.js → irpf90-Cbjt0ZNd.js} +1 -1
  97. package/dist/web/assets/{isbl-BureWMtS.js → isbl-ZtrQkPO2.js} +1 -1
  98. package/dist/web/assets/{java-Cnni0oyJ.js → java-DpN-PxRJ.js} +1 -1
  99. package/dist/web/assets/{javascript-Cyp9mGjE.js → javascript-gcBRQquQ.js} +1 -1
  100. package/dist/web/assets/{jboss-cli-iLmVlRAn.js → jboss-cli-C53DfE5f.js} +1 -1
  101. package/dist/web/assets/{json-BAhH5ati.js → json-BeEhMDGg.js} +1 -1
  102. package/dist/web/assets/{julia-BwGHBUOj.js → julia-DkCYe91H.js} +1 -1
  103. package/dist/web/assets/{julia-repl-B2oHwO4-.js → julia-repl-CBvzyYCC.js} +1 -1
  104. package/dist/web/assets/{kotlin-CwzCam-2.js → kotlin-tewRCLHl.js} +1 -1
  105. package/dist/web/assets/{lasso-Bt7TuCTl.js → lasso-BuXaH1Cz.js} +1 -1
  106. package/dist/web/assets/{latex-CdDEIutL.js → latex-DeX09lqF.js} +1 -1
  107. package/dist/web/assets/{ldif-p-hc5niR.js → ldif-3lLN9yx8.js} +1 -1
  108. package/dist/web/assets/{leaf-BuXHhg_-.js → leaf-P_RVjDuK.js} +1 -1
  109. package/dist/web/assets/{less-CGZ8wWxt.js → less-CVPh26b8.js} +1 -1
  110. package/dist/web/assets/{lisp-BdqCmmOV.js → lisp-fdA8tQ93.js} +1 -1
  111. package/dist/web/assets/{livecodeserver-D4OAHAG4.js → livecodeserver-D13MVnB6.js} +1 -1
  112. package/dist/web/assets/{livescript-D-LGNfax.js → livescript-DIBIQwnL.js} +1 -1
  113. package/dist/web/assets/{llvm-BigP4eeZ.js → llvm-BpI0ArIa.js} +1 -1
  114. package/dist/web/assets/{lsl-C2W09_h0.js → lsl-rAKP9d3Y.js} +1 -1
  115. package/dist/web/assets/{lua-TIfmi05A.js → lua-CiC7oTL4.js} +1 -1
  116. package/dist/web/assets/{makefile-BcS0r-e4.js → makefile-CpHExib9.js} +1 -1
  117. package/dist/web/assets/{markdown-h2Q-URCa.js → markdown-BnOmMMQM.js} +1 -1
  118. package/dist/web/assets/{mathematica-BGrIEjeE.js → mathematica-Bk_jcVP0.js} +1 -1
  119. package/dist/web/assets/{matlab-CYOu-7yn.js → matlab-qzTsGRbb.js} +1 -1
  120. package/dist/web/assets/{maxima-D1eA7mtw.js → maxima-DCl4inY8.js} +1 -1
  121. package/dist/web/assets/{mel-DQj-0TDc.js → mel-CZJ7Kq_2.js} +1 -1
  122. package/dist/web/assets/{mercury-zR3ZZng0.js → mercury-C6wrj8aa.js} +1 -1
  123. package/dist/web/assets/{mipsasm-C1Kn2tHy.js → mipsasm-Bmf971XM.js} +1 -1
  124. package/dist/web/assets/{mizar-B7fMrXb6.js → mizar-CPVP6RUl.js} +1 -1
  125. package/dist/web/assets/{mojolicious-COHg7Bpa.js → mojolicious-BYnCoBN-.js} +1 -1
  126. package/dist/web/assets/{monkey-Ci0YFapZ.js → monkey-BRjmOnCu.js} +1 -1
  127. package/dist/web/assets/{moonscript-DN9txspF.js → moonscript-DVz-51fP.js} +1 -1
  128. package/dist/web/assets/{n1ql-Bjl40rS6.js → n1ql-CoQ61mdz.js} +1 -1
  129. package/dist/web/assets/{nginx-BB-GUcl8.js → nginx-BatiPDD8.js} +1 -1
  130. package/dist/web/assets/{nim-WXlc2v3a.js → nim-BfpeWLRy.js} +1 -1
  131. package/dist/web/assets/{nix-Dc8zlGDb.js → nix-DiEgpruG.js} +1 -1
  132. package/dist/web/assets/{node-repl-BrHfE07-.js → node-repl-Bx8JUgAM.js} +1 -1
  133. package/dist/web/assets/{nsis-DpWxw1Sl.js → nsis-BymSCm1j.js} +1 -1
  134. package/dist/web/assets/{objectivec-FVemPbFd.js → objectivec-BGkBVReM.js} +1 -1
  135. package/dist/web/assets/{ocaml-BK3bvJ2q.js → ocaml-w12Jk3fn.js} +1 -1
  136. package/dist/web/assets/{openscad-CP6NCvvs.js → openscad-DSEdidgS.js} +1 -1
  137. package/dist/web/assets/{oxygene-DC3ak_3_.js → oxygene-BRA0isao.js} +1 -1
  138. package/dist/web/assets/{parser3-CyUntQ34.js → parser3-hjMiYg-q.js} +1 -1
  139. package/dist/web/assets/{perl-bVWe8e8U.js → perl-DUdHp6Qp.js} +1 -1
  140. package/dist/web/assets/{pf-BOjEiDIC.js → pf-9PFJga4U.js} +1 -1
  141. package/dist/web/assets/{pgsql-BCWeiBkM.js → pgsql-sBV1j5j8.js} +1 -1
  142. package/dist/web/assets/{php-BwPsbnI-.js → php-C-avw1mv.js} +1 -1
  143. package/dist/web/assets/{php-template-DfDKyk9q.js → php-template-DNmkTOaf.js} +1 -1
  144. package/dist/web/assets/plaintext-BaP0k3PW.js +1 -0
  145. package/dist/web/assets/{pony-VdkCCOyS.js → pony-DMsSI3l-.js} +1 -1
  146. package/dist/web/assets/{powershell-Cp26ql04.js → powershell-BC5F8j3h.js} +1 -1
  147. package/dist/web/assets/{processing-XxLfVLaz.js → processing-C6cuspIW.js} +1 -1
  148. package/dist/web/assets/{profile-_c3vHi6M.js → profile-KNAYC0IA.js} +1 -1
  149. package/dist/web/assets/{prolog-B1kdM9jt.js → prolog-qjulfDGc.js} +1 -1
  150. package/dist/web/assets/{properties-DQgc3zb2.js → properties-W9YAyEqB.js} +1 -1
  151. package/dist/web/assets/{protobuf-CH3UZKXd.js → protobuf-CxVpsR7E.js} +1 -1
  152. package/dist/web/assets/{puppet-DrbwOLzq.js → puppet-xAVDzfMS.js} +1 -1
  153. package/dist/web/assets/{purebasic-DdcJwvWv.js → purebasic-Bn2u8dln.js} +1 -1
  154. package/dist/web/assets/{python-DJykol0p.js → python-BwUYawwq.js} +1 -1
  155. package/dist/web/assets/{python-repl-B4C8hSMk.js → python-repl-C5arQlsI.js} +1 -1
  156. package/dist/web/assets/{q-BQuuKGzs.js → q-D2RK5BO8.js} +1 -1
  157. package/dist/web/assets/{qml-Bp_L05Jp.js → qml-CiNE0t4L.js} +1 -1
  158. package/dist/web/assets/{r-uxYCja4N.js → r-BxQZREg0.js} +1 -1
  159. package/dist/web/assets/{reasonml-CLossjse.js → reasonml-DYzavTKu.js} +1 -1
  160. package/dist/web/assets/{rib-csmgUNkd.js → rib-CHw8kS-E.js} +1 -1
  161. package/dist/web/assets/{roboconf-btg9gTDw.js → roboconf-DGB8ho1k.js} +1 -1
  162. package/dist/web/assets/{routeros-Csuua3zf.js → routeros-yeUGHEHi.js} +1 -1
  163. package/dist/web/assets/rpc-logger-TPNV75J4-Bm8Prgf2.js +1 -0
  164. package/dist/web/assets/{rsl-d-YotwOW.js → rsl-t94pfRxW.js} +1 -1
  165. package/dist/web/assets/{ruby-CkW_KLmF.js → ruby-IW81jD-M.js} +1 -1
  166. package/dist/web/assets/{ruleslanguage-Q5IKUBV4.js → ruleslanguage-DPon6wnL.js} +1 -1
  167. package/dist/web/assets/{rust-DSng4mL1.js → rust-CHVG70QY.js} +1 -1
  168. package/dist/web/assets/{sas-D7AjfG21.js → sas-HW6aEos_.js} +1 -1
  169. package/dist/web/assets/{scala-CN9Ow8R2.js → scala-CuwMKe4Q.js} +1 -1
  170. package/dist/web/assets/{scheme-DeP12E93.js → scheme-Bv-sz2hT.js} +1 -1
  171. package/dist/web/assets/{scilab-B6a2DHb2.js → scilab-BTdkW7MU.js} +1 -1
  172. package/dist/web/assets/{scss-CYN_e18F.js → scss-DfQ97Zog.js} +1 -1
  173. package/dist/web/assets/{shell-6-oymzUb.js → shell-CQVcEQcJ.js} +1 -1
  174. package/dist/web/assets/{smali-BjTNuQ59.js → smali-BaALnMWn.js} +1 -1
  175. package/dist/web/assets/{smalltalk-1XYXT6Bo.js → smalltalk-gCsmcx60.js} +1 -1
  176. package/dist/web/assets/{sml-B65mup5O.js → sml-1jX7UZNp.js} +1 -1
  177. package/dist/web/assets/{sqf-CU1eQuGt.js → sqf-DYcq2vJp.js} +1 -1
  178. package/dist/web/assets/{sql-DtltUJqs.js → sql-DjBYGR_n.js} +1 -1
  179. package/dist/web/assets/{sql_more-DzWxEBiQ.js → sql_more-DNfvJjDJ.js} +1 -1
  180. package/dist/web/assets/{stan-CLSDj931.js → stan-Xk9k0HXm.js} +1 -1
  181. package/dist/web/assets/{stata-DIyPvtKT.js → stata-BQQmdU-7.js} +1 -1
  182. package/dist/web/assets/{step21-DB0jCx8R.js → step21-C_TQyuAo.js} +1 -1
  183. package/dist/web/assets/{stylus-CTX-Buxm.js → stylus-DC8DWqu2.js} +1 -1
  184. package/dist/web/assets/{subunit-C-qE_LmD.js → subunit-CiAE7LHH.js} +1 -1
  185. package/dist/web/assets/{swift-Ivjsf5Ma.js → swift-BMh1mq5J.js} +1 -1
  186. package/dist/web/assets/{taggerscript-DMv7zUSY.js → taggerscript-ChXhpPk7.js} +1 -1
  187. package/dist/web/assets/{tap-CzK6P33g.js → tap-CJ5zbeDC.js} +1 -1
  188. package/dist/web/assets/{tcl-DK1IpRCR.js → tcl-BDJFeipW.js} +1 -1
  189. package/dist/web/assets/{thrift-BrPvxK4Y.js → thrift-CZmZM3HT.js} +1 -1
  190. package/dist/web/assets/{tp-LlZci2qR.js → tp-DthA3jxu.js} +1 -1
  191. package/dist/web/assets/{twig-DlfsZ47Z.js → twig-BEWVqyaT.js} +1 -1
  192. package/dist/web/assets/{typescript-ngl7WuXR.js → typescript-Dhsy2r2b.js} +1 -1
  193. package/dist/web/assets/{vala-nXdrRg7V.js → vala-C7MXswjC.js} +1 -1
  194. package/dist/web/assets/{vbnet-CEuJMYzd.js → vbnet-rENqySZ5.js} +1 -1
  195. package/dist/web/assets/{vbscript-kyCEnU8c.js → vbscript-CP6OUMca.js} +1 -1
  196. package/dist/web/assets/{vbscript-html-BoWy1w6Y.js → vbscript-html-B8lKLOdp.js} +1 -1
  197. package/dist/web/assets/{verilog-qpocrDQL.js → verilog-BPJJyQKF.js} +1 -1
  198. package/dist/web/assets/{vhdl-4ktDPmND.js → vhdl-DwU5IEbv.js} +1 -1
  199. package/dist/web/assets/{vim-BRIUfjRc.js → vim-DuLmJ3W0.js} +1 -1
  200. package/dist/web/assets/{x86asm-BwIpKqNW.js → x86asm-BZ6mQBhw.js} +1 -1
  201. package/dist/web/assets/{xl-DC3aiGV3.js → xl-B6oe5FLF.js} +1 -1
  202. package/dist/web/assets/{xml-VazG12Yj.js → xml-BHUu2S2j.js} +1 -1
  203. package/dist/web/assets/{xquery-DF4g6DQC.js → xquery-DltBHu-6.js} +1 -1
  204. package/dist/web/assets/{yaml-CCbsN06w.js → yaml-DaXd8Q0X.js} +1 -1
  205. package/dist/web/assets/{zephir-CZQyWE-R.js → zephir-8mtfppXj.js} +1 -1
  206. package/dist/web/index.html +2 -2
  207. package/package.json +3 -3
  208. package/dist/web/assets/plaintext-Dol98Rv8.js +0 -1
  209. package/dist/web/assets/rpc-logger-TPNV75J4-BBXZhXkP.js +0 -1
@@ -26903,7 +26903,7 @@ var Ud = class {
26903
26903
  //#region src/client/telemetry/utils.ts
26904
26904
  function of() {
26905
26905
  try {
26906
- return "12.0.0";
26906
+ return "12.0.1-canary.0";
26907
26907
  } catch {
26908
26908
  return "0.0.0";
26909
26909
  }
@@ -48446,9 +48446,9 @@ var TM, EM, DM, OM, kM, AM, jM, MM, NM, PM, FM, IM, LM, RM, zM, BM, VM, HM, UM,
48446
48446
  }(), uce);
48447
48447
  }));
48448
48448
  //#endregion
48449
- //#region ../mcp-use/dist/chunk-XS2ZMBOG.js
48449
+ //#region ../mcp-use/dist/chunk-36SPEUMU.js
48450
48450
  Xp();
48451
- var hce = "1.34.0";
48451
+ var hce = "1.34.1-canary.0";
48452
48452
  function _R() {
48453
48453
  return hce;
48454
48454
  }
@@ -56348,41 +56348,54 @@ var mde = class {
56348
56348
  getKey(e) {
56349
56349
  return this.session.getKey(e);
56350
56350
  }
56351
+ reanchorWellKnownUrl(e) {
56352
+ if (!this.connectionUrl) return e;
56353
+ try {
56354
+ let t = new URL(e), n = new URL(this.connectionUrl);
56355
+ if (t.origin !== n.origin || !t.pathname.startsWith("/.well-known/")) return e;
56356
+ let r = new URL(this.serverUrl), [i, ...a] = t.pathname.slice(13).split("/");
56357
+ if (!i) return e;
56358
+ let o = a.length ? `/${a.join("/")}` : "", s = n.pathname.replace(/\/+$/, ""), c = r.pathname.replace(/\/+$/, ""), l = o && o === s ? c : o;
56359
+ return `${r.origin}/.well-known/${i}${l}${t.search}`;
56360
+ } catch {
56361
+ return e;
56362
+ }
56363
+ }
56351
56364
  getProxyFetch(e) {
56352
56365
  if (!this.proxyOAuthRequests || !this.oauthProxyUrl) return e;
56353
56366
  let t = e ?? globalThis.fetch.bind(globalThis), n = this.oauthProxyUrl, r = this.connectionUrl, i = this.serverUrl;
56354
56367
  return async (e, a) => {
56355
- let o = typeof e == "string" ? e : e instanceof URL ? e.toString() : e.url;
56356
- if (!(o.includes("/.well-known/") || o.match(/\/(register|token|authorize)$/))) return await t(e, a);
56368
+ let o = typeof e == "string" ? e : e instanceof URL ? e.toString() : e.url, s = this.reanchorWellKnownUrl(o);
56369
+ if (!(s.includes("/.well-known/") || s.match(/\/(register|token|authorize)$/))) return await t(e, a);
56357
56370
  try {
56358
- let r = new URL(o), i = new URL(n);
56359
- if (r.origin === i.origin && (r.pathname.startsWith(i.pathname) || o.includes("/inspector/api/oauth"))) return await t(e, a);
56371
+ let r = new URL(s), i = new URL(n);
56372
+ if (r.origin === i.origin && (r.pathname.startsWith(i.pathname) || s.includes("/inspector/api/oauth"))) return await t(e, a);
56360
56373
  } catch {}
56361
56374
  try {
56362
- let e = o.includes("/.well-known/"), s = e ? `${n}/metadata?url=${encodeURIComponent(o)}` : `${n}/proxy`;
56363
- if (console.log(`[OAuth Proxy] Routing ${e ? "metadata" : "request"} through: ${s}`), e) {
56375
+ let e = s.includes("/.well-known/"), o = e ? `${n}/metadata?url=${encodeURIComponent(s)}` : `${n}/proxy`;
56376
+ if (console.log(`[OAuth Proxy] Routing ${e ? "metadata" : "request"} through: ${o}`), e) {
56364
56377
  let e = { ...a?.headers ? Object.fromEntries(new Headers(a.headers)) : {} };
56365
56378
  r && (e["X-Connection-URL"] = r);
56366
- let n = new URL(s);
56379
+ let n = new URL(o);
56367
56380
  i && n.searchParams.set("mcp_url", i);
56368
- let o = await t(n.toString(), {
56381
+ let s = await t(n.toString(), {
56369
56382
  ...a,
56370
56383
  method: "GET",
56371
56384
  headers: e
56372
56385
  });
56373
56386
  try {
56374
- if ((o.headers.get("content-type") || "").includes("application/json")) {
56375
- let e = await o.clone().json(), t = e && typeof e == "object" && typeof e._original_resource == "string" ? e._original_resource : null;
56387
+ if ((s.headers.get("content-type") || "").includes("application/json")) {
56388
+ let e = await s.clone().json(), t = e && typeof e == "object" && typeof e._original_resource == "string" ? e._original_resource : null;
56376
56389
  t && (this._lastOriginalResource = t);
56377
56390
  }
56378
56391
  } catch {}
56379
- return o;
56392
+ return s;
56380
56393
  }
56381
- let c = a?.body ? await pde(a.body) : void 0, l = await (await t(s, {
56394
+ let c = a?.body ? await pde(a.body) : void 0, l = await (await t(o, {
56382
56395
  method: "POST",
56383
56396
  headers: { "Content-Type": "application/json" },
56384
56397
  body: JSON.stringify({
56385
- url: o,
56398
+ url: s,
56386
56399
  method: a?.method || "POST",
56387
56400
  headers: a?.headers ? Object.fromEntries(new Headers(a.headers)) : {},
56388
56401
  body: c
@@ -56394,7 +56407,7 @@ var mde = class {
56394
56407
  headers: new Headers(l.headers)
56395
56408
  });
56396
56409
  } catch (n) {
56397
- return console.error("[OAuth Proxy] Request failed, falling back to direct fetch:", n), await t(e, a);
56410
+ return console.error("[OAuth Proxy] Request failed, falling back to direct fetch:", n), s === o ? await t(e, a) : await t(s, a);
56398
56411
  }
56399
56412
  };
56400
56413
  }
@@ -146422,7 +146435,7 @@ var o4e = class e {
146422
146435
  }
146423
146436
  };
146424
146437
  //#endregion
146425
- //#region ../mcp-use/dist/chunk-VWJXSLCF.js
146438
+ //#region ../mcp-use/dist/chunk-N3DGPXFX.js
146426
146439
  Xp();
146427
146440
  var s4e = class {
146428
146441
  static {
@@ -146491,41 +146504,54 @@ var l4e = class {
146491
146504
  getKey(e) {
146492
146505
  return this.session.getKey(e);
146493
146506
  }
146507
+ reanchorWellKnownUrl(e) {
146508
+ if (!this.connectionUrl) return e;
146509
+ try {
146510
+ let t = new URL(e), n = new URL(this.connectionUrl);
146511
+ if (t.origin !== n.origin || !t.pathname.startsWith("/.well-known/")) return e;
146512
+ let r = new URL(this.serverUrl), [i, ...a] = t.pathname.slice(13).split("/");
146513
+ if (!i) return e;
146514
+ let o = a.length ? `/${a.join("/")}` : "", s = n.pathname.replace(/\/+$/, ""), c = r.pathname.replace(/\/+$/, ""), l = o && o === s ? c : o;
146515
+ return `${r.origin}/.well-known/${i}${l}${t.search}`;
146516
+ } catch {
146517
+ return e;
146518
+ }
146519
+ }
146494
146520
  getProxyFetch(e) {
146495
146521
  if (!this.proxyOAuthRequests || !this.oauthProxyUrl) return e;
146496
146522
  let t = e ?? globalThis.fetch.bind(globalThis), n = this.oauthProxyUrl, r = this.connectionUrl, i = this.serverUrl;
146497
146523
  return async (e, a) => {
146498
- let o = typeof e == "string" ? e : e instanceof URL ? e.toString() : e.url;
146499
- if (!(o.includes("/.well-known/") || o.match(/\/(register|token|authorize)$/))) return await t(e, a);
146524
+ let o = typeof e == "string" ? e : e instanceof URL ? e.toString() : e.url, s = this.reanchorWellKnownUrl(o);
146525
+ if (!(s.includes("/.well-known/") || s.match(/\/(register|token|authorize)$/))) return await t(e, a);
146500
146526
  try {
146501
- let r = new URL(o), i = new URL(n);
146502
- if (r.origin === i.origin && (r.pathname.startsWith(i.pathname) || o.includes("/inspector/api/oauth"))) return await t(e, a);
146527
+ let r = new URL(s), i = new URL(n);
146528
+ if (r.origin === i.origin && (r.pathname.startsWith(i.pathname) || s.includes("/inspector/api/oauth"))) return await t(e, a);
146503
146529
  } catch {}
146504
146530
  try {
146505
- let e = o.includes("/.well-known/"), s = e ? `${n}/metadata?url=${encodeURIComponent(o)}` : `${n}/proxy`;
146506
- if (console.log(`[OAuth Proxy] Routing ${e ? "metadata" : "request"} through: ${s}`), e) {
146531
+ let e = s.includes("/.well-known/"), o = e ? `${n}/metadata?url=${encodeURIComponent(s)}` : `${n}/proxy`;
146532
+ if (console.log(`[OAuth Proxy] Routing ${e ? "metadata" : "request"} through: ${o}`), e) {
146507
146533
  let e = { ...a?.headers ? Object.fromEntries(new Headers(a.headers)) : {} };
146508
146534
  r && (e["X-Connection-URL"] = r);
146509
- let n = new URL(s);
146535
+ let n = new URL(o);
146510
146536
  i && n.searchParams.set("mcp_url", i);
146511
- let o = await t(n.toString(), {
146537
+ let s = await t(n.toString(), {
146512
146538
  ...a,
146513
146539
  method: "GET",
146514
146540
  headers: e
146515
146541
  });
146516
146542
  try {
146517
- if ((o.headers.get("content-type") || "").includes("application/json")) {
146518
- let e = await o.clone().json(), t = e && typeof e == "object" && typeof e._original_resource == "string" ? e._original_resource : null;
146543
+ if ((s.headers.get("content-type") || "").includes("application/json")) {
146544
+ let e = await s.clone().json(), t = e && typeof e == "object" && typeof e._original_resource == "string" ? e._original_resource : null;
146519
146545
  t && (this._lastOriginalResource = t);
146520
146546
  }
146521
146547
  } catch {}
146522
- return o;
146548
+ return s;
146523
146549
  }
146524
- let c = a?.body ? await c4e(a.body) : void 0, l = await (await t(s, {
146550
+ let c = a?.body ? await c4e(a.body) : void 0, l = await (await t(o, {
146525
146551
  method: "POST",
146526
146552
  headers: { "Content-Type": "application/json" },
146527
146553
  body: JSON.stringify({
146528
- url: o,
146554
+ url: s,
146529
146555
  method: a?.method || "POST",
146530
146556
  headers: a?.headers ? Object.fromEntries(new Headers(a.headers)) : {},
146531
146557
  body: c
@@ -146537,7 +146563,7 @@ var l4e = class {
146537
146563
  headers: new Headers(l.headers)
146538
146564
  });
146539
146565
  } catch (n) {
146540
- return console.error("[OAuth Proxy] Request failed, falling back to direct fetch:", n), await t(e, a);
146566
+ return console.error("[OAuth Proxy] Request failed, falling back to direct fetch:", n), s === o ? await t(e, a) : await t(s, a);
146541
146567
  }
146542
146568
  };
146543
146569
  }
package/dist/cli.js CHANGED
@@ -3333,7 +3333,7 @@ function getClientDistPath() {
3333
3333
  var package_default = {
3334
3334
  name: "@mcp-use/inspector",
3335
3335
  type: "module",
3336
- version: "12.0.0",
3336
+ version: "12.0.1-canary.0",
3337
3337
  description: "MCP Inspector - A tool for inspecting and debugging MCP servers",
3338
3338
  author: "",
3339
3339
  license: "MIT",
@@ -3412,7 +3412,7 @@ var package_default = {
3412
3412
  },
3413
3413
  peerDependencies: {
3414
3414
  express: "^4.21.2 || ^5.0.0",
3415
- "mcp-use": ">=1.34.0-canary.0",
3415
+ "mcp-use": ">=1.34.1-canary.0",
3416
3416
  react: "^18.0.0 || ^19.0.0",
3417
3417
  "react-dom": "^18.0.0 || ^19.0.0",
3418
3418
  "react-router": "^7.12.0"
@@ -0,0 +1,71 @@
1
+ import {
2
+ registerInspectorRoutes
3
+ } from "./chunk-A4VH7AIP.js";
4
+ import {
5
+ registerStaticRoutes
6
+ } from "./chunk-FK3HQLBD.js";
7
+ import {
8
+ checkClientFiles,
9
+ getClientDistPath
10
+ } from "./chunk-IDMHJUEM.js";
11
+
12
+ // src/server/middleware.ts
13
+ import { Hono } from "hono";
14
+ function mountInspector(app, config) {
15
+ const clientDistPath = getClientDistPath();
16
+ if (!checkClientFiles(clientDistPath)) {
17
+ console.warn(
18
+ `\u26A0\uFE0F MCP Inspector client files not found at ${clientDistPath}`
19
+ );
20
+ console.warn(
21
+ ` Run 'yarn build' in the inspector package to build the UI`
22
+ );
23
+ }
24
+ const runtimeConfig = {
25
+ devMode: config?.devMode,
26
+ sandboxOrigin: config?.sandboxOrigin,
27
+ inspectorMode: "embedded"
28
+ };
29
+ if (isHonoApp(app)) {
30
+ registerInspectorRoutes(app, config);
31
+ registerStaticRoutes(app, clientDistPath, runtimeConfig);
32
+ return;
33
+ }
34
+ const honoApp = new Hono();
35
+ registerInspectorRoutes(honoApp, config);
36
+ registerStaticRoutes(honoApp, clientDistPath, runtimeConfig);
37
+ app.use((req, res, next) => {
38
+ const url = new URL(req.url || "", `http://${req.headers.host}`);
39
+ const request = new Request(url, {
40
+ method: req.method,
41
+ headers: req.headers,
42
+ body: req.method !== "GET" && req.method !== "HEAD" ? JSON.stringify(req.body) : void 0
43
+ });
44
+ Promise.resolve(honoApp.fetch(request)).then(async (fetchResponse) => {
45
+ res.status(fetchResponse.status);
46
+ fetchResponse.headers.forEach((value, key) => {
47
+ res.setHeader(key, value);
48
+ });
49
+ if (fetchResponse.body) {
50
+ const reader = fetchResponse.body.getReader();
51
+ while (true) {
52
+ const { done, value } = await reader.read();
53
+ if (done) {
54
+ break;
55
+ }
56
+ res.write(value);
57
+ }
58
+ res.end();
59
+ } else {
60
+ res.end();
61
+ }
62
+ }).catch(next);
63
+ });
64
+ }
65
+ function isHonoApp(app) {
66
+ return typeof app.fetch === "function";
67
+ }
68
+
69
+ export {
70
+ mountInspector
71
+ };
@@ -0,0 +1,322 @@
1
+ import {
2
+ getInspectorVersion
3
+ } from "./chunk-UHGKWUJ7.js";
4
+ import {
5
+ checkClientFiles,
6
+ getClientDistPath,
7
+ getContentType
8
+ } from "./chunk-IDMHJUEM.js";
9
+
10
+ // src/server/shared-static.ts
11
+ import { existsSync, readFileSync } from "fs";
12
+ import { join } from "path";
13
+ var USE_CDN = process.env.INSPECTOR_USE_CDN === "true";
14
+ var INSPECTOR_VERSION = getInspectorVersion();
15
+ var CDN_BASE = process.env.INSPECTOR_CDN_BASE ?? "https://inspector-cdn.mcp-use.com";
16
+ var CDN_JS_URL = `${CDN_BASE}/inspector@${INSPECTOR_VERSION}.js`;
17
+ var CDN_CSS_URL = `${CDN_BASE}/inspector@${INSPECTOR_VERSION}.css`;
18
+ function injectRuntimeConfig(html, config) {
19
+ if (!config) return html;
20
+ const scripts = [];
21
+ if (config.devMode) {
22
+ scripts.push(`<script>window.__MCP_DEV_MODE__ = true;</script>`);
23
+ }
24
+ if (config.sandboxOrigin) {
25
+ scripts.push(
26
+ `<script>window.__MCP_SANDBOX_ORIGIN__ = ${JSON.stringify(config.sandboxOrigin)};</script>`
27
+ );
28
+ }
29
+ if (config.proxyUrl !== void 0) {
30
+ scripts.push(
31
+ `<script>window.__MCP_PROXY_URL__ = ${JSON.stringify(config.proxyUrl)};</script>`
32
+ );
33
+ }
34
+ if (config.inspectorMode) {
35
+ scripts.push(
36
+ `<script>window.__MCP_INSPECTOR_MODE__ = ${JSON.stringify(config.inspectorMode)};</script>`
37
+ );
38
+ }
39
+ if (config.manufactChatUrl) {
40
+ scripts.push(
41
+ `<script>window.__MANUFACT_CHAT_URL__ = ${JSON.stringify(config.manufactChatUrl)};</script>`
42
+ );
43
+ }
44
+ if (config.disableTelemetry) {
45
+ scripts.push(
46
+ `<script>window.__MCP_USE_ANONYMIZED_TELEMETRY__ = false;</script>`
47
+ );
48
+ }
49
+ if (scripts.length === 0) return html;
50
+ const injection = scripts.join("\n ");
51
+ return html.replace("</head>", ` ${injection}
52
+ </head>`);
53
+ }
54
+ function generateCdnShellHtml(config) {
55
+ const runtimeScripts = (() => {
56
+ if (!config) return "";
57
+ const scripts = [];
58
+ if (config.devMode) {
59
+ scripts.push(`<script>window.__MCP_DEV_MODE__ = true;</script>`);
60
+ }
61
+ if (config.sandboxOrigin) {
62
+ scripts.push(
63
+ `<script>window.__MCP_SANDBOX_ORIGIN__ = ${JSON.stringify(config.sandboxOrigin)};</script>`
64
+ );
65
+ }
66
+ if (config.proxyUrl !== void 0) {
67
+ scripts.push(
68
+ `<script>window.__MCP_PROXY_URL__ = ${JSON.stringify(config.proxyUrl)};</script>`
69
+ );
70
+ }
71
+ if (config.inspectorMode) {
72
+ scripts.push(
73
+ `<script>window.__MCP_INSPECTOR_MODE__ = ${JSON.stringify(config.inspectorMode)};</script>`
74
+ );
75
+ }
76
+ if (config.manufactChatUrl) {
77
+ scripts.push(
78
+ `<script>window.__MANUFACT_CHAT_URL__ = ${JSON.stringify(config.manufactChatUrl)};</script>`
79
+ );
80
+ }
81
+ if (config.disableTelemetry) {
82
+ scripts.push(
83
+ `<script>window.__MCP_USE_ANONYMIZED_TELEMETRY__ = false;try{localStorage.setItem("MCP_USE_ANONYMIZED_TELEMETRY","false");}catch(e){}</script>`
84
+ );
85
+ }
86
+ return scripts.join("\n ");
87
+ })();
88
+ return `<!doctype html>
89
+ <html lang="en">
90
+ <head>
91
+ <meta charset="UTF-8" />
92
+ <link
93
+ rel="icon"
94
+ type="image/svg+xml"
95
+ href="${CDN_BASE}/favicon-black.svg"
96
+ />
97
+ <link
98
+ rel="icon"
99
+ type="image/svg+xml"
100
+ href="${CDN_BASE}/favicon-white.svg"
101
+ media="(prefers-color-scheme: dark)"
102
+ />
103
+ <link
104
+ rel="icon"
105
+ type="image/svg+xml"
106
+ href="${CDN_BASE}/favicon-black.svg"
107
+ media="(prefers-color-scheme: light)"
108
+ />
109
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
110
+ <link rel="preconnect" href="https://fonts.googleapis.com" />
111
+ <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
112
+ <link
113
+ href="https://fonts.googleapis.com/css2?family=Ubuntu:wght@400;500;700&display=swap"
114
+ rel="stylesheet"
115
+ />
116
+ <link rel="stylesheet" href="${CDN_CSS_URL}" />
117
+ <title>Inspector | mcp-use</title>
118
+ <meta
119
+ name="description"
120
+ content="Free, open-source MCP Inspector by mcp-use. Connect to any MCP server, test tools, prompts, and resources, inspect RPC logs, and debug MCP apps \u2014 all in your browser."
121
+ />
122
+ <meta property="og:type" content="website" />
123
+ <meta property="og:site_name" content="mcp-use" />
124
+ <meta property="og:url" content="https://inspector.mcp-use.com" />
125
+ <meta property="og:title" content="MCP Inspector \u2014 Test &amp; Debug MCP Servers | mcp-use" />
126
+ <meta
127
+ property="og:description"
128
+ content="Free, open-source MCP Inspector by mcp-use. Connect to any MCP server, test tools, prompts, and resources, inspect RPC logs, and debug MCP apps \u2014 all in your browser."
129
+ />
130
+ <meta
131
+ property="og:image"
132
+ content="https://inspector-cdn.mcp-use.com/inspector-cover.png"
133
+ />
134
+ <meta property="og:image:alt" content="mcp-use MCP Inspector \u2014 test and debug MCP servers" />
135
+ <meta name="twitter:card" content="summary_large_image" />
136
+ <meta name="twitter:site" content="@mcpuse" />
137
+ <meta name="twitter:creator" content="@mcpuse" />
138
+ <meta name="twitter:title" content="MCP Inspector \u2014 Test &amp; Debug MCP Servers | mcp-use" />
139
+ <meta
140
+ name="twitter:description"
141
+ content="Free, open-source MCP Inspector by mcp-use. Connect to any MCP server, test tools, prompts, and resources, inspect RPC logs, and debug MCP apps \u2014 all in your browser."
142
+ />
143
+ <meta
144
+ name="twitter:image"
145
+ content="https://inspector-cdn.mcp-use.com/inspector-cover.png"
146
+ />
147
+ <meta name="twitter:image:alt" content="mcp-use MCP Inspector \u2014 test and debug MCP servers" />
148
+ <script>window.__INSPECTOR_VERSION__ = ${JSON.stringify(INSPECTOR_VERSION)};</script>
149
+ ${runtimeScripts}
150
+ </head>
151
+ <body>
152
+ <script>
153
+ if (typeof window !== "undefined" && typeof window.process === "undefined") {
154
+ window.process = {
155
+ env: {},
156
+ platform: "browser",
157
+ browser: true,
158
+ version: "v18.0.0",
159
+ versions: { node: "18.0.0" },
160
+ cwd: () => "/",
161
+ nextTick: (fn, ...args) => queueMicrotask(() => fn(...args)),
162
+ };
163
+ }
164
+ </script>
165
+ <div id="root"></div>
166
+ <script type="module" src="${CDN_JS_URL}"></script>
167
+ </body>
168
+ </html>`;
169
+ }
170
+ function registerStaticRoutes(app, clientDistPath, runtimeConfig) {
171
+ const effectiveConfig = {
172
+ ...runtimeConfig,
173
+ proxyUrl: runtimeConfig?.proxyUrl !== void 0 ? runtimeConfig.proxyUrl : "/inspector/api/proxy",
174
+ disableTelemetry: runtimeConfig?.disableTelemetry ?? process.env.MCP_USE_ANONYMIZED_TELEMETRY === "false"
175
+ };
176
+ if (USE_CDN) {
177
+ const serveShell = (c) => c.html(generateCdnShellHtml(effectiveConfig));
178
+ app.get("/", (c) => {
179
+ const url = new URL(c.req.url);
180
+ return c.redirect(`/inspector${url.search}`);
181
+ });
182
+ app.get("/inspector", serveShell);
183
+ app.get("/inspector/*", serveShell);
184
+ app.post("/inspector/*", serveShell);
185
+ app.get("*", serveShell);
186
+ return;
187
+ }
188
+ const distPath = clientDistPath || getClientDistPath();
189
+ if (!checkClientFiles(distPath)) {
190
+ console.warn(`\u26A0\uFE0F MCP Inspector client files not found at ${distPath}`);
191
+ console.warn(
192
+ ` Run 'yarn build' in the inspector package to build the UI`
193
+ );
194
+ app.get("*", (c) => {
195
+ return c.html(`
196
+ <!DOCTYPE html>
197
+ <html>
198
+ <head>
199
+ <title>MCP Inspector</title>
200
+ </head>
201
+ <body>
202
+ <h1>MCP Inspector</h1>
203
+ <p>Client files not found. Please run 'yarn build' to build the UI.</p>
204
+ </body>
205
+ </html>
206
+ `);
207
+ });
208
+ return;
209
+ }
210
+ app.get("/inspector/assets/*", (c) => {
211
+ const path = c.req.path.replace("/inspector/assets/", "assets/");
212
+ const fullPath = join(distPath, path);
213
+ if (existsSync(fullPath)) {
214
+ const content = readFileSync(fullPath);
215
+ const contentType = getContentType(fullPath);
216
+ c.header("Content-Type", contentType);
217
+ return c.body(content);
218
+ }
219
+ return c.notFound();
220
+ });
221
+ app.get("/", (c) => {
222
+ const url = new URL(c.req.url);
223
+ const queryString = url.search;
224
+ return c.redirect(`/inspector${queryString}`);
225
+ });
226
+ const serveIndex = (c) => {
227
+ const indexPath = join(distPath, "index.html");
228
+ if (existsSync(indexPath)) {
229
+ const content = injectRuntimeConfig(
230
+ readFileSync(indexPath, "utf-8"),
231
+ effectiveConfig
232
+ );
233
+ return c.html(content);
234
+ }
235
+ return c.html(`
236
+ <!DOCTYPE html>
237
+ <html>
238
+ <head>
239
+ <title>MCP Inspector</title>
240
+ </head>
241
+ <body>
242
+ <h1>MCP Inspector</h1>
243
+ <p>Client files not found. Please run 'yarn build' to build the UI.</p>
244
+ </body>
245
+ </html>
246
+ `);
247
+ };
248
+ app.get("/inspector", serveIndex);
249
+ app.get("/inspector/*", serveIndex);
250
+ app.post("/inspector/*", serveIndex);
251
+ app.get("*", (c) => {
252
+ const indexPath = join(distPath, "index.html");
253
+ if (existsSync(indexPath)) {
254
+ const content = injectRuntimeConfig(
255
+ readFileSync(indexPath, "utf-8"),
256
+ effectiveConfig
257
+ );
258
+ return c.html(content);
259
+ }
260
+ return c.html(`
261
+ <!DOCTYPE html>
262
+ <html>
263
+ <head>
264
+ <title>MCP Inspector</title>
265
+ </head>
266
+ <body>
267
+ <h1>MCP Inspector</h1>
268
+ <p>Client files not found. Please run 'yarn build' to build the UI.</p>
269
+ </body>
270
+ </html>
271
+ `);
272
+ });
273
+ }
274
+ function registerStaticRoutesWithDevProxy(app, clientDistPath, runtimeConfig) {
275
+ const distPath = clientDistPath || getClientDistPath();
276
+ const isDev = process.env.NODE_ENV === "development" || process.env.VITE_DEV === "true";
277
+ if (isDev) {
278
+ console.warn(
279
+ "\u{1F527} Development mode: Proxying client requests to Vite dev server"
280
+ );
281
+ app.get("*", async (c) => {
282
+ const path = c.req.path;
283
+ if (path.startsWith("/api/") || path.startsWith("/inspector/api/") || path === "/inspector/config.json") {
284
+ return c.notFound();
285
+ }
286
+ try {
287
+ const viteUrl = `http://localhost:3000${path}`;
288
+ const response = await fetch(viteUrl, {
289
+ signal: AbortSignal.timeout(1e3)
290
+ });
291
+ if (response.ok) {
292
+ const content = await response.text();
293
+ const contentType = response.headers.get("content-type") || "text/html";
294
+ c.header("Content-Type", contentType);
295
+ return c.html(content);
296
+ }
297
+ } catch (error) {
298
+ console.warn(`Failed to proxy to Vite dev server: ${error}`);
299
+ }
300
+ return c.html(`
301
+ <!DOCTYPE html>
302
+ <html>
303
+ <head>
304
+ <title>MCP Inspector - Development</title>
305
+ </head>
306
+ <body>
307
+ <h1>MCP Inspector - Development Mode</h1>
308
+ <p>Vite dev server is not running. Please start it with:</p>
309
+ <pre>yarn dev:client</pre>
310
+ </body>
311
+ </html>
312
+ `);
313
+ });
314
+ } else {
315
+ registerStaticRoutes(app, distPath, runtimeConfig);
316
+ }
317
+ }
318
+
319
+ export {
320
+ registerStaticRoutes,
321
+ registerStaticRoutesWithDevProxy
322
+ };