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

v1.0.0

Published

Production-ready MCP server starter kit — scaffold, test, and publish MCP servers in minutes

Readme

mcp-shipkit

Production-ready MCP server starter kit. Scaffold, test, and publish MCP servers in minutes.

Features

  • 3 Templates: Basic server, REST API wrapper, Database connector
  • TypeScript: Full type safety with MCP SDK integration
  • Zero Config: Templates compile and run out of the box
  • Validation: Check your MCP server before publishing
  • Publish: Build + publish to npm in one command

Install

npm install -g mcp-shipkit

Quick Start

# Create a new MCP server
mcp-shipkit create my-server

# Pick a template:
#   basic        — Minimal MCP server with one example tool
#   api-wrapper  — REST API wrapper with HTTP client
#   database     — SQLite database connector

cd my-server
npm install
npm run build
npm start

Templates

basic

A minimal MCP server with a single "hello" tool. Start here if you're new to MCP.

my-server/
  src/
    index.ts          — Server setup + transport
    tools/example.ts  — Example "hello" tool
  package.json
  tsconfig.json
  README.md

api-wrapper

Wraps any REST API as MCP tools. Includes a configurable HTTP client with auth support.

my-server/
  src/
    index.ts              — Server setup
    tools/api-tool.ts     — list_items + get_item tools
    lib/api-client.ts     — Fetch-based REST client
  package.json
  tsconfig.json
  README.md

database

Connects to a SQLite database via better-sqlite3. Provides read-only query and table listing tools.

my-server/
  src/
    index.ts            — Server setup
    tools/query.ts      — query + list_tables tools
    lib/db.ts           — Database connection wrapper
  package.json
  tsconfig.json
  README.md

Commands

mcp-shipkit create <name>

Scaffold a new MCP server project.

| Flag | Description | |------|-------------| | -t, --template <type> | Template: basic, api-wrapper, database (default: interactive) | | -d, --description <desc> | Project description | | -a, --author <name> | Author name | | --no-install | Skip npm install after scaffolding |

mcp-shipkit test [path]

Validate an MCP server project.

Checks:

  • package.json exists and has @modelcontextprotocol/sdk dependency
  • src/index.ts exists
  • TypeScript compiles (tsc --noEmit)
  • Build script is defined

| Flag | Description | |------|-------------| | --strict | Fail on warnings too |

mcp-shipkit publish [path]

Build and publish your MCP server to npm.

| Flag | Description | |------|-------------| | --dry-run | Run npm publish --dry-run | | --tag <tag> | npm publish tag (default: latest) |

Adding Tools

After scaffolding, add new tools by creating files in src/tools/:

import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
import { z } from "zod";

export function registerMyTool(server: McpServer) {
  server.tool(
    "my-tool",
    "Description of what the tool does",
    {
      input: z.string().describe("Input parameter"),
    },
    async ({ input }) => ({
      content: [{ type: "text", text: `Result: ${input}` }],
    })
  );
}

Then register it in src/index.ts:

import { registerMyTool } from "./tools/my-tool.js";
registerMyTool(server);

Testing with Claude Desktop

Add your server to claude_desktop_config.json:

{
  "mcpServers": {
    "my-server": {
      "command": "node",
      "args": ["/path/to/my-server/dist/index.js"]
    }
  }
}

License

MIT