Skip to main content
Glama
Cstannahill

MCP Server NestJS

by Cstannahill

MCP-сервер (NestJS)

Надежное, масштабируемое и расширяемое серверное приложение, созданное с помощью NestJS . Этот проект обеспечивает реализацию сервера Model Context Protocol (MCP), управление файлами, аутентификацию и модульные REST API для постов и пользователей.


Оглавление


Related MCP server: Desktop Commander MCP Server

Функции

  • Сервер MCP : реализует протокол контекста модели для файловых операций и многого другого.

  • Управление файлами : загрузка, скачивание, составление списков и удаление файлов через конечные точки REST.

  • Аутентификация : аутентификация на основе JWT с локальной стратегией.

  • Модули пользователей и сообщений : модульная структура для пользователей и сообщений с DTO и сущностями.

  • Интеграция Swagger : готовая документация API.

  • Расширяемость : легко добавляйте новые модули и функции.


Архитектура

  • NestJS : прогрессивная платформа Node.js для создания эффективных, надежных и масштабируемых серверных приложений.

  • Интеграция MCP : использует пользовательский FileBrowserMCP для файловых операций.

  • Модульная конструкция : каждая функция заключена в отдельный модуль.


Начиная

Предпосылки

  • Node.js (рекомендуется v18+)

  • npm (входит в состав Node.js)

  • Гит

Установка

# Clone the repository
$ git clone https://github.com/Cstannahill/mcp-server-nestjs.git
$ cd nestjs-mcp-server

# Install dependencies
$ npm install

Переменные среды

Создайте файл .env в корневом каталоге для любых секретов или переопределений конфигурации (необязательно).


Разработка

Запуск сервера

# Start in development mode (with hot reload)
$ npm run start:dev

# Start in production mode
$ npm run start:prod

Полезные команды

# Compile TypeScript
$ npm run build

# Lint code
$ npm run lint

Тестирование

Запуск модульных тестов

$ npm run test

Проведение сквозных (e2e) тестов

$ npm run test:e2e

Тестовое покрытие

$ npm run test:cov

Развертывание

  1. Создайте проект:

    $ npm run build
  2. Запустите сервер:

    $ npm run start:prod
  3. Для расширенного развертывания (Docker, облако и т. д.) см. документацию по развертыванию NestJS .


Ссылка на API

  • Пользовательский интерфейс Swagger доступен (если включен) в /api , когда сервер запущен.

  • Основные конечные точки:

    • POST /auth/login — Аутентификация и получение JWT

    • POST /files/upload — Загрузить файл

    • GET /files/:id — Загрузить файл

    • DELETE /files/:id Удалить файл

    • GET /files — Список файлов

    • POST /users — Создать пользователя

    • POST /posts — Создать пост

Более подробную информацию смотрите в файлах контроллера в src/ .


Структура проекта

src/
  app.module.ts         # Root module
  main.ts               # Entry point
  auth/                 # Authentication (JWT, guards, strategies)
  file/                 # File management (upload, download, delete)
  mcps/                 # Model Context Protocol integration
  posts/                # Posts module
  users/                # Users module
  database/             # Database connection (if used)
uploads/                 # Uploaded files (local dev)

Внося вклад

  1. Форк репозитория

  2. Создайте ветку функций ( git checkout -b feature/YourFeature )

  3. Зафиксируйте свои изменения ( git commit -am 'Add some feature' )

  4. Отправка в ветку ( git push origin feature/YourFeature )

  5. Откройте запрос на извлечение

Стандарты кодирования

  • Следуйте существующему стилю кода (см. конфигурацию ESLint)

  • Написание модульных и e2e-тестов для новых функций

  • Документируйте свой код и при необходимости обновляйте README.


Настройка Git

Этот проект использует Git для контроля версий. Удаленный источник установлен на:

https://github.com/Cstannahill/mcp-server-nestjs.git

Лицензия

Nest имеет лицензию MIT .


Ресурсы и поддержка


Если у вас есть вопросы, проблемы или пожелания по функциям, пожалуйста, создайте сообщение об ошибке или свяжитесь с сопровождающим.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Node.js server implementing Model Context Protocol (MCP) for filesystem operations with comprehensive permission controls, allowing secure file and directory manipulation with granular access restrictions.
    21
    1,217,330 npm
    3
    MIT
  • -
    license
    B
    quality
    Not graded
    maintenance
    A comprehensive Model Context Protocol server for PocketBase that provides both user and administrative functionality, enabling authentication, collection/record management, file operations, and system administration through a standardized interface.
    38
    2 npm
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Node.js server implementing Model Context Protocol (MCP) for filesystem operations, enabling read/write files, directory management, search, and metadata retrieval via SSE transport.
    1,217,330 npm
    17
    MIT