by smithery-ai
Install, manage, and develop Model Context Protocol (MCP) servers via a client‑agnostic command‑line interface.
Installs, uninstalls, inspects, runs, and builds MCP servers directly from the terminal. It works with any AI client and provides interactive or scripted workflows for server lifecycle management.
npm install -g @smithery/cli
or run one‑off commands without installing:
npx @smithery/cli <command>
smithery login (API key required), you can:
smithery install <server> [--client <name>] [--config <json>]smithery uninstall <server> [--client <name>]smithery list [--client <name>]smithery run <server-id> [--config <json>]smithery dev [entryFile] [--port <port>] [--key <apikey>]smithery build [entryFile] [--out <outfile>] [--transport <type>]smithery playground [--port <port>]--help shows usage, --verbose prints detailed logs.shttp or stdio transports.npx..cjs) ready for containerization.Q: Do I need to install Node.js? A: Yes, NodeJS version 20 or newer is required.
Q: How do I authenticate?
A: Run smithery login and provide your Smithery API key; the key is stored for subsequent commands.
Q: Can I bypass interactive prompts?
A: Absolutely. Use flags like --client, --config, and --no-open to run commands non‑interactively.
Q: What transport options are available for the built server?
A: shttp (default) and stdio.
Q: How do I expose a server to the internet for testing?
A: Use the dev command with a tunnel (provide --key if required) or the playground command which launches a web UI.
The Smithery registry installer and manager for Model Context Protocol (MCP) servers, designed to be client-agnostic.
Install globally for easier usage:
npm install -g @smithery/cli
smithery <command>
Or run directly without installation:
npx @smithery/cli <command>
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 interactivelyrun <server-id> - Run a server
--config <json> - Provide configuration for the serverlist - 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-- separator--help - Show help message--verbose - Show detailed logs for debugging# 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
login command to set your Smithery API key (required for some operations)inspect command for interactive server testing--verbose flag for detailed logs when troubleshootingdev command provides hot-reload for MCP server developmentplayground to test your MCP servers in an interactive web interfaceThis guide will help you get started with developing for @smithery/cli.
Clone the repository:
git clone https://github.com/smithery-ai/cli
cd cli
Install dependencies:
npm install
Build the project:
npm run build
# 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
Contributions are welcome! Please feel free to submit a Pull Request.
Please log in to share your review and rating for this MCP.
Explore related MCPs that share similar capabilities and solve comparable challenges
by zed-industries
A high‑performance, multiplayer code editor designed for speed and collaboration.
by modelcontextprotocol
Model Context Protocol Servers
by modelcontextprotocol
A Model Context Protocol server for Git repository interaction and automation.
by modelcontextprotocol
A Model Context Protocol server that provides time and timezone conversion capabilities.
by cline
An autonomous coding assistant that can create and edit files, execute terminal commands, and interact with a browser directly from your IDE, operating step‑by‑step with explicit user permission.
by continuedev
Enables faster shipping of code by integrating continuous AI agents across IDEs, terminals, and CI pipelines, offering chat, edit, autocomplete, and customizable agent workflows.
by upstash
Provides up-to-date, version‑specific library documentation and code examples directly inside LLM prompts, eliminating outdated information and hallucinated APIs.
by github
Connects AI tools directly to GitHub, enabling natural‑language interactions for repository browsing, issue and pull‑request management, CI/CD monitoring, code‑security analysis, and team collaboration.
by daytonaio
Provides a secure, elastic infrastructure that creates isolated sandboxes for running AI‑generated code with sub‑90 ms startup, unlimited persistence, and OCI/Docker compatibility.