
MCP Server NestJS
A robust server-side application that implements Model Context Protocol (MCP) for file operations, providing authentication and modular REST APIs for managing files, users, and posts.
Supercharge Your AI with MCP Server NestJS
Unlock the full potential of MCP Server NestJS through LangDB's AI Gateway. Get enterprise-grade security, analytics, and seamless integration with zero configuration.
Free tier available • No credit card required
MCP Server (NestJS)
A robust, scalable, and extensible server-side application built with NestJS. This project provides a Model Context Protocol (MCP) server implementation, file management, authentication, and modular REST APIs for posts and users.
Table of Contents
- Features
- Architecture
- Getting Started
- Development
- Testing
- Deployment
- API Reference
- Project Structure
- Contributing
- License
Features
- MCP Server: Implements Model Context Protocol for file operations and more.
- File Management: Upload, download, list, and delete files via REST endpoints.
- Authentication: JWT-based authentication with local strategy.
- User & Post Modules: Modular structure for users and posts with DTOs and entities.
- Swagger Integration: API documentation out-of-the-box.
- Extensible: Easily add new modules and features.
Architecture
- NestJS: Progressive Node.js framework for building efficient, reliable, and scalable server-side applications.
- MCP Integration: Uses a custom FileBrowserMCP for file operations.
- Modular Design: Each feature is encapsulated in its own module.
Getting Started
Prerequisites
Installation
# Clone the repository $ git clone https://github.com/Cstannahill/mcp-server-nestjs.git $ cd nestjs-mcp-server # Install dependencies $ npm install
Environment Variables
Create a .env
file in the root directory for any secrets or configuration overrides (optional).
Development
Running the Server
# Start in development mode (with hot reload) $ npm run start:dev # Start in production mode $ npm run start:prod
Useful Commands
# Compile TypeScript $ npm run build # Lint code $ npm run lint
Testing
Run Unit Tests
$ npm run test
Run End-to-End (e2e) Tests
$ npm run test:e2e
Test Coverage
$ npm run test:cov
Deployment
- Build the project:
$ npm run build
- Start the server:
$ npm run start:prod
- For advanced deployment (Docker, cloud, etc.), see NestJS Deployment Docs.
API Reference
- Swagger UI is available (if enabled) at
/api
when the server is running. - Main endpoints:
POST /auth/login
— Authenticate and receive JWTPOST /files/upload
— Upload a fileGET /files/:id
— Download a fileDELETE /files/:id
— Delete a fileGET /files
— List filesPOST /users
— Create a userPOST /posts
— Create a post
See controller files in src/
for more details.
Project Structure
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)
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/YourFeature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin feature/YourFeature
) - Open a pull request
Coding Standards
- Follow the existing code style (see ESLint config)
- Write unit and e2e tests for new features
- Document your code and update the README as needed
Git Setup
This project uses Git for version control. The remote origin is set to:
https://github.com/Cstannahill/mcp-server-nestjs.git
License
Nest is MIT licensed.
Resources & Support
For any questions, issues, or feature requests, please open an issue or contact the maintainer.
Discover shared experiences
Shared threads will appear here, showcasing real-world applications and insights from the community. Check back soon for updates!