Установка Node.js и npm для TypeScript

Теперь, когда у нас есть Python и виртуальные окружения настроены для будущих MCP-серверов на Python, пришло время подготовить вторую ключевую часть нашей разработческой экосистемы — среду для работы с TypeScript.

Мы уже понимаем, что MCP-сервер может быть написан на разных языках. В одном случае мы будем использовать Python, в другом — TypeScript, чтобы иметь больше гибкости при интеграции с фронтенд-проектами или облачными сервисами.

Для этого нам понадобится Node.js — среда выполнения JavaScript, которая позволяет запускать код вне браузера. А вместе с ней — npm, или Node Package Manager, который поможет управлять библиотеками и зависимостями, необходимыми для создания MCP-сервера.

Это похоже на то, что мы уже сделали с Python: как venv помогает изолировать зависимости в Python-проектах, так и npm справляется с этой задачей в мире JavaScript и TypeScript. Только вместо requirements.txt у нас будет файл package.json, а пакеты будут храниться в папке node_modules.

Установка Node.js и npm

Node.js поставляется вместе с npm — поэтому, установив Node.js, вы автоматически получите и менеджер пакетов.

Шаг 1: Скачивание и установка

Перейдите на официальный сайт: https://nodejs.org
Выберите LTS-версию (рекомендуется для стабильности — на 2025 год это Node.js v20 или выше).

Запустите установщик и следуйте инструкциям. На всех операционных системах (Windows, macOS, Linux) процесс интуитивно понятен.

💡 Совет: Если вы работаете в корпоративной сети или сталкиваетесь с ограничениями доступа, в России часто используют зеркала npm через облачные провайдеры, например, Яндекс.Облако или SberCloud. Это помогает избежать задержек при установке пакетов.

Шаг 2: Проверка установки

Откройте терминал и выполните:

node -v

Вы должны увидеть версию Node.js, например:

v20.12.0

Теперь проверим npm:

npm -v

Ожидаемый ответ — версия npm (например, 9.6.7 или выше).

Если обе команды возвращают версии — поздравляем! Установка прошла успешно. 🎉

Инициализация проекта и управление пакетами

Следующий шаг — создать структуру проекта и настроить управление зависимостями. Это называется инициализация проекта.

Создание папки проекта

Выберите удобное место на диске и создайте папку, например:

mkdir mcp-server-typescript
cd mcp-server-typescript

Инициализация через npm init

Теперь запустим инициализацию:

npm init -y

Флаг -y автоматически принимает настройки по умолчанию. В результате в папке появится файл package.json.

Откройте его — это и есть сердце управления пакетами в вашем проекте. Он содержит:

  • название проекта
  • версию
  • список зависимостей
  • команды для запуска

Пример содержимого:

{
  "name": "mcp-server-typescript",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

⚠️ Важно: Никогда не пропускайте npm init. Без package.json вы не сможете восстановить зависимости на другом компьютере, и ваш проект потеряет воспроизводимость.

Установка зависимостей: управление пакетами

Теперь пришло время установить первые пакеты. Это и есть управление пакетами с помощью npm.

Нам понадобятся:

  • TypeScript — чтобы писать типизированный код
  • Express.js — легковесный фреймворк для создания сервера

Установим их:

npm install typescript --save-dev
npm install express --save

Разберём команды:

  • --save-dev — означает, что пакет нужен только для разработки (например, компилятор TypeScript). Он попадёт в devDependencies.
  • --save — указывает, что пакет необходим для работы приложения в продакшене (например, Express). Он попадёт в dependencies.

После установки в package.json появятся разделы:

"dependencies": {
  "express": "^4.18.2"
},
"devDependencies": {
  "typescript": "^5.3.0"
}

А в папке проекта создастся node_modules — папка со всеми установленными библиотеками.

💡 Полезно знать: node_modules — это аналог виртуального окружения в Python. Только вместо изоляции интерпретатора, здесь изолируются пакеты. И, как и venv, эту папку не нужно добавлять в систему контроля версий (например, в .gitignore).

Проверим, что всё работает

Создадим минимальный файл сервера, чтобы убедиться, что окружение готово.

Создайте файл index.ts:

import express from 'express';

const app = express();
const port = 3000;

app.get('/', (req, res) => {
  res.send('MCP-сервер на TypeScript запущен!');
});

app.listen(port, () => {
  console.log(`Сервер запущен на http://localhost:${port}`);
});

Пока не будем его запускать — для этого нам понадобится настройка TypeScript, которую мы сделаем в следующих шагах. Но сам факт, что у нас есть package.json, node_modules, и установленные пакеты, — уже большой прогресс.

Подводим итоги

Мы:

  • Установили Node.js и npm — основу для разработки на TypeScript.
  • Провели инициализацию проекта с помощью npm init, создав package.json.
  • Научились управлять пакетами: устанавливать зависимости для разработки и продакшена.
  • Провели параллель с Python: npm + package.json — это как pip + requirements.txt, а node_modules — как виртуальное окружение.

Теперь у нас есть всё необходимое, чтобы писать и запускать TypeScript-код. Но чтобы делать это комфортно, нам нужно правильно настроить среду разработки.

В следующей теме — Настройка VS Code для комфортной разработки — мы установим нужные расширения, включим подсветку TypeScript, настроим терминал и подготовим редактор к созданию полноценного MCP-сервера.

Вы уже на шаг ближе к тому, чтобы запустить свой первый ИИ-агент на TypeScript. Всё идёт по плану! 💪