Lazy loaded image
NestJS MCP Server Module
Words 476Read Time 2 min
2025-4-5
2025-4-5
type
status
date
slug
summary
tags
category
icon
password

 

主要功能概述

  1. 基本信息
      • 当前版本:1.2.0
      • 无依赖项
      • 已发布26个版本
  1. 核心特性
      • SSE(Server-Sent Events)传输支持
      • 工具自动发现与注册
      • 使用 Zod 进行请求验证
      • 进度通知功能
      • 支持 NestJS 认证机制

详细功能解析

1. 安装和基础依赖

2. 主要组件

2.1 模块配置

  • 通过 McpModule.forRoot() 进行配置
  • 支持自定义服务器名称和版本
  • 可配置全局认证守卫

2.2 工具定义

  • 使用 @Tool 装饰器定义工具
  • 支持参数验证(使用 Zod schema)
  • 支持进度报告功能
  • 可访问用户上下文

3. 认证机制

  • 完全集成 NestJS 的 Guard 机制
  • 支持自定义认证逻辑
  • 可在工具中访问用户信息
  • 支持 JWT、API Key 等认证方式

4. 客户端连接

提供两种连接模式:
  1. 未认证模式:直接连接
  1. 认证模式:需要提供认证信息(如 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 前缀
''

使用场景

这个包特别适合以下场景:
  1. 需要实时数据流的应用
  1. 长时间运行的任务需要进度反馈
  1. 需要规范化工具调用的系统
  1. 要求安全认证的服务
  1. 需要服务端推送能力的应用

技术特点

  1. 使用装饰器模式简化配置
  1. 基于 SSE 的实时通信
  1. 强类型支持(通过 Zod)
  1. 完整的进度报告机制
  1. 灵活的认证集成
这个包的设计非常符合 NestJS 的风格,提供了一个优雅的方式来实现 MCP 服务器,特别适合需要实时通信和工具执行的应用场景。
 
上一篇
HelperPro Code Analyzer MCP
下一篇
MCP IPFS Server(storacha.network)