Skip to main content
Glama
Cstannahill

MCP Server NestJS

by Cstannahill

Servidor MCP (NestJS)

Una aplicación robusta, escalable y extensible del lado del servidor, desarrollada con NestJS . Este proyecto proporciona una implementación de servidor del Protocolo de Contexto de Modelo (MCP), gestión de archivos, autenticación y API REST modulares para publicaciones y usuarios.


Tabla de contenido


Related MCP server: Desktop Commander MCP Server

Características

  • Servidor MCP : implementa el protocolo de contexto de modelo para operaciones de archivos y más.

  • Gestión de archivos : cargue, descargue, enumere y elimine archivos a través de puntos finales REST.

  • Autenticación : autenticación basada en JWT con estrategia local.

  • Módulos de usuario y publicación : Estructura modular para usuarios y publicaciones con DTO y entidades.

  • Integración con Swagger : documentación API lista para usar.

  • Extensible : agregue fácilmente nuevos módulos y funciones.


Arquitectura

  • NestJS : marco progresivo Node.js para crear aplicaciones del lado del servidor eficientes, confiables y escalables.

  • Integración MCP : utiliza un FileBrowserMCP personalizado para operaciones de archivos.

  • Diseño modular : cada característica está encapsulada en su propio módulo.


Empezando

Prerrequisitos

Instalación

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

# Install dependencies
$ npm install

Variables de entorno

Cree un archivo .env en el directorio raíz para cualquier secreto o anulación de configuración (opcional).


Desarrollo

Ejecución del servidor

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

# Start in production mode
$ npm run start:prod

Comandos útiles

# Compile TypeScript
$ npm run build

# Lint code
$ npm run lint

Pruebas

Ejecutar pruebas unitarias

$ npm run test

Ejecutar pruebas de extremo a extremo (e2e)

$ npm run test:e2e

Cobertura de la prueba

$ npm run test:cov

Despliegue

  1. Construir el proyecto:

    $ npm run build
  2. Iniciar el servidor:

    $ npm run start:prod
  3. Para una implementación avanzada (Docker, nube, etc.), consulte la Documentación de implementación de NestJS .


Referencia de API

  • Swagger UI está disponible (si está habilitada) en /api cuando el servidor se está ejecutando.

  • Puntos finales principales:

    • POST /auth/login — Autenticar y recibir JWT

    • POST /files/upload — Subir un archivo

    • GET /files/:id Descargar un archivo

    • DELETE /files/:id — Eliminar un archivo

    • GET /files — Lista de archivos

    • POST /users — Crear un usuario

    • POST /posts — Crear una publicación

Consulte los archivos del controlador en src/ para obtener más detalles.


Estructura del proyecto

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)

Contribuyendo

  1. Bifurcar el repositorio

  2. Crea tu rama de funciones ( git checkout -b feature/YourFeature )

  3. Confirme sus cambios ( git commit -am 'Add some feature' )

  4. Empujar a la rama ( git push origin feature/YourFeature )

  5. Abrir una solicitud de extracción

Estándares de codificación

  • Siga el estilo de código existente (ver configuración de ESLint)

  • Escribir pruebas unitarias y de extremo a extremo para nuevas funciones

  • Documente su código y actualice el archivo README según sea necesario


Configuración de Git

Este proyecto utiliza Git para el control de versiones. El origen remoto está configurado como:

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

Licencia

Nest tiene licencia MIT .


Recursos y apoyo


Si tiene alguna pregunta, problema o solicitud de funciones, abra un problema o comuníquese con el mantenedor.

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