Configura Node.js y npm, la alternativa para crear MCP Servers en TypeScript.
Node.js es un runtime que permite ejecutar JavaScript fuera del navegador, directamente en tu computadora o servidor. Creado en 2009 por Ryan Dahl, revolucionó el desarrollo web al permitir usar el mismo lenguaje en el frontend y el backend. En el contexto de MCP, Node.js es esencial para crear servidores en TypeScript, el segundo lenguaje más popular del ecosistema MCP.
Node.js es un runtime de JavaScript basado en el motor V8 de Chrome. Permite ejecutar código JavaScript y TypeScript en el servidor, fuera del navegador. El SDK oficial de MCP mantenido por Anthropic está disponible en TypeScript (@modelcontextprotocol/sdk), lo que convierte a Node.js en una alternativa poderosa a Python para crear MCP Servers — especialmente para equipos que ya trabajan con tecnologías web.
Node.js es usado por más de 6,3 millones de sitios web en todo el mundo. El registro de npm tiene más de 2,1 millones de paquetes, siendo el ecosistema de paquetes open-source más grande del mundo. En el ecosistema MCP, muchos de los servidores oficiales —como el filesystem server, Servidor de GitHub e Server de Slack — están escritos en TypeScript y se ejecutan en Node.js, lo que demuestra la madurez de la plataforma para MCP.
La forma recomendada de instalar Node.js es usando el nvm (Node Version Manager), que permite instalar y alternar fácilmente entre varias versiones de Node. Esto es especialmente útil cuando distintos proyectos requieren versiones diferentes. Para MCP, recomendamos Node.js 20 LTS (Long Term Support).
O nvm (Node Version Manager) es una herramienta que gestiona varias instalaciones de Node.js en la misma computadora. En lugar de instalar Node directamente en el sistema (lo que puede causar conflictos de versiones), nvm instala cada versión en un directorio aislado y permite cambiar entre ellas con un simple nvm use 20. Esto es análogo a lo que uv hace para Python: entornos aislados y controlados.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
Cierra y vuelve a abrir la terminal después de la instalación.
nvm install 20
nvm instala Node.js 20 LTS y lo configura como versión predeterminada.
Accede nodejs.org y descarga el instalador LTS. Ejecuta el instalador con las opciones predeterminadas. npm se instala automáticamente junto con Node.js.
¡Evita instalar Node.js mediante apt en Ubuntu! Los repositorios predeterminados de Ubuntu suelen incluir versiones muy antiguas de Node.js (como la versión 12 o 14). Usa siempre nvm o el repositorio oficial de NodeSource para asegurarte de obtener una versión actual y compatible con el SDK de MCP.
O npm (Node Package Manager) es el administrador de paquetes que viene incluido con Node.js. Así como uv administra paquetes de Python, npm administra paquetes de JavaScript y TypeScript. Se encarga de instalar dependencias, ejecutar scripts y administrar el archivo package.json — el equivalente a pyproject.toml de Python.
O npm son tres cosas al mismo tiempo: un registry (repositorio en línea con millones de paquetes), una CLI (herramienta de línea de comandos para instalar y gestionar paquetes) y un gestor de dependencias (que controla las versiones mediante package.json y package-lock.json). Cuando instalas Node.js, npm ya viene incluido; no es necesario instalarlo por separado.
Comandos esenciales de npm que usarás en el curso:
npm init — Crea un proyecto nuevo (package.json)npm install pacote — Instala una dependencianpm run script — Ejecuta un script definido en package.jsonnpm list — Muestra los paquetes instalados en el proyectoO npx es una herramienta que viene incluida con npm y permite ejecutar paquetes directamente sin instalarlos globalmente. Esto es especialmente importante en el ecosistema MCP, donde muchos servidores se ejecutan mediante npx, como el servidor de filesystem y el servidor para crear plantillas.
O npx (Node Package Execute) descarga y ejecuta un paquete temporalmente, sin instalarlo de forma permanente en el sistema. Esto es esencial para MCP porque permite ejecutar servidores como npx @modelcontextprotocol/server-filesystem sin contaminar tu entorno global. npx siempre busca la versión más reciente del paquete, lo que garantiza que uses la versión actualizada sin tener que gestionar las actualizaciones manualmente.
npm install -g @modelcontextprotocol/server-filesystemsudo npm install -gnpx @modelcontextprotocol/server-filesystemAl igual que hicimos con Python y uv, es esencial verificar que Node.js, npm y npx estén instalados correctamente y sean accesibles desde la terminal. Los problemas en esta etapa pueden causar errores confusos más adelante, así que vale la pena dedicar unos minutos a la verificación.
La verificación confirma tres componentes: el Node.js (entorno de ejecución de JavaScript), el npm (gestor de paquetes) y el npx (gestor de paquetes). Los tres deben devolver sus versiones al consultarlos desde la terminal. Si alguno falla, el problema suele estar en el PATH del sistema o en una instalación incompleta.
Ejecuta node -v. Debe mostrar v20.x.x o superior.
Ejecuta npm -v. Debe mostrar la versión de npm (generalmente 10.x.x con Node 20).
Ejecuta npx --version. Debe mostrar la misma versión de npm.
nvm list si Node se instaló.node -v muestra v14 o v16, ejecuta nvm install 20 && nvm use 20.sudo con npm. Si te pide sudo, la instalación no se hizo correctamente: usa nvm.Hagamos una prueba práctica usando el create-server oficial de MCP: un generador de templates que crea la estructura completa de un servidor MCP en TypeScript. Si este comando funciona, tu entorno de Node.js está 100% listo para el curso.
El paquete @modelcontextprotocol/create-server es un generador oficial que crea la estructura completa de un MCP Server en TypeScript. Genera automáticamente el package.json, o tsconfig.json, el código fuente inicial con ejemplos de tools, resources y prompts, y scripts de compilación y ejecución. Es el equivalente a uv init + uv add fastmcp del mundo de Python.
Ejecuta el siguiente comando en el terminal para crear tu primer MCP Server en TypeScript:
npx @modelcontextprotocol/create-server meu-server
El generador te preguntará el nombre y la descripción del servidor. Cuando termine, entra en la carpeta con cd meu-server y explora los archivos generados. Si todo funcionó sin errores, tu entorno Node.js está listo para MCP!
Siguiente Módulo: 2.3 — Conociendo la terminal