@mcp-use/inspector 12.0.4 → 12.0.5-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.
- package/dist/cdn/inspector.js +3619 -3577
- package/dist/cli.js +2 -2
- package/dist/server/chunk-3YLQA5W4.js +322 -0
- package/dist/server/chunk-J65G3EJO.js +164 -0
- package/dist/server/chunk-W5MSMYXD.js +71 -0
- package/dist/server/cli.js +2 -2
- package/dist/server/index.js +3 -3
- package/dist/server/middleware.js +3 -3
- package/dist/server/server.js +2 -2
- package/dist/server/shared-static.js +2 -2
- package/dist/server/version.js +1 -1
- package/dist/web/assets/{1c-CwgO1SGh.js → 1c-D_MwSdR_.js} +1 -1
- package/dist/web/assets/{abnf-t1uLZJ2p.js → abnf-CmSwPyHq.js} +1 -1
- package/dist/web/assets/{accesslog-BFMlxGKH.js → accesslog-W46kXie_.js} +1 -1
- package/dist/web/assets/{actionscript-BOD_l9F5.js → actionscript-CmN8ttF_.js} +1 -1
- package/dist/web/assets/{ada-BranrJ-r.js → ada-Dw-FQl4Y.js} +1 -1
- package/dist/web/assets/{angelscript-DW7S9M0q.js → angelscript-d4lUIkwB.js} +1 -1
- package/dist/web/assets/{apache-BDk9ALyh.js → apache-DLzjkDrO.js} +1 -1
- package/dist/web/assets/{applescript-ClOo-Ysp.js → applescript-DxXTRiuP.js} +1 -1
- package/dist/web/assets/{arcade-CnFZXacN.js → arcade-DU_FqR4e.js} +1 -1
- package/dist/web/assets/{arduino-C0jqZhi9.js → arduino-HV-MyABP.js} +1 -1
- package/dist/web/assets/{armasm-BOzTBqfa.js → armasm-BFOC7LlS.js} +1 -1
- package/dist/web/assets/{asciidoc-D9vmtjNE.js → asciidoc-Cn5GnJ2H.js} +1 -1
- package/dist/web/assets/{aspectj-L3lw7Tda.js → aspectj-DTADBkLR.js} +1 -1
- package/dist/web/assets/{autohotkey-DTvLHqre.js → autohotkey-mo4lBIAB.js} +1 -1
- package/dist/web/assets/{autoit-IBVVA2bB.js → autoit-Ciac1FdR.js} +1 -1
- package/dist/web/assets/{avrasm-BXsexcgw.js → avrasm-CK8zbExH.js} +1 -1
- package/dist/web/assets/{awk-BDwqphZ_.js → awk-thZM-UYV.js} +1 -1
- package/dist/web/assets/{axapta-B0EIiIXk.js → axapta-CgeV-pjt.js} +1 -1
- package/dist/web/assets/{bash-D3-QOIZG.js → bash-nVF_AbBe.js} +1 -1
- package/dist/web/assets/{basic-Ca6iHaQB.js → basic-DV9m02yY.js} +1 -1
- package/dist/web/assets/{bnf-LZavI9c8.js → bnf-CRxzqSRA.js} +1 -1
- package/dist/web/assets/{brainfuck-nR88DH2B.js → brainfuck-YqwhuJUm.js} +1 -1
- package/dist/web/assets/{c-BFAh9wYE.js → c-BMWVy7Dw.js} +1 -1
- package/dist/web/assets/{c-like-BLzRlF6m.js → c-like-Cc7hgzSk.js} +1 -1
- package/dist/web/assets/{cal-A1F_Lr0g.js → cal-D9DbP5ZH.js} +1 -1
- package/dist/web/assets/{capnproto-BO7cT971.js → capnproto-I0dKS5do.js} +1 -1
- package/dist/web/assets/{ceylon-Duxp9UlQ.js → ceylon-DxTFIQ_G.js} +1 -1
- package/dist/web/assets/{clean-6tFN034m.js → clean-CTE6_PJs.js} +1 -1
- package/dist/web/assets/{clojure-DAYX0_c_.js → clojure-CzTH7Xe1.js} +1 -1
- package/dist/web/assets/{clojure-repl-D8rBxYPg.js → clojure-repl-IckzvHLk.js} +1 -1
- package/dist/web/assets/{cmake-HYlOdrYq.js → cmake-Bvtzwcgr.js} +1 -1
- package/dist/web/assets/{coffeescript-Dkmf7dAH.js → coffeescript-DCbnpZdV.js} +1 -1
- package/dist/web/assets/{coq-BbAyEZ7w.js → coq-B2ndyZtl.js} +1 -1
- package/dist/web/assets/{core-DVf0TcU2.js → core-DWptjSx9.js} +1 -1
- package/dist/web/assets/{cos-BVPu7xdk.js → cos-DkzR6Old.js} +1 -1
- package/dist/web/assets/{cpp-B4Q_I1aQ.js → cpp-qauxKFhj.js} +1 -1
- package/dist/web/assets/{crmsh-BBh2HLwj.js → crmsh-CpTfcskr.js} +1 -1
- package/dist/web/assets/{crystal-0kEN4lWu.js → crystal-DWs-VS-S.js} +1 -1
- package/dist/web/assets/{csharp-DOZna7PF.js → csharp-BqdOlVR3.js} +1 -1
- package/dist/web/assets/{csp-BFH12N2v.js → csp-DedJkAIl.js} +1 -1
- package/dist/web/assets/{css-BTW6Ae91.js → css-DqlZlZkM.js} +1 -1
- package/dist/web/assets/{d-LssPo2_I.js → d-q7RcmYOv.js} +1 -1
- package/dist/web/assets/{dart-e1MisfsG.js → dart-B_4sdUcj.js} +1 -1
- package/dist/web/assets/{delphi-CFBw0BPt.js → delphi-BBB84iOz.js} +1 -1
- package/dist/web/assets/{diff-uTOgpado.js → diff-_u-uJBvE.js} +1 -1
- package/dist/web/assets/{django-BAYKkPOV.js → django-CLqjKIP2.js} +1 -1
- package/dist/web/assets/{dns-CF2ck4sI.js → dns-B3z7egij.js} +1 -1
- package/dist/web/assets/{dockerfile-DuBKGzGd.js → dockerfile-DIYvpWut.js} +1 -1
- package/dist/web/assets/{dos-BpxqKcjN.js → dos-YK21Ou0-.js} +1 -1
- package/dist/web/assets/{dsconfig-xiqGTN2K.js → dsconfig-CMzsizfl.js} +1 -1
- package/dist/web/assets/{dts-Be-J2GIA.js → dts-DBhnOvj6.js} +1 -1
- package/dist/web/assets/{dust-DXPXG-6y.js → dust-us0gagti.js} +1 -1
- package/dist/web/assets/{ebnf-MP6sb51t.js → ebnf-Cjb_EyYD.js} +1 -1
- package/dist/web/assets/{elixir-ha33ayG9.js → elixir-CkHENwDN.js} +1 -1
- package/dist/web/assets/{elm-CulvLNnZ.js → elm-DiT9VtWD.js} +1 -1
- package/dist/web/assets/{erb-gqT2ubfS.js → erb-DL33laMq.js} +1 -1
- package/dist/web/assets/{erlang-Dqosw3ym.js → erlang-B6TGOp5K.js} +1 -1
- package/dist/web/assets/{erlang-repl-BZdc2P9x.js → erlang-repl-CqaUHAO8.js} +1 -1
- package/dist/web/assets/{excel-DPNYYKbv.js → excel-CPRuFJCG.js} +1 -1
- package/dist/web/assets/{fix-ELvLDOwK.js → fix-DcyI6t2d.js} +1 -1
- package/dist/web/assets/{flix-BtakpEks.js → flix-B58iJh8G.js} +1 -1
- package/dist/web/assets/{fortran-COjqPUML.js → fortran-BWwGkKTj.js} +1 -1
- package/dist/web/assets/{fsharp-x9ydszs2.js → fsharp-BLmZMUpM.js} +1 -1
- package/dist/web/assets/{gams-C3spfCpQ.js → gams-Bc6yRxlP.js} +1 -1
- package/dist/web/assets/{gauss-CHtZYRCa.js → gauss-DP_56WCB.js} +1 -1
- package/dist/web/assets/{gcode-BuZ5Uhs7.js → gcode-AFZn-hHx.js} +1 -1
- package/dist/web/assets/{gherkin-6G-WeCTe.js → gherkin-CftG6hiP.js} +1 -1
- package/dist/web/assets/{glsl-DalXvFPc.js → glsl-CY18FBm8.js} +1 -1
- package/dist/web/assets/{gml-wcxbpuao.js → gml-Db7AuJ5Z.js} +1 -1
- package/dist/web/assets/{go-Ccc9eSpZ.js → go-BqRRnfSn.js} +1 -1
- package/dist/web/assets/{golo-Cngq5VwD.js → golo-CskzWV2V.js} +1 -1
- package/dist/web/assets/{gradle-ZGxtErUT.js → gradle-vLsPAtJc.js} +1 -1
- package/dist/web/assets/{groovy-DMF-TGOf.js → groovy-CVxIUhut.js} +1 -1
- package/dist/web/assets/{haml-CiZvOORc.js → haml-Bv5kGRJt.js} +1 -1
- package/dist/web/assets/{handlebars-BO3VCvi0.js → handlebars-B_9Bjr8c.js} +1 -1
- package/dist/web/assets/{haskell-BHVxyOaA.js → haskell-Bz3anr1S.js} +1 -1
- package/dist/web/assets/{haxe-C7FB89cG.js → haxe-J01r8-i1.js} +1 -1
- package/dist/web/assets/{hsp-92IxJPLa.js → hsp-Byuv_-p1.js} +1 -1
- package/dist/web/assets/{htmlbars-DCqNNBaQ.js → htmlbars-l38SnIEM.js} +1 -1
- package/dist/web/assets/{http-NFtcqgy-.js → http-DuzUKpVh.js} +1 -1
- package/dist/web/assets/{hy-D_VqD8jm.js → hy-Cq2qqLn7.js} +1 -1
- package/dist/web/assets/{index-DzLO7etO.js → index-kranv70m.js} +117 -117
- package/dist/web/assets/{inform7-DFZmp90j.js → inform7-B2Heovfs.js} +1 -1
- package/dist/web/assets/{ini-CHBEA-QV.js → ini-DPfq-nn7.js} +1 -1
- package/dist/web/assets/{irpf90-J1N2vEwg.js → irpf90-tCaGaKxd.js} +1 -1
- package/dist/web/assets/{isbl-CrNlc6d8.js → isbl-CxwHU8Hl.js} +1 -1
- package/dist/web/assets/{java-Cpg203H9.js → java-CONGYPnR.js} +1 -1
- package/dist/web/assets/{javascript-Cm38NSjZ.js → javascript-vKNLqcw_.js} +1 -1
- package/dist/web/assets/{jboss-cli-B_vlBf9z.js → jboss-cli-BJEzGtfT.js} +1 -1
- package/dist/web/assets/{json-CD4xqnBE.js → json-Dv4zw3tE.js} +1 -1
- package/dist/web/assets/{julia-DFnRXfnD.js → julia-CKs77mNB.js} +1 -1
- package/dist/web/assets/{julia-repl-8o4GplPc.js → julia-repl-DwbYVIvL.js} +1 -1
- package/dist/web/assets/{kotlin-DktYDLD_.js → kotlin-Ci3mqUNt.js} +1 -1
- package/dist/web/assets/{lasso-CuSLSoyR.js → lasso-DcrZ0ZN4.js} +1 -1
- package/dist/web/assets/{latex-CXbeb_Ze.js → latex-JkxAdsMG.js} +1 -1
- package/dist/web/assets/{ldif-DS8DagDc.js → ldif-baxu3jGj.js} +1 -1
- package/dist/web/assets/{leaf-CWsw2e9z.js → leaf-BkTDXPPI.js} +1 -1
- package/dist/web/assets/{less-CxW39pMK.js → less-C7ypwhj4.js} +1 -1
- package/dist/web/assets/{lisp-D3nJZmUh.js → lisp-Bzvp4sa8.js} +1 -1
- package/dist/web/assets/{livecodeserver-WB8t13Ni.js → livecodeserver-DvlwmTNw.js} +1 -1
- package/dist/web/assets/{livescript-3x1qP_VW.js → livescript-DOn6m0Pn.js} +1 -1
- package/dist/web/assets/{llvm-BGdNeBOj.js → llvm-BlHSReH3.js} +1 -1
- package/dist/web/assets/{lsl-cVvfhtei.js → lsl-CSmEItPt.js} +1 -1
- package/dist/web/assets/{lua-CbotOK05.js → lua-B9ly6xH2.js} +1 -1
- package/dist/web/assets/{makefile-Cn-SVjev.js → makefile-BdkzDmv7.js} +1 -1
- package/dist/web/assets/{markdown-Dq8V3MFr.js → markdown-CNBBvwSZ.js} +1 -1
- package/dist/web/assets/{mathematica-CQkVPIFs.js → mathematica-DRM4NmpT.js} +1 -1
- package/dist/web/assets/{matlab-UZxin53X.js → matlab-D9pE2N3X.js} +1 -1
- package/dist/web/assets/{maxima-D2BOyw6n.js → maxima-DZe4kNvT.js} +1 -1
- package/dist/web/assets/{mel-BtTHZwaL.js → mel-BLnF_ZQi.js} +1 -1
- package/dist/web/assets/{mercury-Co_agHCN.js → mercury-DOaqnm7Q.js} +1 -1
- package/dist/web/assets/{mipsasm-DSu1lA4C.js → mipsasm-BlQu2Q6x.js} +1 -1
- package/dist/web/assets/{mizar-CGYnkSwt.js → mizar-BpPXwxUg.js} +1 -1
- package/dist/web/assets/{mojolicious-DbNRcTad.js → mojolicious-DNkXlTwY.js} +1 -1
- package/dist/web/assets/{monkey-DUa1AmMP.js → monkey-B3L98F8P.js} +1 -1
- package/dist/web/assets/{moonscript-DhrzFDDq.js → moonscript-C9LChlO-.js} +1 -1
- package/dist/web/assets/{n1ql-BHZsK4Cx.js → n1ql-CD6Ud1Es.js} +1 -1
- package/dist/web/assets/{nginx-KF0pjiOv.js → nginx-DF6AD6dU.js} +1 -1
- package/dist/web/assets/{nim-DqoG1oSa.js → nim-pdr84WRo.js} +1 -1
- package/dist/web/assets/{nix-PRH3SVrH.js → nix-Cz4g3Z0X.js} +1 -1
- package/dist/web/assets/{node-repl-bANMLuN_.js → node-repl-CRxR_i3N.js} +1 -1
- package/dist/web/assets/{nsis-Bj7ND1-7.js → nsis-CMs-KlGS.js} +1 -1
- package/dist/web/assets/{objectivec-DxL3xjb5.js → objectivec-Dk4qmCE5.js} +1 -1
- package/dist/web/assets/{ocaml-woiHrzOl.js → ocaml-Bi6lr0k1.js} +1 -1
- package/dist/web/assets/{openscad-zZlyQRuw.js → openscad-B1PgVk0P.js} +1 -1
- package/dist/web/assets/{oxygene-XlskiQwv.js → oxygene-BWfSeFDO.js} +1 -1
- package/dist/web/assets/{parser3-DsGGu_su.js → parser3-ETmkaO6N.js} +1 -1
- package/dist/web/assets/{perl-Cq6qpStW.js → perl-DD4GAKBI.js} +1 -1
- package/dist/web/assets/{pf-Cs1NiO8j.js → pf-W_YXOFoG.js} +1 -1
- package/dist/web/assets/{pgsql-Cn3v7MFk.js → pgsql-C4qeT0fD.js} +1 -1
- package/dist/web/assets/{php-Xu9Epq6Q.js → php-i0MAWQBX.js} +1 -1
- package/dist/web/assets/{php-template-CCQGrpL1.js → php-template-CNndL3Yn.js} +1 -1
- package/dist/web/assets/plaintext-BjLaIuzr.js +1 -0
- package/dist/web/assets/{pony-OPwGTiom.js → pony-Ci2YnkwL.js} +1 -1
- package/dist/web/assets/{powershell-DfEKTEaN.js → powershell-xVixuU83.js} +1 -1
- package/dist/web/assets/{processing-Bf4vjtl8.js → processing-lcvCOo2O.js} +1 -1
- package/dist/web/assets/{profile-Bl50m6A0.js → profile-DFlztIqk.js} +1 -1
- package/dist/web/assets/{prolog-D3qik3EO.js → prolog-Bbcp7--6.js} +1 -1
- package/dist/web/assets/{properties-Cv7OgNh0.js → properties-Dsrf6wIm.js} +1 -1
- package/dist/web/assets/{protobuf-BVfPsS1X.js → protobuf-01bQSm6r.js} +1 -1
- package/dist/web/assets/{puppet-B6z0yU09.js → puppet-Dq9mOqmo.js} +1 -1
- package/dist/web/assets/{purebasic-B7NuDJLj.js → purebasic-BevV_nPZ.js} +1 -1
- package/dist/web/assets/{python-Ck1eRNKA.js → python-CUBrw9Eo.js} +1 -1
- package/dist/web/assets/{python-repl-B5CSztfG.js → python-repl-CDv9Rd6U.js} +1 -1
- package/dist/web/assets/{q-CjxryLgH.js → q-B6Q5aB4d.js} +1 -1
- package/dist/web/assets/{qml-CZCaggZI.js → qml-hHR6Prbg.js} +1 -1
- package/dist/web/assets/{r-9mISwomL.js → r-B8qUGelm.js} +1 -1
- package/dist/web/assets/{reasonml-IrKfVcnz.js → reasonml-DMjcfFoh.js} +1 -1
- package/dist/web/assets/{rib-DGnVQnWP.js → rib-BXn6XRCn.js} +1 -1
- package/dist/web/assets/{roboconf-4pXRouye.js → roboconf-CKtcpFIF.js} +1 -1
- package/dist/web/assets/{routeros-4Q1ZUx45.js → routeros-B-jz2W6e.js} +1 -1
- package/dist/web/assets/rpc-logger-TPNV75J4-DEnvOSjt.js +1 -0
- package/dist/web/assets/{rsl-DMESiHg-.js → rsl-B65zVU2c.js} +1 -1
- package/dist/web/assets/{ruby-CqHO_vHY.js → ruby-CL6UDCSb.js} +1 -1
- package/dist/web/assets/{ruleslanguage-DbtftoA4.js → ruleslanguage-BWUbDa70.js} +1 -1
- package/dist/web/assets/{rust-CeJt01w4.js → rust-B12Ow1Dt.js} +1 -1
- package/dist/web/assets/{sas-C_nrmZeT.js → sas-B5NAY_Hh.js} +1 -1
- package/dist/web/assets/{scala-BW2myIz0.js → scala-TjvyczcC.js} +1 -1
- package/dist/web/assets/{scheme-Cw2MPt9h.js → scheme-DRAXkPj1.js} +1 -1
- package/dist/web/assets/{scilab-B1E1gtme.js → scilab-BjmG0Kta.js} +1 -1
- package/dist/web/assets/{scss-JNokHiSX.js → scss-Dl16Xmfs.js} +1 -1
- package/dist/web/assets/{shell-DbLZBblg.js → shell-ColACAF5.js} +1 -1
- package/dist/web/assets/{smali-CpvYI9Kh.js → smali-3d_-RbKn.js} +1 -1
- package/dist/web/assets/{smalltalk-COfyCIAq.js → smalltalk-BoVbx2bi.js} +1 -1
- package/dist/web/assets/{sml-B3CdLQ4n.js → sml-8Z0bxJng.js} +1 -1
- package/dist/web/assets/{sqf-DwnkzU6f.js → sqf-D4mAf0P7.js} +1 -1
- package/dist/web/assets/{sql-C-O6bJ41.js → sql-BnRMQItR.js} +1 -1
- package/dist/web/assets/{sql_more-CGcXtMgf.js → sql_more-C2AKS-kd.js} +1 -1
- package/dist/web/assets/{stan-Cr8HyC36.js → stan-b3zT5O_D.js} +1 -1
- package/dist/web/assets/{stata-yXRxBIi5.js → stata-C5oOZcOg.js} +1 -1
- package/dist/web/assets/{step21-CgtWjfHV.js → step21-C_ZErrl6.js} +1 -1
- package/dist/web/assets/{stylus-yT8zv9Uo.js → stylus-TzyjSiOo.js} +1 -1
- package/dist/web/assets/{subunit-DysUsBGe.js → subunit-BjkQ8wPz.js} +1 -1
- package/dist/web/assets/{swift-JjuFO3wZ.js → swift-cxbsHZHx.js} +1 -1
- package/dist/web/assets/{taggerscript-BqeDrfwF.js → taggerscript-DR94VGIw.js} +1 -1
- package/dist/web/assets/{tap-DCJJun36.js → tap-B0aFuzjc.js} +1 -1
- package/dist/web/assets/{tcl-DNe6maKV.js → tcl-Dlj_Eywt.js} +1 -1
- package/dist/web/assets/{thrift-qNTj4mAw.js → thrift-0Yvdksv7.js} +1 -1
- package/dist/web/assets/{tp-58jaFKzJ.js → tp-fYi91Yrm.js} +1 -1
- package/dist/web/assets/{twig-Dg9xlnDM.js → twig-COjHva_g.js} +1 -1
- package/dist/web/assets/{typescript-DB5v0js8.js → typescript-DkOH4aLE.js} +1 -1
- package/dist/web/assets/{vala-Dqy55cZG.js → vala-DYbiIPJJ.js} +1 -1
- package/dist/web/assets/{vbnet-ChhLra4i.js → vbnet-DiEn09cf.js} +1 -1
- package/dist/web/assets/{vbscript-BjbRzIim.js → vbscript-Cgq_kmdU.js} +1 -1
- package/dist/web/assets/{vbscript-html-C9BhFCQX.js → vbscript-html-B-a6omkX.js} +1 -1
- package/dist/web/assets/{verilog-V4Hb8sO2.js → verilog-DgM2Y6XO.js} +1 -1
- package/dist/web/assets/{vhdl-Bej-HO4G.js → vhdl-DOGAIr7J.js} +1 -1
- package/dist/web/assets/{vim-DqzJUh2Z.js → vim-CTHrkL0W.js} +1 -1
- package/dist/web/assets/{x86asm-DfGq8Za6.js → x86asm-ykbUdYV6.js} +1 -1
- package/dist/web/assets/{xl-FQ9vlAly.js → xl-DX9TkNvI.js} +1 -1
- package/dist/web/assets/{xml-CMvnQIoK.js → xml-CYt9IF83.js} +1 -1
- package/dist/web/assets/{xquery-HehsmoZ6.js → xquery-CbFYOj9B.js} +1 -1
- package/dist/web/assets/{yaml-oACupm4z.js → yaml-DtEwYQkV.js} +1 -1
- package/dist/web/assets/{zephir-4yqbLUxj.js → zephir-DZ8mAl29.js} +1 -1
- package/dist/web/index.html +2 -2
- package/package.json +3 -3
- package/dist/web/assets/plaintext-Djd7-nfN.js +0 -1
- package/dist/web/assets/rpc-logger-TPNV75J4-Drf_FFck.js +0 -1
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.
|
|
3336
|
+
version: "12.0.5-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.
|
|
3415
|
+
"mcp-use": ">=1.34.5-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,322 @@
|
|
|
1
|
+
import {
|
|
2
|
+
getInspectorVersion
|
|
3
|
+
} from "./chunk-J65G3EJO.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 & 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 & 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
|
+
};
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
// package.json
|
|
2
|
+
var package_default = {
|
|
3
|
+
name: "@mcp-use/inspector",
|
|
4
|
+
type: "module",
|
|
5
|
+
version: "12.0.5-canary.0",
|
|
6
|
+
description: "MCP Inspector - A tool for inspecting and debugging MCP servers",
|
|
7
|
+
author: "",
|
|
8
|
+
license: "MIT",
|
|
9
|
+
homepage: "https://github.com/mcp-use/mcp-use#readme",
|
|
10
|
+
repository: {
|
|
11
|
+
type: "git",
|
|
12
|
+
url: "git+https://github.com/mcp-use/mcp-use.git",
|
|
13
|
+
directory: "libraries/typescript/packages/inspector"
|
|
14
|
+
},
|
|
15
|
+
bugs: {
|
|
16
|
+
url: "https://github.com/mcp-use/mcp-use/issues"
|
|
17
|
+
},
|
|
18
|
+
keywords: [
|
|
19
|
+
"mcp",
|
|
20
|
+
"inspector",
|
|
21
|
+
"debug",
|
|
22
|
+
"tools"
|
|
23
|
+
],
|
|
24
|
+
exports: {
|
|
25
|
+
".": {
|
|
26
|
+
types: "./dist/server/index.d.ts",
|
|
27
|
+
import: "./dist/server/index.js"
|
|
28
|
+
},
|
|
29
|
+
"./client": {
|
|
30
|
+
types: "./dist/client/index.d.ts",
|
|
31
|
+
import: "./dist/client/index.js"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
main: "./dist/server/index.js",
|
|
35
|
+
types: "./dist/server/index.d.ts",
|
|
36
|
+
bin: {
|
|
37
|
+
"mcp-inspect": "./dist/cli.js"
|
|
38
|
+
},
|
|
39
|
+
files: [
|
|
40
|
+
"dist"
|
|
41
|
+
],
|
|
42
|
+
scripts: {
|
|
43
|
+
dev: 'concurrently "npm run dev:client" "npm run dev:server"',
|
|
44
|
+
"dev:client": "rimraf node_modules/.vite && vite --port 3000",
|
|
45
|
+
"dev:server": "VITE_DEV=true tsx watch src/server/server.ts",
|
|
46
|
+
"dev:standalone": "tsx watch src/server/server.ts",
|
|
47
|
+
build: "npm run build:client && npm run build:client-exports && npm run build:server && npm run build:cli && npm run build:cdn",
|
|
48
|
+
"build:cdn": "vite build --config vite.cdn.config.ts",
|
|
49
|
+
"build:client": "vite build",
|
|
50
|
+
"build:client-exports": "tsup --config tsup.client.ts && tsc -p tsconfig.client.json --emitDeclarationOnly --declaration",
|
|
51
|
+
"build:server": "tsup src/server/*.ts --format esm --out-dir dist/server && tsc -p tsconfig.server.json --emitDeclarationOnly --declaration",
|
|
52
|
+
"build:cli": "tsup src/server/cli.ts --format esm --out-dir dist/",
|
|
53
|
+
prepublishOnly: "pnpm --filter mcp-use build && pnpm build",
|
|
54
|
+
start: "node dist/server/server.js",
|
|
55
|
+
preview: "vite preview",
|
|
56
|
+
"type-check": "tsc --noEmit",
|
|
57
|
+
lint: "eslint .",
|
|
58
|
+
"lint:fix": "eslint . --fix",
|
|
59
|
+
"test:e2e": "playwright test",
|
|
60
|
+
"test:e2e:ui": "playwright test --ui",
|
|
61
|
+
"test:e2e:debug": "playwright test --debug",
|
|
62
|
+
"test:e2e:builtin": "node tests/e2e/scripts/run-test-matrix.mjs builtin",
|
|
63
|
+
"test:e2e:prod": "node tests/e2e/scripts/run-test-matrix.mjs prod",
|
|
64
|
+
"test:e2e:mix": "node tests/e2e/scripts/run-test-matrix.mjs mix",
|
|
65
|
+
"test:e2e:prod:ui": "TEST_MODE=production playwright test --ui",
|
|
66
|
+
"test:e2e:codegen": "playwright codegen http://localhost:3000/inspector",
|
|
67
|
+
"test:e2e:report": "playwright show-report",
|
|
68
|
+
"test:e2e:python": "node tests/e2e/scripts/run-python-e2e.mjs",
|
|
69
|
+
"test:unit": "vitest run",
|
|
70
|
+
"test:unit:watch": "vitest",
|
|
71
|
+
"test:e2e:tunnel": "node tests/e2e/scripts/run-tunnel-test.mjs",
|
|
72
|
+
"install:yarn": "yarn install",
|
|
73
|
+
"install:pnpm": "pnpm install",
|
|
74
|
+
"install:npm": "npm install",
|
|
75
|
+
"lint:yarn": "yarn eslint . --fix",
|
|
76
|
+
"lint:npm": "npm run lint:fix",
|
|
77
|
+
"lint:pnpm": "pnpm lint:fix"
|
|
78
|
+
},
|
|
79
|
+
engines: {
|
|
80
|
+
node: "^20.19.0 || >=22.12.0"
|
|
81
|
+
},
|
|
82
|
+
peerDependencies: {
|
|
83
|
+
express: "^4.21.2 || ^5.0.0",
|
|
84
|
+
"mcp-use": ">=1.34.5-canary.0",
|
|
85
|
+
react: "^18.0.0 || ^19.0.0",
|
|
86
|
+
"react-dom": "^18.0.0 || ^19.0.0",
|
|
87
|
+
"react-router": "^7.12.0"
|
|
88
|
+
},
|
|
89
|
+
peerDependenciesMeta: {
|
|
90
|
+
express: {
|
|
91
|
+
optional: true
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
dependencies: {
|
|
95
|
+
"@hono/node-server": "^1.19.13",
|
|
96
|
+
"@modelcontextprotocol/ext-apps": "^1.0.1",
|
|
97
|
+
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
98
|
+
"@paper-design/shaders-react": "^0.0.72",
|
|
99
|
+
"@radix-ui/react-alert-dialog": "^1.1.15",
|
|
100
|
+
"@radix-ui/react-avatar": "^1.1.11",
|
|
101
|
+
"@radix-ui/react-checkbox": "^1.3.3",
|
|
102
|
+
"@radix-ui/react-dialog": "^1.1.15",
|
|
103
|
+
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
104
|
+
"@radix-ui/react-label": "^2.1.8",
|
|
105
|
+
"@radix-ui/react-popover": "^1.1.15",
|
|
106
|
+
"@radix-ui/react-select": "^2.2.6",
|
|
107
|
+
"@radix-ui/react-switch": "^1.2.6",
|
|
108
|
+
"@radix-ui/react-tooltip": "^1.2.8",
|
|
109
|
+
"@scarf/scarf": "^1.4.0",
|
|
110
|
+
"@tailwindcss/vite": "^4.2.0",
|
|
111
|
+
"@types/react-syntax-highlighter": "^15.5.13",
|
|
112
|
+
"class-variance-authority": "^0.7.1",
|
|
113
|
+
clsx: "^2.1.1",
|
|
114
|
+
cmdk: "^1.1.1",
|
|
115
|
+
hono: "^4.12.12",
|
|
116
|
+
"lucide-react": "^0.562.0",
|
|
117
|
+
"markdown-to-jsx": "^9.7.4",
|
|
118
|
+
"mcp-use": "workspace:*",
|
|
119
|
+
motion: "^12.34.2",
|
|
120
|
+
"next-themes": "^0.4.6",
|
|
121
|
+
open: "^11.0.0",
|
|
122
|
+
"posthog-node": "^5.24.17",
|
|
123
|
+
"react-resizable-panels": "^4.6.4",
|
|
124
|
+
"react-syntax-highlighter": "^16.1.0",
|
|
125
|
+
sonner: "^2.0.7",
|
|
126
|
+
"tailwind-merge": "^3.5.0",
|
|
127
|
+
zod: "4.3.5"
|
|
128
|
+
},
|
|
129
|
+
publishConfig: {
|
|
130
|
+
access: "public"
|
|
131
|
+
},
|
|
132
|
+
devDependencies: {
|
|
133
|
+
"@playwright/test": "^1.58.2",
|
|
134
|
+
"@radix-ui/react-slot": "^1.2.4",
|
|
135
|
+
"@types/express": "^5.0.6",
|
|
136
|
+
"@vitejs/plugin-react": "^6.0.0",
|
|
137
|
+
concurrently: "^9.2.1",
|
|
138
|
+
emulate: "0.5.0",
|
|
139
|
+
eslint: "^9.39.2",
|
|
140
|
+
express: "^5.2.1",
|
|
141
|
+
"oauth2-mock-server": "^8.2.2",
|
|
142
|
+
react: "^19.2.3",
|
|
143
|
+
"react-dom": "^19.2.3",
|
|
144
|
+
"react-router": "^7.12.0",
|
|
145
|
+
tailwindcss: "^4.2.0",
|
|
146
|
+
tsup: "^8.5.1",
|
|
147
|
+
tsx: "^4.21.0",
|
|
148
|
+
"tw-animate-css": "^1.4.0",
|
|
149
|
+
vite: "^8.0.16",
|
|
150
|
+
vitest: "^4.1.0",
|
|
151
|
+
"wait-on": "^9.0.4"
|
|
152
|
+
}
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
// src/server/version.ts
|
|
156
|
+
var VERSION = package_default.version;
|
|
157
|
+
function getInspectorVersion() {
|
|
158
|
+
return VERSION;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export {
|
|
162
|
+
VERSION,
|
|
163
|
+
getInspectorVersion
|
|
164
|
+
};
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import {
|
|
2
|
+
registerInspectorRoutes
|
|
3
|
+
} from "./chunk-A4VH7AIP.js";
|
|
4
|
+
import {
|
|
5
|
+
registerStaticRoutes
|
|
6
|
+
} from "./chunk-3YLQA5W4.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
|
+
};
|
package/dist/server/cli.js
CHANGED
|
@@ -13,10 +13,10 @@ import {
|
|
|
13
13
|
import "./chunk-CVECQ7BJ.js";
|
|
14
14
|
import {
|
|
15
15
|
registerStaticRoutes
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-3YLQA5W4.js";
|
|
17
17
|
import {
|
|
18
18
|
getInspectorVersion
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-J65G3EJO.js";
|
|
20
20
|
import "./chunk-IDMHJUEM.js";
|
|
21
21
|
import "./chunk-PKBMQBKP.js";
|
|
22
22
|
|
package/dist/server/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mountInspector
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W5MSMYXD.js";
|
|
4
4
|
import "./chunk-A4VH7AIP.js";
|
|
5
5
|
import {
|
|
6
6
|
handleChatRequest,
|
|
@@ -12,8 +12,8 @@ import {
|
|
|
12
12
|
} from "./chunk-QQ37LGLJ.js";
|
|
13
13
|
import "./chunk-KD7K27XK.js";
|
|
14
14
|
import "./chunk-CVECQ7BJ.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-3YLQA5W4.js";
|
|
16
|
+
import "./chunk-J65G3EJO.js";
|
|
17
17
|
import "./chunk-IDMHJUEM.js";
|
|
18
18
|
import "./chunk-PKBMQBKP.js";
|
|
19
19
|
export {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
mountInspector
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-W5MSMYXD.js";
|
|
4
4
|
import "./chunk-A4VH7AIP.js";
|
|
5
5
|
import "./chunk-PJNKFX2R.js";
|
|
6
6
|
import "./chunk-QQ37LGLJ.js";
|
|
7
7
|
import "./chunk-KD7K27XK.js";
|
|
8
8
|
import "./chunk-CVECQ7BJ.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-3YLQA5W4.js";
|
|
10
|
+
import "./chunk-J65G3EJO.js";
|
|
11
11
|
import "./chunk-IDMHJUEM.js";
|
|
12
12
|
import "./chunk-PKBMQBKP.js";
|
|
13
13
|
export {
|
package/dist/server/server.js
CHANGED
|
@@ -13,8 +13,8 @@ import {
|
|
|
13
13
|
import "./chunk-CVECQ7BJ.js";
|
|
14
14
|
import {
|
|
15
15
|
registerStaticRoutesWithDevProxy
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-3YLQA5W4.js";
|
|
17
|
+
import "./chunk-J65G3EJO.js";
|
|
18
18
|
import "./chunk-IDMHJUEM.js";
|
|
19
19
|
import "./chunk-PKBMQBKP.js";
|
|
20
20
|
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {
|
|
2
2
|
registerStaticRoutes,
|
|
3
3
|
registerStaticRoutesWithDevProxy
|
|
4
|
-
} from "./chunk-
|
|
5
|
-
import "./chunk-
|
|
4
|
+
} from "./chunk-3YLQA5W4.js";
|
|
5
|
+
import "./chunk-J65G3EJO.js";
|
|
6
6
|
import "./chunk-IDMHJUEM.js";
|
|
7
7
|
import "./chunk-PKBMQBKP.js";
|
|
8
8
|
export {
|