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-init

v0.3.1

Published

Create a new MCP server in TypeScript, batteries included.

Readme

mcp-init

Create a new MCP server in TypeScript, batteries included.

[!CAUTION] This project has been renamed to create-mcp-ts. Please see the new repository at https://github.com/stephencme/create-mcp-ts.

Getting started

npx mcp-init your-mcp-server
cd your-mcp-server
npm run setup
npm run dev

mcp-init requires zero build configuration - it will automatically install everything you need to develop, build, and set up your MCP server.

Set up your MCP server in Cursor, Windsurf, and Claude Desktop

mcp-init can automatically configure your MCP server in Cursor, Windsurf, and Claude Desktop:

npm run setup

This script checks if your-mcp-server already exists in each client's respective MCP configuration file. If not, it adds an entry pointing to the server script (dist/index.js):

{
  "mcpConfig": {
    "your-mcp-server": {
      "command": "node",
      "args": ["/path/to/your-mcp-server/dist/index.js"]
    }
  }
}

For more details on how to set up MCP servers in Cursor, Windsurf, and Claude Desktop, see:

Custom templates

If you'd like to use a custom template, you can do so by passing the template npm package name or file path to the npx mcp-init command:

npx mcp-init your-mcp-server --template=mcpi-template-default
npx mcp-init your-mcp-server --template=file:/path/to/mcpi-template

Publishing your MCP server

If you plan to share your MCP server, you can publish it to npm:

  1. Set "version" in package.json and ensure "private" is set to false.
  2. Run npm install.
  3. Run npm run build.
  4. Run npm login (if needed).
  5. Run npm publish.

Ejecting from mcp-scripts

The mcp-scripts package contains build tools for mcp-init projects - everything you'll need to develop, build, and set up an MCP server without any additional configuration.

Under the hood mcp-scripts uses tsup and esbuild, lightweight, battle-tested utilities that are well-suited for production-grade TypeScript projects.

If you'd like to eject from mcp-scripts, run the following command:

npm run eject

This will remove the mcp-scripts dependency and replace any related commands from your project's package.json file.

Troubleshooting your MCP server

Confirm you have Node.js installed

If you experience issues running your MCP server, the first thing to check is that you have Node.js installed globally. You can check this by running:

node --version

If you don't have Node.js installed, you can install it by following the instructions here.

Usage with Node.js version managers

Some MCP client environments may not have access to the full system PATH, which can cause issues when using Node.js version managers like nodenv or nvm. In these cases, you'll need to specify the full path to the Node.js binary in your MCP config:

{
  "mcpConfig": {
    "your-mcp-server": {
      "command": "/absolute/path/to/node",
      "args": ["/path/to/your-mcp-server/dist/index.js"]
    }
  }
}

To find the absolute path to your Node.js binary, you can run:

which node

Make sure to update your MCP config in each client (Cursor, Windsurf, or Claude Desktop) with the correct absolute path to the Node.js binary you want to use.

For any other issues, please open an issue here.

Philosophy

mcp-init is designed to be a batteries-included, "it just works" experience for MCP server developers.

  • Batteries included: there is only one build dependency, mcp-scripts. It uses tsup, esbuild, and other amazing open source projects, but provides a curated experience on top of them.
  • Zero configuration: you don't need to configure anything. A reasonably good configuration is handled for you so you can focus on writing code.
  • No lock-in: you can "eject" to a custom setup at any time. Run a single command, and all the configuration and build dependencies will be moved directly into your project, so you can pick up right where you left off.

This project is inspired by create-react-app.