Skip to content

Add kimchi mcp add CLI command (and list/remove) #924

Description

@mindtraveller

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:

  1. Editing mcp.json by hand — you have to know the exact JSON schema, there's no validation, and it's easy to break.
  2. 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

  • kimchi mcp add writes a working server entry to the correct config file based on --scope.
  • kimchi mcp add validates inputs and prints a clear error on misuse (missing -- for stdio, --header with stdio, missing URL for http).
  • kimchi mcp list shows all configured servers across scopes.
  • kimchi mcp remove <name> removes the server and errors clearly if not found.
  • The new command shows up in kimchi --help.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    new featureIntroduces a new feature

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions