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 🙏

© 2026 – Pkg Stats / Ryan Hefner

mcp-maker

v0.1.5

Published

CLI utility to create TypeScript MCP servers in modular structure.

Readme

MCP Maker

Supercharge your MCP server development with MCP Maker

npm version Downloads License NodeJS

🚀 Introduction✨ Features📥 Installation🔧 Usage🏗️ Generated MCP Structure

A CLI utility to quickly create and manage TypeScript MCP (Model Context Protocol) servers following a modular structure.

📋 Table of Contents

🚀 Introduction

mcp-maker is a command-line utility designed to streamline the process of creating and managing TypeScript MCP servers. It follows the structure and patterns used for making modular MCP servers, providing a consistent and efficient way to scaffold new projects and add components.

Whether you're creating a new MCP server from scratch or adding tools and services to an existing one, mcp-maker simplifies the process and ensures adherence to best practices.

✨ Features

  • Quick Project Scaffolding: Create a fully structured MCP server project with a single command
  • Automated Tool Creation: Add new tools with proper structure and automatic registration in the toolHandler
  • Service Management: Add new services with proper structure and automatic registration
  • Prompt Creation: Add new MCP-compatible prompts with proper structure and automatic registration
  • Authentication Support: Add multiple authentication types (Basic, Token, OAuth) to your MCP server
  • Consistent Structure: Ensures all projects follow the same structure and patterns
  • TypeScript Support: Full TypeScript support with proper type definitions
  • Interactive CLI: User-friendly command-line interface with helpful prompts
  • Template-based Generation: Uses Handlebars templates for consistent code generation
  • Automatic Dependency Management: Handles npm dependencies and TypeScript configuration

📥 Installation

Prerequisites

  • Node.js (>= 18.19.0)
  • npm (>= 7.0.0)

Global Installation (Recommended)

npm install -g mcp-maker

Local Installation

npm install --save-dev mcp-maker

🔧 Usage

Create a New MCP Server

mcp-maker create server <name> [options]

Options

  • --http: Use HTTP transport instead of default stdio
  • --cors: Enable CORS with wildcard (*) access
  • --port <number>: Specify HTTP port (only valid with --http)
  • --no-install: Skip npm install and build steps
  • -h, --help: Display help for the command

Example

mcp-maker create server my-mcp-server --http --port 3000 --cors

This will create a new MCP server project named my-mcp-server with HTTP transport on port 3000 and CORS enabled.

Add a Tool

mcp-maker add tool <name> [options]

Options

  • -h, --help: Display help for the command

Example

cd my-mcp-server
mcp-maker add tool get-user-data

This will:

  1. Create a new tool directory in src/tools/get-user-data
  2. Create the tool implementation and index files
  3. Update the main tools index to include the new tool
  4. Update the toolHandler to handle the new tool

Add a Service

mcp-maker add service <name> [options]

Options

  • -h, --help: Display help for the command

Example

cd my-mcp-server
mcp-maker add service user-service

This will:

  1. Create a new service directory in src/services/user-service
  2. Create the service implementation and index files
  3. Update the main services index to include the new service
  4. Set up proper TypeScript types and interfaces

Add a Prompt

mcp-maker add prompt

Options

  • -h, --help: Display help for the command

Example

cd my-mcp-server
mcp-maker add prompt user-guidance

This will:

  1. Create a new prompt directory in src/prompts/user-guidance
  2. Create the prompt implementation, index, and README files
  3. Update the main prompts index to include the new prompt
  4. Set up proper MCP-compatible prompt structure

Add Authentication

mcp-maker add auth

Options

  • -h, --help: Display help for the command

Example

cd my-mcp-server
mcp-maker add auth

This will:

  1. Create a new auth directory in src/auth with all necessary structure
  2. Set up three authentication types:
    • Basic Authentication (username/password)
    • Token Authentication (API keys, JWT, etc.)
    • OAuth 2.0 Authentication (for integrating with OAuth providers)
  3. Create authentication factory, service, and interfaces
  4. Set up proper TypeScript types and interfaces

🏗️ Generated MCP Server Project Structure

The mcp-maker CLI scaffolds a new MCP server project with the following structure:

my-mcp-server/
├── src/
│   ├── tools/             # Individual tools
│   │   └── <tool-name>/   # Each tool in its own directory
│   │       ├── index.ts   # Tool implementation
│   │       └── types.ts   # Type definitions for the tool
│   │
│   ├── services/          # Service implementations
│   │   └── <service-name>/ # Each service in its own directory
│   │       ├── index.ts   # Service implementation
│   │       └── types.ts   # Type definitions for the service
│   │
│   ├── prompts/           # MCP-compatible prompts
│   │   └── <prompt-name>/ # Each prompt in its own directory
│   │       ├── index.ts   # Prompt export in MCP format
│   │       ├── <name>Prompt.ts # Prompt implementation
│   │       └── README.md  # Documentation for the prompt
│   │
│   ├── auth/              # Authentication (when added)
│   │   ├── interfaces/    # Authentication interfaces
│   │   ├── methods/       # Authentication method implementations
│   │   ├── AuthFactory.ts # Factory for creating auth providers
│   │   ├── AuthService.ts # Service for authentication
│   │   └── index.ts       # Main entry point for auth
│   │
│   ├── types/             # Global TypeScript type definitions
│   ├── utils/             # Utility functions
│   ├── config.ts          # Configuration
│   └── index.ts           # Main entry point
├── tests/                 # Test files
├── .gitignore
├── package.json           # Project configuration and dependencies
├── tsconfig.json          # TypeScript configuration
└── README.md

This structure ensures consistency across all MCP server projects created with mcp-maker.

🗂️ Repository Structure

This repository contains the following files and directories:

  • src/: The source code for the mcp-maker CLI utility.
  • tests/: Test files for the mcp-maker CLI utility.
  • README.md: This file, which provides an overview of the mcp-maker CLI utility.
  • LICENSE: The license under which this project is released.
  • CONTRIBUTING.md: Guidelines for contributing to this project.
  • DEVELOPMENT.md: Guidelines for developing and testing this project.
  • CODE_OF_CONDUCT.md: The code of conduct for this project.

🤝 Contributing

We welcome contributions! Please see our CONTRIBUTING.md for detailed guidelines, including branch naming conventions and pull‑request requirements.

📄 License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Copyright © 2025 Prakhar Yadav