Skip to content

[Feature] Add installers for snippet-type MCP clients (Cline, Kiro, Windsurf, Cursor) #59

Description

@KevinLi0w0

Problem

Split from #32.

PR #57 shipped one-command installers for Gemini CLI, Goose, opencode, and Amp. However, 4 clients that have stable on-disk config files still only have manual config snippets in mcp-integration.md — users must manually find and edit the right JSON file. This is error-prone and inconsistent with the installer pattern already established for Codex, Claude Code, Gemini CLI, Goose, opencode, and Amp.

Proposed solution

Add hebb <client> install / hebb <client> uninstall commands for:

Client Config file Format
Cline ~/.cline/mcp.json (CLI) / VS Code global storage (IDE) JSON, mcpServers
Kiro .kiro/settings/mcp.json or ~/.kiro/settings/mcp.json JSON, mcpServers
Windsurf ~/.codeium/windsurf/mcp_config.json JSON, mcpServers
Cursor ~/.cursor/mcp.json or .cursor/mcp.json JSON, mcpServers

Follow the pattern in src/hebb/integrations/gemini_cli/ (shared _json_config.py helpers). Each installer should:

  • Resolve absolute hebb-mcp path via hebb_mcp_command()
  • Be idempotent (re-running replaces prior hebb entry)
  • Preserve unrelated config entries
  • Use atomic writes (tempfile + os.replace)

Acceptance criteria:

  • Each client has install and uninstall commands
  • Unit tests covering install, idempotency, config preservation, and uninstall
  • mcp-integration.md (EN + zh) updated to recommend installer as primary method
  • S1 command-drift CI guard extended to cover new commands

Alternatives considered

Leave as manual snippets only. This works but creates an inconsistent experience — some clients have one-command install, others require manual JSON editing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions