AI Agent Integrations PRO: MCPПервый MCP-сервер: scaffold, инициализация и возможностиScaffold MCP-сервера: структура проекта и зависимости

Scaffold MCP-сервера: структура проекта и зависимости

Уроки курсаScaffold MCP-сервера: структура проекта и зависимости

Scaffold сервера: пошаговые процедуры для Node.js и Python

Когда концептуальная карта проекта ясна, можно перейти к терминалу и создать рабочий scaffold. Ниже — последовательность команд для каждого языка. Node.js / TypeScript


# 1. Создаём директорию проекта и переходим в неё
mkdir my-mcp-server && cd my-mcp-server

# 2. Инициализируем npm-пакет
npm init -y

# 3. Устанавливаем MCP SDK
npm install @modelcontextprotocol/sdk

# 4. Устанавливаем инструменты TypeScript (только для разработки)
npm install -D typescript ts-node @types/node

# 5. Генерируем tsconfig.json
npx tsc --init

После генерации tsconfig.json откройте его и убедитесь, что выставлены два параметра:


{
  "compilerOptions": {
    "target": "ES2020",
    "module": "commonjs"
  }
}

target: ES2020 нужен, чтобы TypeScript понимал async/await без дополнительных полифиллов. module: commonjs — стандартный выбор для Node.js без явного "type": "module" в package.json. Несоответствие этих двух настроек — один из самых частых источников ошибок при первом запуске (об этом подробнее в следующей секции). Далее создайте директорию src и файл точки входа:

mkdir src && touch src/index.ts

Наконец, добавьте в package.json скрипт для запуска:


{
  "scripts": {
    "start": "ts-node src/index.ts"
  }
}

После того как в src/index.ts появится код инициализации (об этом — в следующей секции), запускать сервер можно командой npm run start. ---

Python


# 1. Создаём директорию и переходим в неё
mkdir my-mcp-server && cd my-mcp-server

# 2. Создаём и активируем виртуальное окружение
python -m venv .venv
source .venv/bin/activate   # macOS/Linux
# .venv\Scripts\activate    # Windows

# 3. Устанавливаем MCP SDK
pip install mcp

Создайте файл точки входа:

touch main.py

Если проект предполагается переносить между машинами или публиковать, стоит сразу зафиксировать зависимость в pyproject.toml:


[project]
name = "my-mcp-server"
version = "0.1.0"
dependencies = [
    "mcp",
]

Это позволит воспроизвести окружение через pip install -e . без необходимости помнить, какие пакеты были установлены вручную. Когда main.py будет заполнен кодом инициализации, сервер запускается просто:


python main.py

На этом этапе обе файловые структуры готовы к тому, чтобы в них появился работающий код сервера.