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

@juncai/mcpd

v1.2.0

Published

MCP Server Lifecycle Manager - Intelligent daemon for managing MCP server processes

Downloads

116

Readme

mcpd - MCP Server Lifecycle Manager

Intelligent daemon for managing MCP (Model Context Protocol) server processes

npm version License

Think of it as "systemd for MCP servers, but smarter"

What is mcpd?

mcpd is a daemon and CLI tool that manages MCP server processes with:

  • Intelligent idle detection - Auto-stop servers after inactivity
  • Auto-start on demand - Servers restart when you need them
  • Tool namespacing - Use tools from multiple servers without conflicts
  • Hot reload - Update config without restarting
  • Crash recovery - Automatic restart with exponential backoff
  • Cross-platform - Works on Windows, Linux, and macOS

Installation

npm install -g @juncai/mcpd

Requirements

  • Platform: Windows x64 (Linux and macOS support coming soon)
  • Node.js: Version 12.0.0 or higher

Quick Start

1. Create Configuration

Create mcpserver.json in your project directory:

{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-filesystem", "/tmp"],
      "env": {
        "npm_config_registry": "https://registry.npmjs.org"
      }
    }
  }
}

2. Start a Server

mcpd up filesystem

3. Check Status

mcpd ps

Output:

NAME          STATE     TOOL_COUNT
filesystem    running   14

4. List Tools

mcpd tools

5. Execute a Tool

mcpd exec filesystem.read_file '{"path": "/tmp/test.txt"}'

6. Stop Server

mcpd down filesystem

CLI Commands

# Server Management
mcpd up [servers...]           # Start servers (all if none specified)
mcpd down [--all]              # Stop servers
mcpd ps [-v] [server]          # Show status (verbose: -v or -vv)

# Tool Operations
mcpd tools [server]            # List available tools
mcpd tools [server] -v         # List tools with parameter details
mcpd tools [server] --json     # Output tools in JSON format
mcpd exec <tool> [args]        # Execute a tool

# Cache Management
mcpd load [servers...]         # Preload server metadata into cache
mcpd refresh [servers...]      # Refresh cached metadata

# Configuration
mcpd validate                  # Validate mcpserver.json
mcpd reload                    # Reload configuration
mcpd logs [server] [-f]        # View logs

# Daemon
mcpd daemon                    # Start daemon (internal)

Example Configuration

Example configurations are included in the package:

# View example daemon configuration
cat $(npm root -g)/mcpd/examples/mcpd.yml

# View example MCP server configuration
cat $(npm root -g)/mcpd/examples/mcpserver.json

Features

Metadata Caching (v1.1+)

mcpd caches tool definitions for instant startup:

  • 30-600x faster startup (<100ms vs 3-60s)
  • Query stopped servers - tools available from cache
  • Persistent - survives daemon restarts
  • Smart invalidation - auto-updates when config changes

HTTP Server Support (v1.2+)

Connect to HTTP-based MCP servers:

{
  "mcpServers": {
    "deepwiki": {
      "type": "http",
      "url": "https://mcp.deepwiki.com/mcp"
    },
    "custom-api": {
      "type": "http",
      "url": "https://api.example.com/mcp",
      "headers": {
        "Authorization": "Bearer ${API_TOKEN}"
      }
    }
  }
}

Platform Support

| Platform | Architecture | Status | |----------|-------------|--------| | Windows | x64 | ✅ Supported | | Linux | x64 | 📋 Coming soon | | macOS | x64 | 📋 Coming soon | | macOS | ARM64 | 📋 Coming soon |

Troubleshooting

Unsupported Platform Error

If you see:

Error: Unsupported platform: linux-x64

This means the platform is not yet supported. Check for updates:

npm update -g mcpd

Server Won't Start

Check logs:

mcpd logs <server-name>

Common issues:

  • Command not found: Install the MCP server package
  • Permission denied: Check file permissions
  • Port conflicts: Some servers need specific ports

Documentation

Full documentation: GitHub Repository

License

MIT License - see LICENSE file for details.

Links