概要
What is nest-mcp-sse?
nest-mcp-sse is a dynamic NestJS module that lets you quickly build SSE-based MCP servers. It handles Transport lifecycle and McpServer instantiation so you can focus on MCP tool development, without wrapping the official SDK’s native methods.
How to use nest-mcp-sse?
Install the package alongside @modelcontextprotocol/sdk and zod. Import McpModule in your NestJS module and configure it with register, forRoot or forFeature. After registration, you can inject McpServerService to get a native McpServer instance (via getServer) and register tools with the SDK’s original API. SSE and message endpoints are automatically created.
Key features of nest-mcp-sse
- Quickly create MCP servers in NestJS applications
- Manage multiple MCP Server instances
- Automatic SSE connection lifecycle handling
- Does not wrap native McpServer SDK methods
- Supports custom SSE and message endpoint names
Use cases of nest-mcp-sse
- Exposing MCP tools via SSE in an existing NestJS app
- Running multiple MCP server instances within one NestJS application
- Rapid prototyping of MCP tools without managing low-level Transport details
FAQ from nest-mcp-sse
How is nest-mcp-sse different from using the MCP SDK directly?
It only manages McpServer instances and SSE Transport — it does not wrap any native SDK methods, so you use the original SDK API unchanged.
What are the runtime requirements?
Node.js, a NestJS project, and the peer dependencies @modelcontextprotocol/sdk and zod.
How is data stored or transmitted?
The server communicates via SSE (Server-Sent Events) over HTTP. No external database is required.
How do I access the SSE and message endpoints?
Endpoints are /{controllerBaseUrl}/{serverId}/sse and /{controllerBaseUrl}/{serverId}/messages. Their names can be customized with sseEndpoint and messagesEndpoint options.
How does authentication work?
The README does not mention built-in authentication. You can add NestJS guards to the generated endpoints for authorization.