Skip to main content
Glama

Source Map Parser MCP Server

Analizador de mapas de origen

🌐语言: Inglés |简体中文

Este proyecto implementa un analizador de mapas de origen basado en WebAssembly que puede mapear los rastros de pila de errores de JavaScript al código fuente y extraer información de contexto relevante. Los desarrolladores pueden mapear fácilmente los rastros de pila de errores de JavaScript al código fuente para una rápida identificación y resolución de problemas. Esta documentación tiene como objetivo ayudar a los desarrolladores a comprender y utilizar mejor esta herramienta.

Integración MCP

Nota: Requiere compatibilidad con Node.js 18+

Opción 1: Ejecutar directamente con NPX

npx -y source-map-parser-mcp@latest

Opción 2: Descargar los artefactos de compilación

Descargue la versión correspondiente de los artefactos de compilación desde la página de lanzamiento de GitHub y luego ejecute:

node dist/main.es.js

Configuración de parámetros de tiempo de ejecución

Los parámetros de tiempo de ejecución del sistema se pueden configurar de forma flexible a través de variables de entorno para satisfacer las necesidades de diferentes escenarios.

  • SOURCE_MAP_PARSER_RESOURCE_CACHE_MAX_SIZE : Establece el espacio máximo de memoria ocupado por la caché de recursos; el valor predeterminado es 200 MB. Ajustar este valor correctamente puede equilibrar el rendimiento y el uso de memoria.
  • SOURCE_MAP_PARSER_CONTEXT_OFFSET_LINE : Define el número de líneas de código de contexto que se mostrarán alrededor de la ubicación del error; el valor predeterminado es 1 línea. Aumentar este valor proporciona más información de contexto, lo que facilita el diagnóstico del problema.

Ejemplo:

# Set 500MB cache and display 3 lines of context export SOURCE_MAP_PARSER_RESOURCE_CACHE_MAX_SIZE=500 export SOURCE_MAP_PARSER_CONTEXT_OFFSET_LINE=3 npx -y source-map-parser-mcp@latest

Descripción general de las funciones

  1. Análisis de pila : analiza la ubicación del código fuente correspondiente según el número de línea, el número de columna y el archivo de mapa de origen proporcionados.
  2. Procesamiento por lotes : admite el análisis de múltiples seguimientos de pila simultáneamente y devuelve resultados por lotes.
  3. Extracción de contexto : extrae el código de contexto para una cantidad específica de líneas para ayudar a los desarrolladores a comprender mejor el entorno donde ocurren los errores.

Descripción de la herramienta de servicio MCP

operating_guide

Obtenga instrucciones de uso del servicio MCP. Proporciona información sobre cómo usarlo mediante chat.

parse_stack

Analizar la información de la pila proporcionando seguimientos de pila y direcciones del mapa de origen.

Ejemplo de solicitud
  • pilas: información de la pila que incluye el número de línea, el número de columna y la dirección del mapa de origen.
    • línea: Número de línea, obligatorio.
    • columna: Número de columna, obligatorio.
    • sourceMapUrl: Dirección del mapa de origen, obligatoria.
{ "stacks": [ { "line": 10, "column": 5, "sourceMapUrl": "https://example.com/source.map" } ] }
Ejemplo de respuesta
{ "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\"}}]" } ] }

Descripción del resultado del análisis

  • success : indica si el análisis fue exitoso.
  • token : el objeto Token devuelto cuando el análisis es exitoso, que contiene el número de línea del código fuente, el número de columna, el código de contexto y otra información.
  • error : Se devuelve información de error cuando falla el análisis.

Ejemplo de ejecución

Indicador del sistema

Según las necesidades reales, puede usar indicaciones del sistema para guiar al modelo sobre cómo analizar la información de la pila. Por razones de seguridad o rendimiento, algunos equipos podrían no querer exponer los mapas de origen directamente al navegador para su análisis, sino procesar su ruta de carga. Por ejemplo, convertir la ruta bar-special.js a special/bar.js.map . En este caso, puede indicar al modelo que realice la conversión de ruta mediante reglas de indicaciones.

He aquí un ejemplo:

# Error Stack Trace Parsing Rules When performing source map parsing, please follow these rules: 1. If the URL contains `special`, the file should be parsed into the `special/` directory, while removing `-special` from the filename. 2. All source map files are stored in the following CDN directory: `https://cdn.jsdelivr.net/gh/MasonChow/source-map-parser-mcp@main/example/` ## Examples - Source map address for `bar-special.js`: `https://cdn.jsdelivr.net/gh/MasonChow/source-map-parser-mcp@main/example/special/bar.js.map`

Ejemplo de tiempo de ejecución

Pila de errores

Uncaught Error: This is a error at foo-special.js:49:34832 at ka (foo-special.js:48:83322) at Vs (foo-special.js:48:98013) at Et (foo-special.js:48:97897) at Vs (foo-special.js:48:98749) at Et (foo-special.js:48:97897) at Vs (foo-special.js:48:98059) at sv (foo-special.js:48:110550) at foo-special.js:48:107925 at MessagePort.Ot (foo-special.js:25:1635)

Ejemplo de tiempo de ejecución

Preguntas frecuentes

1. Error al cargar el módulo WebAssembly

Si la herramienta devuelve el siguiente mensaje de error, solucione el problema de la siguiente manera:

Error de inicialización del analizador: WebAssembly.instantiate(): tipo de valor no válido 'externref', habilitar con --experimental-wasm-reftypes @+86

  1. Verificar la versión de Node.js : Asegúrate de que la versión de Node.js sea la 18 o superior. Si es inferior a la 18, actualiza Node.js.
  2. Habilitar bandera experimental : si la versión de Node.js es 18+ pero aún tiene problemas, use el siguiente comando para iniciar la herramienta:
    npx --node-arg=--experimental-wasm-reftypes -y source-map-parser-mcp@latest

Guía de desarrollo local

1. Instalar dependencias

Asegúrese de que Node.js y npm estén instalados, luego ejecute el siguiente comando para instalar las dependencias del proyecto:

npm install

2. Enlace del servicio MCP

Ejecute el siguiente comando para iniciar el servidor MCP:

npx tsx src/main.ts

Descripción general de la lógica interna

1. Descripción del archivo principal
  • stack_parser_js_sdk.js : contenedor de JavaScript para el módulo WebAssembly, que proporciona una funcionalidad básica de análisis de pila.
  • parser.ts : implementación principal del analizador, responsable de inicializar el módulo WebAssembly, recuperar el contenido del mapa fuente y analizar la información de la pila.
  • server.ts : Implementación del servidor MCP, que proporciona la interfaz de la herramienta parse_stack para llamadas externas.
2. Modificar la lógica de análisis

Para modificar la lógica de análisis, edite el método getSourceToken en el archivo parser.ts .

3. Agregar nuevas herramientas

En el archivo server.ts , se pueden agregar nuevas interfaces de herramientas utilizando el método server.tool .

Notas

  1. Archivos de mapas de origen : asegúrese de que la dirección del archivo de mapas de origen proporcionada sea accesible y que el formato del archivo sea correcto.
  2. Manejo de errores : durante el análisis, pueden encontrarse errores de red, errores de formato de archivo y otros problemas; se recomienda implementar un manejo de errores adecuado al realizar llamadas.

Pautas de contribución

Las contribuciones a través de problemas y solicitudes de extracción son bienvenidas para mejorar este proyecto.

Licencia

Este proyecto está licenciado bajo la Licencia MIT. Consulte el archivo de LICENCIA para más detalles.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Permite mapear los rastros de errores de JavaScript al código fuente original, extrayendo información de contexto para ayudar a los desarrolladores a localizar y solucionar problemas.

  1. Integración MCP
    1. Configuración de parámetros de tiempo de ejecución
  2. Descripción general de las funciones
    1. Descripción de la herramienta de servicio MCP
      1. operating_guide
      2. parse_stack
      3. Descripción del resultado del análisis
    2. Ejemplo de ejecución
      1. Indicador del sistema
      2. Ejemplo de tiempo de ejecución
    3. Preguntas frecuentes
      1. Error al cargar el módulo WebAssembly
    4. Guía de desarrollo local
      1. Instalar dependencias
      2. Enlace del servicio MCP
      3. Descripción general de la lógica interna
    5. Notas
      1. Pautas de contribución
        1. Licencia

          Related MCP Servers

          • -
            security
            F
            license
            -
            quality
            Provides AI-powered assistance for coding problems using Google's Gemini AI, combined with Perplexity insights and Stack Overflow references, facilitating contextual analysis and automatic response archiving for improved troubleshooting.
            Last updated -
            10
            TypeScript
          • A
            security
            A
            license
            A
            quality
            This server converts webpages into clean, structured Markdown optimized for language model consumption, removing unnecessary content and supporting JavaScript rendering.
            Last updated -
            1
            5
            JavaScript
            MIT License
            • Apple
          • A
            security
            F
            license
            A
            quality
            Provides a secure, isolated JavaScript execution environment with configurable time and memory limits for safely running code from Claude.
            Last updated -
            1
            5
            JavaScript
            • Apple
          • -
            security
            F
            license
            -
            quality
            A server that enables AI assistants to execute JavaScript code with persistent context through stateful REPL sessions, file operations, and package management features.
            Last updated -
            TypeScript
            • Linux
            • Apple

          View all related MCP servers

          MCP directory API

          We provide all the information about MCP servers via our MCP API.

          curl -X GET 'https://glama.ai/api/mcp/v1/servers/MasonChow/source-map-parser-mcp'

          If you have feedback or need assistance with the MCP directory API, please join our Discord server