← 返回目录
M

MCP Nest

社区
用于构建 MCP 服务器的 NestJS 模块
GitHub 源仓库 ↗
★ 702 Stars 分类 · 开发工具 非常热门 源版本 f5328268abb9
51FMRS · D
可靠性
8/20
安全与权限
8/20
维护活跃度
12/20
文档质量
13/20
安装易用性
10/20

该服务器适用于希望将其 NestJS 代码库转换为 MCP 服务器的开发者。它在 NestJS 生态系统中提供强大的集成,具有对工具、资源和提示的原生微服务支持。但是,它需要 NestJS 经验,并且可能不适用于非 NestJS 项目。

查看 FMRS 评分方法 →

MCP Nest 是一个 NestJS 模块,可让你轻松地创建基于模型上下文协议(MCP)的服务器,以暴露 AI 工具、资源和提示。它作为 NestJS 微服务自定义传输策略运行,使工具、资源和提示成为真正的 @MessagePattern 处理器,因此可以原生使用守卫、管道、拦截器和异常过滤器。它支持可流式 HTTP 和 STDIO 传输,并同时服务 2025 时代协议和无状态的 2026-07-28 修订版。可利用 NestJS 的依赖注入,通过装饰器定义工具、资源和提示,并支持动态能力、资源模板、提示、基于守卫的身份验证、内置或外部授权服务器(OAuth)以及服务器变更。

工具能力

暂未整理工具清单。

安装接入

在您的 NestJS 项目中运行 npm install @rekog/mcp-nest @modelcontextprotocol/server @modelcontextprotocol/core @modelcontextprotocol/node zod@^4。可选地,对于内置授权服务器,安装 @rekog/mcp-nest-auth;对于 TypeORM 存储,安装 @nestjs/typeormtypeorm。然后按照 README 快速入门指南,使用 McpStrategy 和 @McpController 装饰器。

选型与风险

适合谁

  • NestJS 开发者希望将 AI 工具无缝集成到现有后端
  • 需要安全、可扩展且可测试的 MCP 服务器的团队
  • 需要微服务架构中细粒度授权和可观测性的项目

不适合谁

  • 非 NestJS 用户,因为它严格基于 NestJS
  • 想要使用不同传输(如 SSE)的开发者(仅支持可流式 HTTP 和 STDIO)
  • 寻求零代码解决方案,希望不编写 TypeScript 或 NestJS 代码即可创建 MCP 服务器的人

所需权限

  • 需要 Node.js 和 npm 环境
  • 运行 STDIO 传输时,进程标准输出必须保留给协议
  • 对于 HTTP 传输,需要可访问的端点;对于外部授权服务器(如 OAuth),可能需要网络访问

风险与副作用

  • 作为较新模块,其 API 可能发生变化(例如从 v1 迁移到 v2)
  • 使用外部授权服务器时,需要正确处理 OAuth 流程
  • 在具有状态会话的延迟/旧客户端上,依赖 ctx.reportProgress 可能无效

常见排障

  1. 对于 HTTP 传输,请确保在 app.listen() 之前调用 mcp.setHttpAdapter(app.getHttpAdapter()) 和 app.startAllMicroservices()
  2. 对于 STDIO 服务器,禁用日志记录或将日志重定向到 stderr,因为 stdout 用于协议
  3. 验证传输是否包含在传输数组中,且 transport 类型受支持

使用场景

从现有的 NestJS 应用程序暴露 AI 工具、资源和提示。
在统一代码库中构建企业级 MCP 服务器,同时利用 NestJS 的 DI、守卫、管道和拦截器。
通过可流式 HTTP 和 STDIO 传输,提供同时支持现代和无状态 MCP 协议的端点。

支持客户端

暂未确认支持的客户端。