type
status
date
slug
summary
tags
category
icon
password
主要功能概述
- 基本信息
- 当前版本:1.2.0
- 无依赖项
- 已发布26个版本
- 核心特性
- SSE(Server-Sent Events)传输支持
- 工具自动发现与注册
- 使用 Zod 进行请求验证
- 进度通知功能
- 支持 NestJS 认证机制
详细功能解析
1. 安装和基础依赖
2. 主要组件
2.1 模块配置
- 通过
McpModule.forRoot()
进行配置
- 支持自定义服务器名称和版本
- 可配置全局认证守卫
2.2 工具定义
- 使用
@Tool
装饰器定义工具
- 支持参数验证(使用 Zod schema)
- 支持进度报告功能
- 可访问用户上下文
3. 认证机制
- 完全集成 NestJS 的 Guard 机制
- 支持自定义认证逻辑
- 可在工具中访问用户信息
- 支持 JWT、API Key 等认证方式
4. 客户端连接
提供两种连接模式:
- 未认证模式:直接连接
- 认证模式:需要提供认证信息(如 Bearer token)
5. API 端点
/sse
:用于 SSE 连接
/messages
:用于工具执行
6. 配置选项
配置项 | 类型 | 说明 | 默认值 |
name | string | 服务器名称 | - |
version | string | 服务器版本 | - |
capabilities | Record<string, any> | 服务器能力定义 | {} |
guards | any[] | NestJS 守卫数组 | [] |
sseEndpoint | string | SSE 连接端点 | 'sse' |
messagesEndpoint | string | 消息处理端点 | 'messages' |
globalApiPrefix | string | 全局 API 前缀 | '' |
使用场景
这个包特别适合以下场景:
- 需要实时数据流的应用
- 长时间运行的任务需要进度反馈
- 需要规范化工具调用的系统
- 要求安全认证的服务
- 需要服务端推送能力的应用
技术特点
- 使用装饰器模式简化配置
- 基于 SSE 的实时通信
- 强类型支持(通过 Zod)
- 完整的进度报告机制
- 灵活的认证集成
这个包的设计非常符合 NestJS 的风格,提供了一个优雅的方式来实现 MCP 服务器,特别适合需要实时通信和工具执行的应用场景。
- Author:二师兄
- URL:https://cloudesx.com/article/nestjs-mcp-server-module
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!