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

@spike-land-ai/spike-cli

v0.1.1

Published

MCP multiplexer CLI with lazy toolset loading — aggregate MCP servers, load tool definitions on demand, keep AI context windows focused

Readme

@spike-npm-land/spike-mcp-cli

The primary CLI for the spike.land platform. Aggregates multiple MCP servers into a single multiplexed endpoint, with built-in authentication, a server registry, and an interactive chat interface powered by Claude.

Why Lazy Toolset Loading Matters

AI agents work best with small, relevant tool lists. When an LLM receives hundreds of tool definitions at once, it spends context window space parsing tools it will never use — leading to worse decisions and higher cost.

spike-cli solves this with lazy toolset loading: tools are grouped into named toolsets that load on demand. By default, only a handful of gateway tools are visible. When the agent needs chess tools or testing tools, it loads that toolset — and only that toolset enters the context window.

Three benefits:

  1. Context savings — hundreds of tools available, but only the active toolset is visible
  2. Better AI decisions — a small relevant list beats a giant undifferentiated one
  3. One config — any mix of stdio/SSE/HTTP servers, namespaced automatically

Installation

npm install -g @spike-npm-land/spike-mcp-cli

Or run directly from the monorepo:

cd packages/spike-cli
yarn dev

Commands

spike serve

Start the MCP multiplexer server. Connects to all configured MCP servers and exposes their tools through a single endpoint with lazy toolset loading.

spike serve                          # stdio transport (default)
spike serve --transport sse --port 3050  # SSE transport
spike serve --config ./my-config.json    # custom config
spike serve --server myserver="node server.js"  # inline server

Options:

  • --config <path> — Path to .mcp.json config file
  • --server <name=command> — Add a stdio server inline (repeatable)
  • --server-url <name=url> — Add an HTTP/SSE server inline (repeatable)
  • --transport <type> — Transport: stdio | http | sse (default: stdio)
  • --port <port> — Port for HTTP/SSE transport (default: 3050)
  • --namespace-separator <str> — Tool name separator (default: __)
  • --no-prefix — Don't namespace tool names

spike chat

Interactive Claude chat session with all configured MCP tools available.

spike chat                           # default model (claude-sonnet-4-6)
spike chat --model claude-opus-4-6   # specify model
spike chat --system "You are a deployment assistant"

Options:

  • --model <model> — Claude model to use (default: claude-sonnet-4-6)
  • --system <prompt> — System prompt
  • --max-turns <n> — Maximum agentic turns per message (default: 20)

Requires CLAUDE_CODE_OAUTH_TOKEN environment variable.

spike shell

Interactive REPL for exploring and calling MCP tools directly.

spike shell
spike shell --config ./my-config.json

spike auth

Manage authentication with spike.land.

spike auth login       # Log in with device code flow
spike auth logout      # Remove stored credentials
spike auth status      # Check current auth status

spike registry

Browse and install MCP servers from the spike.land registry.

spike registry search <query>   # Search for MCP servers
spike registry add <id>         # Add a server to your config

spike alias

Manage command aliases for frequently used operations.

spike alias set <name> <command>   # Create an alias
spike alias remove <name>          # Remove an alias
spike alias list                   # List all aliases

spike completions

Install or remove shell tab completions.

spike completions install     # Install for your shell (bash/zsh/fish)
spike completions uninstall   # Remove completions

spike status

Health check for all configured MCP servers. Reports connection status, tool counts, latency, and environment variable availability.

spike status
spike status --config ./my-config.json

Configuration

spike-cli discovers configuration from .mcp.json files. It searches:

  1. Explicit --config path
  2. .mcp.json in the current directory
  3. ~/.mcp.json in the home directory

Example .mcp.json:

{
  "servers": {
    "my-tools": {
      "command": "node",
      "args": ["./my-mcp-server.js"]
    },
    "remote-server": {
      "url": "https://example.com/mcp"
    }
  }
}

Global Options

  • --verbose — Verbose logging to stderr
  • --base-url <url> — Base URL for spike.land (default: https://spike.land)
  • --help — Show help
  • --version — Show version

Development

cd packages/spike-cli

yarn dev          # Run CLI in dev mode (tsx)
yarn build        # Build with tsup
yarn test         # Run tests
yarn typecheck    # Type check

License

BSD-3-Clause