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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@smithery/cli

v1.6.6

Published

An NPX command to install and list Model Context Protocols from Smithery

Readme

Smithery CLI NPM Version NPM Downloads

The Smithery registry installer and manager for Model Context Protocol (MCP) servers, designed to be client-agnostic.

Requirements

  • NodeJS version 20 or above

Installation

Install globally for easier usage:

npm install -g @smithery/cli

Usage

smithery <command>

Or run directly without installation:

npx @smithery/cli <command>

Available Commands

  • install <server> - Install a server (interactive client selection)
    • --client <name> - Specify the AI client (skips selection)
    • --config <json> - Provide configuration data as JSON (skips prompts)
  • uninstall <server> - Uninstall a server (interactive client selection)
    • --client <name> - Specify the AI client (skips selection)
  • inspect <server-id> - Inspect a server interactively
  • run <server-id> - Run a server
    • --config <json> - Provide configuration for the server
  • list - List installed servers (interactive client selection)
    • --client <name> - Specify the AI client (skips selection)
  • search [term] - Search for servers in the Smithery registry (interactive)
  • login - Login with an API key (interactive)
  • dev [entryFile] - Start development server with hot-reload and tunnel
    • --port <port> - Port to run the server on (default: 8081)
    • --key <apikey> - Provide an API key
    • --no-open - Don't automatically open the playground
    • --prompt <prompt> - Initial message to start the playground with
    • -c, --config <path> - Path to config file (default: auto-detect smithery.config.js)
  • build [entryFile] - Build MCP server for production
    • -o, --out <outfile> - Output file path (default: .smithery/index.cjs)
    • --transport <type> - Transport type: shttp or stdio (default: shttp)
    • -c, --config <path> - Path to config file (default: auto-detect smithery.config.js)
  • playground - Open MCP playground in browser
    • --port <port> - Port to expose (default: 8081)
    • --key <apikey> - Provide an API key
    • Can pass command after -- separator
  • --help - Show help message
  • --verbose - Show detailed logs for debugging

Examples

# Install a server (interactive client selection)
smithery install exa

# Install a server for specific client (skips selection)
smithery install exa --client claude

# Install a server with pre-configured data (skips prompts)
smithery install exa --client claude --config '{"exaApiKey":"you_api_key"}'

# Remove a server (interactive client selection)
smithery uninstall exa

# Remove a server from specific client (skips selection)
smithery uninstall exa --client claude

# List installed servers (interactive)
smithery list

# List installed servers for claude
smithery list --client claude

# Search for servers in the registry
smithery search "web search"

# Search interactively (prompts for term)
smithery search

# Inspect a specific server from smithery's registry
smithery inspect exa

# Run a server with configuration
smithery run exa --config '{"key":"value"}'

# Login and set API key
smithery login

# Start development server with hot-reload
smithery dev
smithery dev server.ts --port 3000

# Build server for production
smithery build
smithery build server.ts --out dist/server.cjs --transport stdio

# Open playground in browser
smithery playground
smithery playground --port 3001 -- node dist/server.js

# Show help menu
smithery --help

# Install with verbose logging for debugging
smithery install mcp-obsidian --client claude --verbose

Important Notes

  • Use login command to set your Smithery API key (required for some operations)
  • Remember to restart your AI client after installing or uninstalling servers
  • Use the inspect command for interactive server testing
  • Run without arguments to see the help menu
  • Use --verbose flag for detailed logs when troubleshooting
  • The dev command provides hot-reload for MCP server development
  • Use playground to test your MCP servers in an interactive web interface

Development

This guide will help you get started with developing for @smithery/cli.

Getting Started

  1. Clone the repository:

    git clone https://github.com/smithery-ai/cli
    cd cli
  2. Install dependencies:

    npm install
  3. Build the project:

    npm run build

Development Commands

# List installed servers
npx . list --client claude

# Search for servers
npx . search obsidian

# Inspect a specific server
npx . inspect <server-id>

# Install a server
npx . install <server-name> --client <client-name>

# Run with verbose logging
npx . <command> --verbose

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.