Build Production-Ready
MCP Servers
The TypeScript framework that makes MCP development feel like building a web app. Decorators, Zod schemas, hot reload, and auth modules that just work.
100% Type-Safe
Zod schemas and full TypeScript inference. Define your tool's input once—types, validation, and JSON schemas are generated for you.
Secure by Default
JWT, OAuth 2.1, and API Key modules that drop in with one import. Guards and pipes handle the rest. Your security team will love this.
Blazing Fast DX
Hot reload, CLI generators, starter templates. Change a decorator, see it live. The same speed you expect from modern web development.
Modular Architecture
NestJS-inspired modules with dependency injection. Organize tools, resources, and providers the way you already think about backend architecture.
@Module({
imports: [
AuthModule,
DatabaseModule
],
tools: [SearchTool],
providers: [AIService]
})
export class AppModule {}Built for Teams
MCP Tasks for long-running ops, caching, rate limiting, health checks. Production-grade reliability that's built in, not bolted on.
Why Developers Pick NitroStack
The patterns you already know, the production features you shouldn't have to build, and the DX you deserve.
Your DX, But for MCP
If you've used NestJS, you already know the patterns. Decorators, modules, DI, guards—same mental model, purpose-built for MCP. Hot reload and CLI generators mean you ship in minutes, not days.
Auth You Don't Have to Build
JWT, OAuth 2.1 with PKCE, and API Key modules that drop in with one import. Guards protect tools, pipes validate input, exception filters catch the rest. Your security team signs off on day one.
Production from the Start
Caching, rate limiting, health checks, and event systems aren't afterthoughts—they're built in. Your MCP server handles real traffic from the first deploy, not just demo traffic.
One Ecosystem, Not Twelve Tools
SDK, CLI, widgets, Studio, and Cloud work together. Build locally, test visually, deploy to production—without gluing tools together or writing integration code.
From npx init to Production
Every step is real. No hand-waving, no "exercise for the reader."
Step 1
Step 1
Initialize your project
Scaffold a production-ready MCP server with one command. Node.js 18+ and npm 9+; starter templates get you to a runnable server in seconds.
$ npx @nitrostack/cli init my-mcp-server
Step 2
Step 2
Define tools, resources & Prompts
Use @Tool, @Resource, and @Prompt decorators with Zod schemas and optional task support. Type-safe, declarative APIs with automatic JSON schema generation.
@Tool({ name: 'search', description: 'Search the knowledge base', inputSchema: z.object({ query: z.string(), limit: z.number().optional() }) }) async search(input) { return await this.searchService.query(input); }
Step 3
Step 3
Add authentication & guards
Drop in JWT, OAuth 2.1, or API Key modules and apply guards to tools, resources, and prompts. Enterprise-grade auth with minimal configuration.
@Module({ imports: [ JWTModule.forRoot({ secretEnvVar: 'JWT_SECRET', algorithms: ['HS256'] }), OAuthModule.forRoot({ provider: 'github', clientId: process.env.GITHUB_CLIENT_ID }) ] })
Step 4
Step 4
Launch, test & deploy
Run the dev server with hot reload, test tools and tasks in NitroStudio, and deploy to NitroCloud. From local development to production in one flow.
# Start dev server with hot reload $ npx @nitrostack/cli dev # Deploy to NitroCloud $ npx @nitrostack/cli deploy --prod
Your next MCP server starts here.
Open source. TypeScript-first. Ready when you are.