You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于@modelcontextprotocol/inspector日志打印方法的咨询及相关报错问题

关于@modelcontextprotocol/inspector日志打印方法的咨询及相关报错问题

嗨,我来帮你解决这个问题~ 你遇到的console.log/console.error在@modelcontextprotocol/inspector环境里不工作的情况,其实是这个库的设计特性导致的——它通常会劫持或重写全局的console对象,把日志输出导向到自身的调试面板或上下文存储中,而不是默认的浏览器/终端控制台。

下面是几种正确的日志打印方式,你可以试试:

  • 使用Inspector自带的日志API
    这个库本身提供了专门的日志方法,你可以通过已初始化的Inspector实例,或者从请求上下文里获取实例来调用:

    server.setRequestHandler(CallToolRequestSchema, async (request) => {
      const tool = tools.find(t => t.name === request.params.name);
      
      // 从请求上下文获取inspector实例并打印日志
      if (request.context?.inspector) {
        // 普通日志
        request.context.inspector.log("A console log message");
        // 错误日志
        request.context.inspector.error("An error message");
      }
    });
    

    这样的日志会被Inspector收集,你可以在它的调试界面里看到完整的上下文日志。

  • 开启console保留配置
    如果还是想继续用默认的console方法输出,你可以在初始化Inspector的时候添加配置项,让它不劫持全局console:

    import { Inspector } from '@modelcontextprotocol/inspector';
    
    // 初始化时开启preserveConsole配置
    const inspector = new Inspector({
      preserveConsole: true
    });
    

    配置后,console.log/console.error就会像平时一样输出到终端或浏览器控制台了。

  • 检查Inspector调试面板
    另外,即使你用了原来的console.log,这些日志其实可能已经被Inspector收集了——你可以打开MCP Inspector的专属调试界面,里面应该能看到所有被拦截的日志信息,包括你之前用console.error输出的内容。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:44:53