项目简介

Source Map Parser MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它利用 WebAssembly 技术高效解析 Source Map 文件,将 JavaScript 错误堆栈信息映射回原始源代码。此服务旨在帮助开发者快速定位和解决生产环境中由压缩或混淆代码引起的错误,提高开发效率。

主要功能点

  1. 堆栈信息解析: 根据提供的行号、列号和 Source Map 文件 URL,解析 JavaScript 错误堆栈信息,定位到原始源代码的具体位置。
  2. 批量解析: 支持同时解析多个堆栈信息,并返回批量处理结果。
  3. 上下文代码提取: 可以提取错误代码行周围的上下文代码,帮助开发者更好地理解错误发生的场景。
  4. MCP 服务工具:
    • 'operating_guide': 提供服务的使用指南,帮助用户了解如何使用该 MCP 服务。
    • 'parse_stack': 核心工具,用于解析堆栈信息和 Source Map URL,返回解析后的源代码位置和上下文。

安装步骤

  1. 安装 Node.js 和 npm: 确保你的开发环境中已安装 Node.js 和 npm。
  2. 安装项目: 由于此 MCP 服务器以 npm 包的形式发布,你可以直接使用 'npx' 命令运行,无需本地安装。

服务器配置

MCP 客户端需要配置以下信息以连接到 Source Map Parser MCP Server:

{
  "serverName": "source-map-parser-mcp",
  "command": "npx",
  "args": [
    "-y",
    "source-map-parser-mcp@latest"
  ]
}

配置参数说明:

  • 'serverName': MCP 服务器的名称,这里设置为 "source-map-parser-mcp"。
  • 'command': 启动 MCP 服务器的命令,这里使用 'npx'。
  • 'args': 启动命令的参数,
    • '-y': 'npx' 参数,表示自动确认安装 'source-map-parser-mcp@latest' 包。
    • 'source-map-parser-mcp@latest': 指定要运行的 npm 包及其版本,这里使用最新的 'source-map-parser-mcp' 包。

注意: 此配置适用于通过 npm 包直接运行的情况。如果需要本地开发或修改代码,请参考仓库的本地开发指南。

基本使用方法

  1. 启动 MCP 服务器: MCP 客户端根据上述服务器配置启动 Source Map Parser MCP Server。
  2. 调用 'parse_stack' 工具: MCP 客户端可以使用 'parse_stack' 工具来解析错误堆栈。请求参数需要包含 'stacks' 数组,每个元素包含 'line' (行号), 'column' (列号), 和 'sourceMapUrl' (Source Map 文件 URL)。'ctxOffset' 参数可选,用于指定上下文代码行数,默认为 5 行。

请求示例 (JSON-RPC):

{
  "jsonrpc": "2.0",
  "method": "tool/invoke",
  "params": {
    "tool_name": "parse_stack",
    "arguments": {
      "stacks": [
        {
          "line": 10,
          "column": 5,
          "sourceMapUrl": "https://example.com/source.map"
        }
      ],
      "ctxOffset": 5
    }
  },
  "id": 1
}

响应示例 (JSON-RPC):

{
  "jsonrpc": "2.0",
  "result": {
    "content": [
      {
        "type": "text",
        "text": "[{\"success\":true,\"token\":{\"line\":10,\"column\":5,\"sourceCode\":[{\"line\":8,\"isStackLine\":false,\"raw\":\"function foo() {\"},{\"line\":9,\"isStackLine\":false,\"raw\":\"  console.log('bar');\"},{\"line\":10,\"isStackLine\":true,\"raw\":\"  throw new Error('test');\"},{\"line\":11,\"isStackLine\":false,\"raw\":\"}\"}],\"src\":\"index.js\"}}]"
      }
    ]
  },
  "id": 1
}
  1. 查看解析结果: 服务器返回 JSON 格式的解析结果,包含 'success' 字段指示解析是否成功,'token' 字段包含解析后的源代码信息,'error' 字段包含错误信息(如果解析失败)。

通过 Source Map Parser MCP Server,开发者可以方便地将错误堆栈信息还原为可读的源代码,从而更高效地进行错误排查和修复。

信息

分类

开发者工具