Skip to main content
Glama

mcp-v8: Servidor MCP JavaScript V8

Un servidor de Protocolo de Contexto de Modelo (MCP) basado en Rust que expone un entorno de ejecución de JavaScript V8 como herramienta para agentes de IA como Claude y Cursor. Admite instantáneas de pila persistentes mediante S3 o el sistema de archivos local y está listo para la integración con entornos de desarrollo de IA modernos.

Características

  • Ejecución de JavaScript V8 : ejecute código JavaScript arbitrario en un motor V8 seguro y aislado.

  • Instantáneas de montón : conserva y restaura el estado del montón V8 entre ejecuciones, compatible con S3 y almacenamiento de archivos local.

  • Protocolo MCP : implementa el protocolo de contexto de modelo para una integración perfecta de herramientas con Claude, Cursor y otros clientes MCP.

  • Almacenamiento configurable : elija entre S3 o el directorio local para el almacenamiento en montón en tiempo de ejecución.

Related MCP server: MCP Code Executor

Instalación

Instale mcp-v8 utilizando el script de instalación proporcionado:

curl -fsSL https://raw.githubusercontent.com/r33drichards/mcp-js/main/install.sh | sudo bash

Esto descargará e instalará automáticamente la última versión para su plataforma en /usr/local/bin/mcp-v8 (es posible que se le solicite su contraseña).


Usuarios avanzados: si prefiere compilar desde la fuente, consulte la sección Compilación desde la fuente al final de este documento.

Argumentos de la línea de comandos

mcp-v8 admite los siguientes argumentos de línea de comandos:

  • --s3-bucket <bucket> : Usar AWS S3 para las instantáneas del montón. Especifique el nombre del bucket de S3. (Entra en conflicto con --directory-path )

  • --directory-path <path> : Utiliza un directorio local para las instantáneas del montón. Especifica la ruta del directorio. (Entra en conflicto con --s3-bucket )

Nota: Debe especificar --s3-bucket o --directory-path . Si no se proporciona ninguno, el servidor usa S3 de forma predeterminada con el nombre del depósito test-mcp-js-bucket .

Inicio rápido

Tras la instalación, puede ejecutar el servidor directamente. Elija una de las siguientes opciones:

# Use S3 for heap storage (recommended for cloud/persistent use)
mcp-v8 --s3-bucket my-bucket-name

# Use local filesystem directory for heap storage (recommended for local development)
mcp-v8 --directory-path /tmp/mcp-v8-heaps

Integración

Claude para escritorio

  1. Instale el servidor como se indica arriba.

  2. Abra Claude Desktop → Configuración → Desarrollador → Editar configuración.

  3. Agregue su servidor a claude_desktop_config.json :

{
  "mcpServers": {
    "js": {
      "command": "/usr/local/bin/mcp-v8 --s3-bucket my-bucket-name"
    }
  }
}
  1. Reinicie Claude Desktop. Las nuevas herramientas aparecerán bajo el icono del martillo.

Cursor

  1. Instale el servidor como se indica arriba.

  2. Cree o edite .cursor/mcp.json en la raíz de su proyecto:

{
  "mcpServers": {
    "js": {
      "command": "/usr/local/bin/mcp-v8 --directory-path /tmp/mcp-v8-heaps"
    }
  }
}
  1. Reiniciar el cursor. Las herramientas de MCP estarán disponibles en la interfaz de usuario.

Ejemplo de uso

  • Pregúntale a Claude o Cursor: "Ejecuta este JavaScript: 1 + 2 "

  • Utilice instantáneas de montón para conservar el estado entre ejecuciones.

Opciones de almacenamiento en montón

Puede configurar el almacenamiento en montón utilizando los siguientes argumentos de la línea de comando:

  • S3 : --s3-bucket <bucket>

    • Ejemplo: mcp-v8 --s3-bucket my-bucket-name

    • Requiere credenciales de AWS en su entorno.

  • Sistema de archivos : --directory-path <path>

    • Ejemplo: mcp-v8 --directory-path /tmp/mcp-v8-heaps

Nota: Solo se puede usar un backend de almacenamiento a la vez. Si se proporcionan ambos, el servidor devolverá un error.

Limitaciones

Si bien mcp-v8 proporciona un entorno de ejecución de JavaScript potente y persistente, existen limitaciones en su tiempo de ejecución.

  • Sin async / await ni promesas : No se admite JavaScript asíncrono. Todo el código debe ser sincrónico.

  • Sin fetch ni acceso a la red : no hay una forma integrada de realizar solicitudes HTTP o acceder a la red.

  • No se muestra console.log ni la salida estándar : No se mostrará la salida de console.log ni de funciones similares. Para obtener resultados, asegúrese de que el valor deseado esté en la última línea del código.

  • Sin acceso al sistema de archivos : el entorno de ejecución no proporciona acceso al sistema de archivos local ni a las variables de entorno.

  • No se pueden npm install : No se pueden instalar ni importar paquetes npm. Solo están disponibles las funciones integradas estándar de JavaScript (ECMAScript).

  • Sin temporizadores : funciones como setTimeout y setInterval no están disponibles.

  • Sin DOM ni API de navegador : este no es un entorno de navegador; no hay acceso a window , document u otros objetos específicos del navegador.


Construir desde la fuente (avanzado)

Si prefiere compilar desde la fuente en lugar de utilizar el script de instalación:

Prerrequisitos

  • Rust (se recomienda usar herramientas todas las noches)

  • (Opcional) Credenciales de AWS para almacenamiento S3

Construir el servidor

cd server
cargo build --release

El binario compilado se ubicará en server/target/release/server . Puede usar esta ruta en los pasos de integración anteriores en lugar de /usr/local/bin/mcp-v8 si lo desea.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    Allows LLMs to execute Python code in a specified Conda environment, enabling access to necessary libraries and dependencies for efficient code execution.
    9
    211
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A local-first MCP server that gives AI coding agents persistent memory and controlled commands. Features a git-backed markdown knowledge vault with FTS5 search, surgical section edits, token-aware context budgeting, and a sandboxed command engine with human approval gates. Works with Claude Code, Cursor, Copilot, Gemini, and more.
    4
    58
    316 npm
    1
    Apache 2.0