M

MCP Server (NestJS)

chalitguza/mcp-server-nestjs
0 Stars 38 次浏览 更新于 2026-08-23

一个使用 NestJS 构建的健壮、可扩展且可扩展的服务器端应用程序。该项目提供了模型上下文协议(MCP)服务器实现、文件管理、身份验证以及用于帖子和用户的模块化 REST API。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

MCP 服务器 (NestJS)

一个使用 NestJS 构建的健壮、可扩展和可扩展的服务器端应用程序。该项目提供了 Model Context Protocol (MCP) 服务器实现、文件管理、身份验证以及用于帖子和用户的模块化 REST API。


目录


特性

  • MCP 服务器: 实现了用于文件操作等的 Model Context Protocol。
  • 文件管理: 通过 REST 端点上传、下载、列出和删除文件。
  • 身份验证: 基于 JWT 的身份验证,采用本地策略。
  • 用户与帖子模块: 用户和帖子的模块化结构,包含 DTO 和实体。
  • Swagger 集成: 开箱即用的 API 文档。
  • 可扩展性: 轻松添加新模块和功能。

架构

  • NestJS: 用于构建高效、可靠且可扩展的服务器端应用程序的渐进式 Node.js 框架。
  • MCP 集成: 使用自定义的 FileBrowserMCP 进行文件操作。
  • 模块化设计: 每个功能都封装在自己的模块中。

开始使用

前提条件

安装

bash

克隆仓库

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

安装依赖

$ npm install

环境变量

在根目录下创建一个 .env 文件,用于存放任何密钥或配置覆盖(可选)。


开发

运行服务器

bash

在开发模式下启动(带热重载)

$ npm run start:dev

在生产模式下启动

$ npm run start:prod

有用的命令

bash

编译 TypeScript

$ npm run build

代码检查

$ npm run lint


测试

运行单元测试

bash
$ npm run test

运行端到端 (e2e) 测试

bash
$ npm run test:e2e

测试覆盖率

bash
$ npm run test:cov


部署

  1. 构建项目:
    bash
    $ npm run build

  2. 启动服务器:
    bash
    $ npm run start:prod

  3. 对于高级部署(Docker、云等),请参阅 NestJS 部署文档


API 参考

  • 如果启用,当服务器运行时 Swagger UI 可以在 /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 # 根模块
main.ts # 入口点
auth/ # 身份验证 (JWT, guards, strategies)
file/ # 文件管理 (上传, 下载, 删除)
mcps/ # Model Context Protocol 集成
posts/ # 帖子模块
users/ # 用户模块
database/ # 数据库连接 (如果使用)
uploads/ # 上传的文件 (本地开发)


贡献

  1. Fork 仓库
  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 进行版本控制。远程 origin 设置为:

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


许可证

Nest 采用 MIT 许可证


资源与支持


对于任何问题、故障报告或功能请求,请打开一个 issue 或联系维护者。

相关 MCP 服务