npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

nitrostack

v1.0.70

Published

NitroStack - Build powerful MCP servers with TypeScript

Readme

NitroStack ⚡

Build production‑ready MCP (Model Context Protocol) servers with TypeScript — fast.

npm version License Website Docs

NitroStack is a batteries‑included toolkit for creating real, shippable MCP servers. It combines a clean, declarative programming model with a built‑in visual Studio, authentication modules, widget UI system, hot‑reload dev workflow, and production‑grade tooling — all focused on one goal: let you build great MCP servers with minimal ceremony.

Why NitroStack

Developers typically struggle with:

  • Boilerplate and wiring: scattered logic, ad‑hoc conventions, manual glue code
  • Auth and security: JWT, OAuth 2.1 (PKCE), API keys, token validation, scopes, multi‑auth
  • Testing UX: no clean way to visually exercise tools, resources, prompts
  • Performance & reliability: caching, rate limiting, predictable runtime pipeline
  • DX & iteration: hot reload, consistent CLIs, starter templates, type generation

NitroStack solves these pain points out of the box.

What you get (inbuilt capabilities)

  • Declarative building blocks
    • @Tool, @Widget, @Resource, @Prompt, @Module
    • @UseGuards, @UseMiddleware, @UseInterceptors, @UsePipes, @UseFilters
  • Authentication modules (drop‑in)
    • JWTModule (simple JWT)
    • OAuthModule (OAuth 2.1 with PKCE, discovery, scopes, dual transport ready)
    • ApiKeyModule (service‑to‑service keys)
    • Multi‑auth patterns (either/both) supported via guards
  • Studio (built‑in visual test bench)
    • Run and debug tools, browse resources, test prompts, preview widgets
    • AI chat integration and auto‑form generation from schemas
  • Widgets UI system
    • Attach Next.js pages to tools with @Widget for instant interactive demos
  • Runtime pipeline
    • Middleware, Interceptors, Pipes, Exception Filters for predictable request flow
  • Performance controls
    • @Cache() and @RateLimit() decorators
  • Type safety
    • CLI generates types from tool definitions for use across code and widgets
  • Dev experience
    • Hot reload, templates, code generators, dual transport (STDIO + HTTP) for flexibility

Requirements

  • Node.js: >= 18.0.0 (LTS versions recommended)
  • npm: >= 9.0.0

✅ Tested on Node.js 18.x, 20.x, and 22.x

Install

npm i -g nitrostack

Or use once without global install:

npx nitrostack init my-mcp-server

Quick Start (3 steps)

  1. Initialize a project
nitrostack init my-server --template typescript-starter
cd my-server
npm install
  1. Start the dev environment
nitrostack dev

Studio opens at http://localhost:3000 (widgets at http://localhost:3001).

  1. Add your first tool
// src/modules/hello/hello.tools.ts
import { Tool, z, ExecutionContext, Module } from 'nitrostack';

export class HelloTools {
  @Tool({
    name: 'say_hello',
    description: 'Greets a user',
    inputSchema: z.object({ name: z.string() })
  })
  async sayHello(input: { name: string }, ctx: ExecutionContext) {
    return { message: `Hello, ${input.name}!` };
  }
}

@Module({ name: 'hello', controllers: [HelloTools] })
export class HelloModule {}

Register the module in app.module.ts, save — and call the tool in Studio.

Authentication (inbuilt)

  • JWTModule: Simple and fast token auth for user/session flows
  • OAuthModule: Full OAuth 2.1 with PKCE, discovery endpoints, scopes, and dual‑transport support (STDIO for MCP + HTTP for OAuth metadata)
  • ApiKeyModule: Issue and validate API keys for services and automations
  • Multi‑auth: compose guards so a tool can require one or multiple schemes

Studio (visual workflow)

  • AI chat to drive tools
  • Auto‑generated forms from schemas
  • Resource browser & prompt explorer
  • Widget previews connected to live tool outputs

CLI highlights

# Create a project from templates
nitrostack init <name> --template typescript-starter
nitrostack init <name> --template typescript-oauth

# Dev / Build
nitrostack dev
nitrostack build

# Generators
nitrostack generate module <name>
nitrostack generate tool <name> --module <module>
nitrostack generate guard <name>
nitrostack generate middleware <name>
nitrostack generate interceptor <name>
nitrostack generate pipe <name>
nitrostack generate filter <name>

# Types from tools
nitrostack generate types --output src/types/generated-tools.ts

Templates

  • typescript-starter — clean starter with widgets and example tools
  • typescript-auth — JWT auth flows and end‑to‑end examples
  • typescript-auth-api-key — API key auth patterns and multi‑auth
  • typescript-oauth — OAuth 2.1 (PKCE, discovery, scopes) with dual transport

Use any template with nitrostack init and start iterating immediately.

Production

npm run build
NODE_ENV=production node dist/index.js

Consider enabling caching, rate limits, structured logging, and health checks for production. See the docs for deployment recipes and checklists.

Documentation

Full docs: https://docs.nitrostack.ai/

  • Getting started, SDK guides, decorators, CLI reference, templates, deployment

License

Apache License 2.0 — see LICENSE. © 2025 Abhishek Pandit

Links

  • Website: https://nitrostack.ai/
  • Docs: https://docs.nitrostack.ai/
  • GitHub: https://github.com/abhishekpanditofficial/nitrostack
  • npm: https://www.npmjs.com/package/nitrostack
  • Model Context Protocol: https://modelcontextprotocol.io

Build boldly. Ship MCP servers people love. ⚡