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: File Operations 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 installVariables 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:prodComandos útiles
# Compile TypeScript
$ npm run build
# Lint code
$ npm run lintPruebas
Ejecutar pruebas unitarias
$ npm run testEjecutar pruebas de extremo a extremo (e2e)
$ npm run test:e2eCobertura de la prueba
$ npm run test:covDespliegue
Construir el proyecto:
$ npm run buildIniciar el servidor:
$ npm run start:prodPara 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
/apicuando el servidor se está ejecutando.Puntos finales principales:
POST /auth/login— Autenticar y recibir JWTPOST /files/upload— Subir un archivoGET /files/:idDescargar un archivoDELETE /files/:id— Eliminar un archivoGET /files— Lista de archivosPOST /users— Crear un usuarioPOST /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
Bifurcar el repositorio
Crea tu rama de funciones (
git checkout -b feature/YourFeature)Confirme sus cambios (
git commit -am 'Add some feature')Empujar a la rama (
git push origin feature/YourFeature)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.gitLicencia
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.