解决 Windows 下运行 MCP 脚本弹出 WSH 错误窗口的问题 | Windows Script Host
问题出现时机
在我写了一个 mcp server 的 js 脚本,运行 npx @modelcontextprotocol/inspector npx -y path\to\mcp-text-tools.js
命令时
命令作用:启动 MCP 工具脚本(mcp-text-tools.js),并通过 @modelcontextprotocol/inspector 提供调试/检查能力。
出现了错误:
分析
这是因为,过程中,Windows弹窗问我要用什么方式打开这个文件的时候,我无意中选择了 Windows Script Host,于是
- Windows 系统将 .js 文件默认关联到 Windows Script Host (wscript.exe/jscript)。
- 当 Node.js 脚本使用 ES Module 语法(import/export、await) 时,WSH 无法识别,直接弹出错误。
- 不是代码本身问题,而是 Windows 文件关联导致。
解决
通过文件资源管理器重置默认打开方式
-
找到任意一个 .js 文件。
-
右键 → 属性 → 常规 → 更改。
-
选择 Node.js(如果没有,点击“更多应用 → 在这台电脑上查找其他应用”,选择 node.exe)。
在这一步如果忘记了 node.js 安装到哪里,可以用where node
命令
-
勾选“始终使用此应用打开 .js 文件”,点击确定。
更改后长这样: