Add kimchi mcp add CLI command (and list/remove)
Summary
Add a kimchi mcp subcommand so users can manage MCP servers from the terminal — adding, listing, and removing servers — without hand-editing JSON files or running the interactive setup wizard. This mirrors the claude mcp add UX that users coming from Claude Code already expect.
Motivation
Today, configuring an MCP server in kimchi means either:
- Editing
mcp.json by hand — you have to know the exact JSON schema, there's no validation, and it's easy to break.
- Running
kimchi setup — an interactive wizard that migrates servers from other tools, but it's overkill when you just want to add one server quickly.
Claude Code's claude mcp add is the de-facto standard UX for this. A user who wants to wire up the Notion MCP server should be able to run a single command and have it work. Kimchi has the infrastructure to support this, but no CLI surface for it.
Proposed UX
# stdio server (default) — -- separates kimchi's flags from the server's
kimchi mcp add airtable -- npx -y airtable-mcp-server
# with environment variables
kimchi mcp add --env AIRTABLE_API_KEY=xxx airtable -- npx -y airtable-mcp-server
# HTTP server
kimchi mcp add --transport http notion https://mcp.notion.com/mcp
# HTTP with auth header
kimchi mcp add --transport http github https://api.githubcopilot.com/mcp/ \
--header "Authorization: Bearer ghp_xxx"
# project-scoped (committed to git, shared with the team)
kimchi mcp add --scope project --transport http stripe https://mcp.stripe.com
# list configured servers
kimchi mcp list
# remove a server
kimchi mcp remove airtable
Flags for mcp add
| Flag |
Description |
--transport <stdio|http|sse> |
Transport type. Defaults to stdio when -- is present. |
-e, --env KEY=VALUE |
Environment variable for the server process. Repeatable. |
--header "Key: Value" |
HTTP header. Repeatable. HTTP/SSE only. |
-s, --scope <user|project> |
Where to save it. user (default) = private to you, all projects. project = shared via git. |
What mcp list shows
A readable table of configured servers — name, transport, command or URL, and which config file they came from — so you can see at a glance what's wired up.
Out of scope
- Interactive prompts for picking a server name/URL.
- Live connection-health checks in
mcp list.
- Re-scoping or renaming existing servers.
- Importing servers from other tools (already handled by
kimchi setup).
Acceptance criteria
Add
kimchi mcp addCLI command (andlist/remove)Summary
Add a
kimchi mcpsubcommand so users can manage MCP servers from the terminal — adding, listing, and removing servers — without hand-editing JSON files or running the interactive setup wizard. This mirrors theclaude mcp addUX that users coming from Claude Code already expect.Motivation
Today, configuring an MCP server in kimchi means either:
mcp.jsonby hand — you have to know the exact JSON schema, there's no validation, and it's easy to break.kimchi setup— an interactive wizard that migrates servers from other tools, but it's overkill when you just want to add one server quickly.Claude Code's
claude mcp addis the de-facto standard UX for this. A user who wants to wire up the Notion MCP server should be able to run a single command and have it work. Kimchi has the infrastructure to support this, but no CLI surface for it.Proposed UX
Flags for
mcp add--transport <stdio|http|sse>stdiowhen--is present.-e, --env KEY=VALUE--header "Key: Value"-s, --scope <user|project>user(default) = private to you, all projects.project= shared via git.What
mcp listshowsA readable table of configured servers — name, transport, command or URL, and which config file they came from — so you can see at a glance what's wired up.
Out of scope
mcp list.kimchi setup).Acceptance criteria
kimchi mcp addwrites a working server entry to the correct config file based on--scope.kimchi mcp addvalidates inputs and prints a clear error on misuse (missing--for stdio,--headerwith stdio, missing URL for http).kimchi mcp listshows all configured servers across scopes.kimchi mcp remove <name>removes the server and errors clearly if not found.kimchi --help.