@nitrostack/core
v1.0.3
Published
NitroStack Core - Build powerful MCP servers with TypeScript
Maintainers
Readme
@nitrostack/core ⚡
The core engine for NitroStack — Build powerful, enterprise-grade MCP servers with ease.
@nitrostack/core provides the foundational building blocks for building Model Context Protocol (MCP) servers. Inspired by modern frameworks like NestJS, it uses decorators and dependency injection to keep your code clean, modular, and highly testable.
✨ Key Features
- 🧩 Decorator-Based API: Define tools, resources, and prompts with simple annotations (
@Tool,@Resource,@Prompt). - 🛡️ Secure by Design: Built-in guards and interceptors for JWT, OAuth 2.1, and API Key authentication.
- 💉 Dependency Injection: Powerful DI container for managing services and application state.
- 🛠️ Extensible Pipeline: Middleware, Pipes, and Exception Filters for fine-grained request handling.
- 🚦 Performance First: Native support for
@Cache()and@RateLimit()to protect your server. - 📝 Schema Driven: Automated JSON-RPC validation using Zod for 100% type safety.
📦 Installation
npm install @nitrostack/core zod reflect-metadata🚀 Quick Start
Build a simple calculation service in just a few lines of code:
import { Module, Tool, McpApp, McpApplicationFactory, z } from '@nitrostack/core';
class CalculatorTools {
@Tool({
name: 'calculate_sum',
description: 'Adds two numbers together',
inputSchema: z.object({
a: z.number(),
b: z.number(),
})
})
async add(input: { a: number; b: number }) {
return { result: input.a + input.b };
}
}
@Module({
controllers: [CalculatorTools],
})
class CalculatorModule {}
@McpApp({
name: 'My Calc Server',
version: '1.0.0',
modules: [CalculatorModule],
})
class Application {}
const app = await McpApplicationFactory.create(Application);
await app.listen();🧪 Advanced Usage
Dependency Injection
@Injectable()
class DataService {
getData() { return "Real Data"; }
}
class MyTools {
constructor(private readonly service: DataService) {}
// ...
}Authentication Guards
@Tool({ name: 'secure_action' })
@UseGuards(JwtGuard)
async secureAction() {
// Only accessible with valid JWT
}🎨 NitroStudio
NitroStudio is the official visual test bench for NitroStack. It handles running your server internally, allowing you to visually debug tools, inspect contexts, and preview widgets without manual setup.

📖 Useful Links
Built with ⚡ by the NitroStack Team.
