kimi-mcp-hub 0.1.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,24 +1,34 @@
1
1
  # Kimi MCP Hub
2
2
 
3
- One-click MCP server and skills manager for **Kimi CLI** -- like `claude-mem` but for connecting 23 MCP servers (Jira, GitHub, Slack, Datadog, Perplexity, Stripe, GitLab, DBHub, etc.), 34 AI skills (6 core + 28 optional), persistent memory, and Claude Desktop import.
3
+ One-click MCP server and skills manager for **Kimi CLI** -- like `claude-mem` but for connecting 24 MCP servers (Jira, GitHub, Slack, Obsidian, Datadog, Perplexity, Stripe, GitLab, DBHub, etc.), 57 AI skills (7 core + 50 optional), persistent memory, and Claude Desktop import.
4
4
 
5
5
  ---
6
6
 
7
7
  ## Table of Contents
8
8
 
9
9
  - [Install](#install)
10
- - [One-liner (no clone)](#one-liner-no-clone)
11
- - [From GitHub (pip)](#from-github-pip)
12
- - [Clone + Install](#clone--install)
10
+ - [One-liner with npx (recommended)](#one-liner-with-npx-recommended)
11
+ - [One-liner (curl / PowerShell)](#one-liner-curl-powershell)
12
+ - [From GitHub (pip) inside a venv](#from-github-pip-inside-a-venv)
13
+ - [Clone + Install (development)](#clone-install-development)
14
+ - [Requirements](#requirements)
13
15
  - [Verify](#verify)
16
+ - [Run the wizard](#run-the-wizard)
14
17
  - [Uninstall](#uninstall)
15
18
  - [Quick Start](#quick-start)
19
+ - [Update](#update)
20
+ - [Managing MCP Servers and Skills](#managing-mcp-servers-and-skills)
21
+ - [Obsidian Local Memory](#obsidian-local-memory)
22
+ - [Install Claude/Codex Plugins](#install-claudecodex-plugins)
23
+ - [Project-Level MCP Configuration](#project-level-mcp-configuration)
24
+ - [Remote MCP Server Setup](docs/remote-mcp-server-setup.md)
16
25
  - [OAuth Auto-Browser](#oauth-auto-browser)
26
+ - [CLAUDE.md Compatibility](#claudemd-compatibility)
17
27
  - [All Commands](#all-commands)
18
- - [MCP Servers](#17-mcp-servers)
19
- - [Skills](#34-skills)
28
+ - [Testing](#testing)
29
+ - [MCP Servers](#24-mcp-servers)
30
+ - [Skills](#57-skills)
20
31
  - [Architecture](#architecture)
21
- - [Ideas from Claude-Mem](#-ideas-from-claude-mem)
22
32
 
23
33
  ---
24
34
 
@@ -27,11 +37,10 @@ One-click MCP server and skills manager for **Kimi CLI** -- like `claude-mem` bu
27
37
  ### One-liner with npx (recommended)
28
38
 
29
39
  ```bash
30
- # macOS / Linux / Windows
31
40
  npx kimi-mcp-hub install
32
41
  ```
33
42
 
34
- This creates an isolated Python virtual environment in `~/.kimi-mcp-hub/venv`, installs the package, and runs the interactive setup wizard.
43
+ This creates an isolated Python virtual environment at `~/.kimi-mcp-hub/.venv`, installs the package, and runs the interactive setup.
35
44
 
36
45
  ### One-liner (curl / PowerShell)
37
46
 
@@ -39,24 +48,29 @@ This creates an isolated Python virtual environment in `~/.kimi-mcp-hub/venv`, i
39
48
  # macOS / Linux (curl + pip from GitHub)
40
49
  curl -fsSL https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.sh | bash
41
50
 
51
+ # macOS / Linux with auto CLAUDE.md support
52
+ curl -fsSL https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.sh | bash -s -- -y
53
+
54
+ # macOS / Linux with Obsidian local memory
55
+ curl -fsSL https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.sh | bash -s -- --with-obsidian
56
+
42
57
  # Windows (PowerShell)
43
58
  iwr -useb https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.ps1 | iex
44
- ```
45
-
46
- ### From GitHub (pip)
47
59
 
48
- ```bash
49
- # Direct from GitHub -- no clone needed
50
- pip install --user git+https://github.com/KalimeroMK/kimi-mcp-hub.git
60
+ # Windows with auto CLAUDE.md support
61
+ iwr -useb https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.ps1 | & ([scriptblock]::create($_)) -Yes
51
62
 
52
- # Upgrade
53
- pip install --user --upgrade git+https://github.com/KalimeroMK/kimi-mcp-hub.git
63
+ # Windows with Obsidian local memory
64
+ iwr -useb https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.ps1 | & ([scriptblock]::create($_)) -Yes -WithObsidian
54
65
  ```
55
66
 
56
- ### From PyPI (when published)
67
+ ### From GitHub (pip) inside a venv
57
68
 
58
69
  ```bash
59
- pip install --user kimi-mcp-hub
70
+ # Direct from GitHub -- no clone needed
71
+ python3 -m venv ~/.kimi-mcp-hub/.venv
72
+ ~/.kimi-mcp-hub/.venv/bin/pip install --upgrade git+https://github.com/KalimeroMK/kimi-mcp-hub.git
73
+ ln -s ~/.kimi-mcp-hub/.venv/bin/kimi-mcp-hub ~/.local/bin/kimi-mcp-hub
60
74
  ```
61
75
 
62
76
  ### Clone + Install (development)
@@ -64,6 +78,8 @@ pip install --user kimi-mcp-hub
64
78
  ```bash
65
79
  git clone https://github.com/KalimeroMK/kimi-mcp-hub.git
66
80
  cd kimi-mcp-hub
81
+ python3 -m venv .venv
82
+ source .venv/bin/activate
67
83
  pip install -e .
68
84
  ```
69
85
 
@@ -84,17 +100,17 @@ kimi-mcp-hub --version
84
100
  On first run you'll see:
85
101
 
86
102
  ```
87
- Kimi MCP Hub v0.1.0 e uspeshno instaliran!
103
+ Kimi MCP Hub v0.1.0 installed successfully!
88
104
 
89
- 23 MCP serveri dostapni
90
- 34 AI skills za podobro kodiranje
91
- 1 Persistent memory sistem
105
+ 24 MCP servers available
106
+ 57 AI skills for better coding
107
+ 1 Persistent memory system
92
108
 
93
- Za da zapochnesh:
94
- kimi-mcp-hub init -- interaktiven wizard
95
- kimi-mcp-hub welcome -- detalen pregled
96
- kimi-mcp-hub status -- status proverka
97
- kimi-mcp-hub doctor -- zdravje na sistemot
109
+ To get started:
110
+ kimi-mcp-hub init -- interactive wizard
111
+ kimi-mcp-hub welcome -- detailed overview
112
+ kimi-mcp-hub status -- status check
113
+ kimi-mcp-hub doctor -- system health check
98
114
  ```
99
115
 
100
116
  ### Run the wizard
@@ -104,21 +120,23 @@ kimi-mcp-hub init
104
120
  ```
105
121
 
106
122
  This walks you through:
107
- 1. **MCP Servers** -- pick which services to connect
123
+ 1. **MCP Servers** -- Chrome DevTools, Context7, and Playwright are auto-installed if `npx` is available; pick additional services manually
108
124
  2. **Skills** -- install AI behavior patterns
109
125
  3. **Memory** -- enable persistent cross-session memory
110
126
 
127
+
111
128
  ---
112
129
 
113
130
  ## Uninstall
114
131
 
115
132
  ```bash
116
133
  # Full reset
117
- pip uninstall kimi-mcp-hub
118
- rm -f ~/.kimi/mcp.json
119
- rm -rf ~/.kimi/skills/
120
- rm -rf ~/.kimi/mcp-hub/
134
+ rm -f ~/.kimi-code/mcp.json
135
+ rm -rf ~/.kimi-code/skills/
136
+ rm -rf ~/.kimi-mcp-hub/
121
137
  rm -rf ~/.config/kimi-mcp-hub/
138
+ rm -f ~/.local/bin/kimi-mcp-hub
139
+ rm -f ~/.local/bin/kmcp
122
140
 
123
141
  # Or use the CLI
124
142
  kimi-mcp-hub remove jira # remove one server
@@ -128,9 +146,8 @@ kimi-mcp-hub remove github # remove another
128
146
  **Complete reinstall:**
129
147
 
130
148
  ```bash
131
- pip uninstall kimi-mcp-hub
132
- rm -rf ~/.kimi/mcp.json ~/.kimi/skills/ ~/.kimi/mcp-hub/
133
- pip install --user git+https://github.com/KalimeroMK/kimi-mcp-hub.git
149
+ rm -rf ~/.kimi-code/mcp.json ~/.kimi-code/skills/ ~/.kimi-mcp-hub/
150
+ bash -c "$(curl -fsSL https://raw.githubusercontent.com/KalimeroMK/kimi-mcp-hub/main/install/install.sh)"
134
151
  kimi-mcp-hub init
135
152
  ```
136
153
 
@@ -148,9 +165,18 @@ kimi-mcp-hub doctor
148
165
  # Full interactive setup
149
166
  kimi-mcp-hub init
150
167
 
168
+ # Non-interactive setup (auto-installs core + frontend skills, memory, and claude-compat)
169
+ kimi-mcp-hub init --yes
170
+
171
+ # Auto-load CLAUDE.md and CLAUDE.local.md at every session start
172
+ kimi-mcp-hub claude-compat
173
+ kimi-mcp-hub claude-compat --yes
174
+
151
175
  # Add servers individually
152
176
  kimi-mcp-hub add jira
153
177
  kimi-mcp-hub add github
178
+ kimi-mcp-hub add slack
179
+ kimi-mcp-hub add supabase
154
180
  kimi-mcp-hub add perplexity
155
181
  kimi-mcp-hub add gitlab
156
182
  kimi-mcp-hub add stripe
@@ -159,20 +185,35 @@ kimi-mcp-hub add desktop-commander
159
185
  kimi-mcp-hub add dbhub
160
186
  kimi-mcp-hub add mobile
161
187
 
162
- # Or use npx without installing Node package globally:
163
- # npx kimi-mcp-hub status
188
+ # Update to the latest version
189
+ kimi-mcp-hub update
190
+
191
+ # Add and authorize OAuth servers -- like Claude Code CLI
192
+ kimi-mcp-hub add github # choose oauth-device to configure and authorize
193
+ kimi-mcp-hub add figma
194
+
195
+ # GitLab and Stripe are official remote MCP servers; authorize via Kimi CLI:
196
+ # kimi mcp auth gitlab
197
+ # kimi mcp auth stripe
164
198
 
165
- # Auth with auto-browser (OAuth) -- like Claude Code CLI
166
- kimi-mcp-hub auth github
167
- kimi-mcp-hub auth slack
168
- kimi-mcp-hub auth figma
169
- kimi-mcp-hub auth gitlab
170
- kimi-mcp-hub auth stripe
199
+ # For other official remote MCP servers, Kimi CLI handles the popup:
200
+ # /mcp-config login jira
201
+ # /mcp-config login linear
202
+ # /mcp-config login confluence
203
+ # /mcp-config login supabase
171
204
 
172
205
  # See everything configured
173
206
  kimi-mcp-hub list
174
207
  kimi-mcp-hub status
175
208
  kimi-mcp-hub welcome
209
+ kimi-mcp-hub notify
210
+
211
+ # Fix broken configs after package updates
212
+ kimi-mcp-hub repair
213
+
214
+ # Per-project MCP configuration
215
+ kimi-mcp-hub add --project linear # save to ./.kimi/mcp.json
216
+ kimi-mcp-hub sync # merge project config into global config
176
217
 
177
218
  # Import from Claude Desktop
178
219
  kimi-mcp-hub import-claude
@@ -183,6 +224,232 @@ kimi-mcp-hub install-skill docker-pro
183
224
 
184
225
  # Test a server
185
226
  kimi-mcp-hub test github
227
+
228
+ # Manage Obsidian vaults for local memory
229
+ kimi-mcp-hub obsidian status
230
+ kimi-mcp-hub obsidian add ~/Documents/MyVault
231
+ kimi-mcp-hub obsidian list
232
+ kimi-mcp-hub obsidian remove myvault
233
+ kimi-mcp-hub obsidian sync-templates myvault
234
+ kimi-mcp-hub obsidian sync-templates --templates-dir ./templates myvault
235
+ ```
236
+
237
+ ---
238
+
239
+ ## Update
240
+
241
+ Update `kimi-mcp-hub` to the latest version in the isolated venv:
242
+
243
+ ```bash
244
+ kimi-mcp-hub update
245
+ ```
246
+
247
+ This upgrades the package from GitHub and refreshes the `~/.local/bin` symlinks. Development installs (git checkouts) are detected and skipped.
248
+
249
+ ---
250
+
251
+ ## Managing MCP Servers and Skills
252
+
253
+ ### Skills
254
+
255
+ Skills are toggled **inside Kimi CLI**:
256
+
257
+ ```text
258
+ /skill:caveman
259
+ /skill:headroom
260
+ /skill:code-review
261
+ ```
262
+
263
+ - Core skills (`karpathy`, `superpowers`, `caveman`, `headroom`, `context-mode`, `cybersecurity`, `kimi-mcp-hub-status`) activate automatically on every Kimi start.
264
+ - Install more skills from the terminal:
265
+ ```bash
266
+ kimi-mcp-hub install-skill docker-pro
267
+ ```
268
+
269
+ ### MCP Servers
270
+
271
+ MCP servers are enabled **outside Kimi CLI**, in your regular terminal:
272
+
273
+ ```bash
274
+ # Stdio / API-key servers
275
+ kimi-mcp-hub add github # choose PAT or oauth-device
276
+ kimi-mcp-hub add slack
277
+
278
+ # Official remote OAuth servers can also be connected inside Kimi:
279
+ # /mcp-config login linear
280
+ # /mcp-config login jira
281
+ # /mcp-config login supabase
282
+ ```
283
+
284
+ `linear` also supports an API-key stdio mode via `kimi-mcp-hub add linear` → choose `api-key`.
285
+
286
+ When you add an `npx`-based server for the first time, `kimi-mcp-hub` checks if the package is already installed and prompts to install it globally. This prevents the 30-second timeout that can happen when Kimi CLI tries to launch a not-yet-cached npx package.
287
+
288
+ After adding a server, **restart Kimi CLI** (`exit` → `kimi`) so it picks up the new config.
289
+
290
+ For a detailed walkthrough of official remote OAuth servers (Linear, Jira, Confluence, Supabase, Figma, Stripe, GitLab), see [Remote MCP Server Setup](docs/remote-mcp-server-setup.md).
291
+
292
+ ---
293
+
294
+ ## Obsidian Local Memory
295
+
296
+ Obsidian vaults can be used as local memory and knowledge bases. The `obsidian` command group manages vault paths without needing the full `init` wizard.
297
+
298
+ ```bash
299
+ # Show configured vaults and their status
300
+ kimi-mcp-hub obsidian status
301
+
302
+ # Add a vault path (scaffolds the vault if needed)
303
+ kimi-mcp-hub obsidian add ~/Documents/MyVault
304
+
305
+ # List configured vaults
306
+ kimi-mcp-hub obsidian list
307
+
308
+ # Remove a vault from the config by slug (files are kept)
309
+ kimi-mcp-hub obsidian remove myvault
310
+
311
+ # Copy built-in templates into a vault
312
+ kimi-mcp-hub obsidian sync-templates myvault
313
+
314
+ # Copy custom templates into a vault
315
+ kimi-mcp-hub obsidian sync-templates --templates-dir ./templates myvault
316
+ ```
317
+
318
+ The first vault added is set as the default memory vault. After adding a vault, restart Kimi CLI so the Obsidian MCP server picks it up.
319
+
320
+ ---
321
+
322
+ ## Install Claude/Codex Plugins
323
+
324
+ Kimi CLI now supports lifecycle hooks (`PreToolUse`, `PostToolUse`, `Stop`, etc.) via `~/.kimi-code/config.toml`. Because Kimi uses the same JSON wire protocol as Claude Code and Codex, plugins written for those agents can be adapted automatically.
325
+
326
+ ```bash
327
+ # Install Ponytail (reduces over-engineering)
328
+ kimi-mcp-hub install-plugin DietrichGebert/ponytail
329
+
330
+ # From a full URL
331
+ kimi-mcp-hub install-plugin https://github.com/DietrichGebert/ponytail
332
+
333
+ # From a local checkout
334
+ kimi-mcp-hub install-plugin ./ponytail
335
+
336
+ # Non-interactive reinstall/update
337
+ kimi-mcp-hub install-plugin DietrichGebert/ponytail --yes
338
+ ```
339
+
340
+ `install-plugin` does the following:
341
+
342
+ 1. Clones the repo to `~/.config/kimi-mcp-hub/plugins/<name>/` (or copies a local directory)
343
+ 2. Discovers the plugin manifest among supported formats:
344
+ - `hooks.json` / `hooks/hooks.json` / `hooks/claude-codex-hooks.json`
345
+ - `.claude/settings.json`
346
+ - `.codex/hooks.json`
347
+ - `.claude-plugin/plugin.json` (Claude marketplace format)
348
+ - `gemini-extension.json`
349
+ 3. Converts discovered hooks to Kimi `[[hooks]]` entries in `~/.kimi-code/config.toml`
350
+ 4. Expands `${PLUGIN_ROOT}`, `${CLAUDE_PLUGIN_ROOT}`, and `${CLAUDE_CODE_PLUGIN_ROOT}` to the install directory
351
+ 5. Relativizes hardcoded absolute paths that still point inside the plugin directory so commands stay portable
352
+ 6. Merges the plugin's `AGENTS.md` into `~/.kimi-code/AGENTS.md` (idempotent by marker)
353
+ 7. Copies plugin skills into `~/.kimi-code/skills/`
354
+
355
+ **What this unlocks**
356
+
357
+ 1. **Ponytail** works immediately — reduces over-engineering in every project.
358
+ 2. **Security hooks** — block edits to `.env` files or dangerous `rm` commands.
359
+ 3. **Auto-format / auto-lint** hooks after every `WriteFile`.
360
+ 4. **Stop hooks** — verify tests passed before the session ends.
361
+ 5. `kimi-mcp-hub` becomes a hub for agent extensions, not just an MCP manager.
362
+
363
+ **Tool-name mapping**
364
+
365
+ | Claude/Codex | Kimi matcher |
366
+ |--------------|--------------|
367
+ | `Write` | `WriteFile\|StrReplaceFile` |
368
+ | `Edit` | `Edit\|StrReplaceFile` |
369
+ | `Read` | `ReadFile` |
370
+ | `Bash` | `Shell\|Bash` |
371
+
372
+ After installing a plugin, **restart Kimi CLI** for the hooks to take effect.
373
+
374
+ ### Managing installed plugins
375
+
376
+ Plugins installed from GitHub can be updated and removed through the CLI:
377
+
378
+ ```bash
379
+ # Pull latest changes for a git plugin, or re-copy a local plugin
380
+ kimi-mcp-hub update-plugin ponytail
381
+
382
+ # Remove a plugin completely
383
+ kimi-mcp-hub uninstall-plugin ponytail
384
+ ```
385
+
386
+ `update-plugin` re-runs the install merge, so new hooks, skills, and `AGENTS.md` sections are applied automatically. `uninstall-plugin` removes the plugin directory, deletes its hooks from `~/.kimi-code/config.toml`, removes any skills it installed, and removes its section from `~/.kimi-code/AGENTS.md`.
387
+
388
+ ---
389
+
390
+ ## Project-Level MCP Configuration
391
+
392
+ If you work on multiple projects that need different MCP accounts, you can store MCP servers inside each project. The example below adds Linear's official remote OAuth server:
393
+
394
+ ```bash
395
+ cd my-project
396
+ kimi-mcp-hub add --project linear # choose the default "official-oauth" mode
397
+ kimi-mcp-hub sync
398
+ ```
399
+
400
+ This creates:
401
+
402
+ ```text
403
+ my-project/
404
+ └── .kimi/
405
+ ├── mcp.json # server config
406
+ └── mcp.env # only needed for API-key / stdio servers (add this to .gitignore)
407
+ ```
408
+
409
+ `.kimi/mcp.json` example (Linear official remote OAuth — no `env`):
410
+
411
+ ```json
412
+ {
413
+ "mcpServers": {
414
+ "linear": {
415
+ "transport": "http",
416
+ "url": "https://mcp.linear.app/mcp",
417
+ "auth": "oauth"
418
+ }
419
+ }
420
+ }
421
+ ```
422
+
423
+ `.kimi/mcp.env` is only required for servers that store secrets in environment variables (for example, API-key stdio servers such as Perplexity or a GitHub PAT). OAuth servers like Linear keep tokens inside Kimi CLI's own secure storage and do not need a project `.env` file.
424
+
425
+ ### Switching between projects
426
+
427
+ When you switch projects, run `sync` to rewrite the global `~/.kimi-code/mcp.json` with that project's servers:
428
+
429
+ ```bash
430
+ cd project-a && kimi-mcp-hub sync # global config now uses project-a's Linear
431
+ cd project-b && kimi-mcp-hub sync # global config now uses project-b's Linear
432
+ ```
433
+
434
+ Project servers override global servers with the same name. Global servers that are not overridden remain available.
435
+
436
+ ### Commands with --project
437
+
438
+ ```bash
439
+ kimi-mcp-hub init --project # save wizard servers to current project
440
+ kimi-mcp-hub add --project perplexity # add API-key server to current project
441
+ kimi-mcp-hub add --project linear # add official remote OAuth server to current project
442
+ kimi-mcp-hub auth --project figma # authorize and save an OAuth server to current project
443
+ kimi-mcp-hub remove --project perplexity # remove server from current project
444
+ kimi-mcp-hub sync # merge current project into global config
445
+ kimi-mcp-hub sync /path/to/project # merge a specific project
446
+ ```
447
+
448
+
449
+ If you have **Desktop Commander** installed, you can also ask Kimi to run the command for you:
450
+
451
+ ```text
452
+ run kimi-mcp-hub add linear in the terminal
186
453
  ```
187
454
 
188
455
  ---
@@ -213,19 +480,43 @@ GitHub authorized successfully!
213
480
  ```
214
481
 
215
482
  | Server | Method | Auto-browser |
216
- |--------|--------|:------------:|
483
+ |--------|------|:-----:|
217
484
  | **GitHub** | Device Flow (or PAT fallback) | Yes |
218
- | **Jira** | API Token or Official MCP OAuth | Yes |
219
- | **Confluence** | API Token or Official MCP OAuth | Yes |
220
- | **Slack** | Bot Token or OAuth 2.0 | Yes |
485
+ | **Jira** | Official MCP OAuth or API token | Yes* |
486
+ | **Confluence** | Official MCP OAuth or API token | Yes* |
487
+ | **Slack** | Bot/User token (`slack-mcp-server`) | Yes |
221
488
  | **Figma** | Official OAuth 2.1, PAT or custom OAuth 2.0 | Yes* |
222
489
  | **Gmail** | Google OAuth 2.0 or npx | Yes |
223
490
  | **Linear** | Official OAuth 2.1 or API key | Yes* |
224
491
  | **Stripe** | Official OAuth 2.1 or restricted API key | Yes* |
225
492
  | **GitLab** | Official OAuth 2.1 or PAT | Yes* |
493
+ | **Supabase** | Official remote OAuth or access-token stdio | Yes* |
226
494
  | **Datadog** | API + App keys | No (manual) |
227
495
 
228
- \* Linear/Figma/Stripe/GitLab OAuth 2.1 се иницира од Kimi CLI (`kimi mcp auth <server>`) откако ќе го додадете официјалниот remote MCP сервер.
496
+ \* Official remote OAuth 2.1 is initiated by Kimi CLI (`kimi mcp auth <server>` or `/mcp-config login <server>`) after you add the official remote MCP server. For Slack, run `kimi-mcp-hub auth slack` to start the browser-based OAuth flow.
497
+
498
+ ---
499
+
500
+ ## CLAUDE.md Compatibility
501
+
502
+ If you are migrating from Claude Code or want Kimi to automatically read project instructions, apply the `claude-compat` patch:
503
+
504
+ ```bash
505
+ # Interactive
506
+ kimi-mcp-hub claude-compat
507
+
508
+ # Non-interactive (useful in install scripts)
509
+ kimi-mcp-hub claude-compat --yes
510
+ ```
511
+
512
+ This appends a block to `~/.kimi-code/AGENTS.md` that tells Kimi to check for two files at the start of every session:
513
+
514
+ | Priority | File | Purpose |
515
+ |----------|------|---------|
516
+ | 1 | `CLAUDE.local.md` | Local overrides — machine-specific, gitignored |
517
+ | 2 | `CLAUDE.md` | Project-wide instructions — committed to the repo |
518
+
519
+ `CLAUDE.local.md` takes precedence over `CLAUDE.md` when they conflict.
229
520
 
230
521
  ---
231
522
 
@@ -235,23 +526,43 @@ GitHub authorized successfully!
235
526
  |---------|-------------|
236
527
  | `kimi-mcp-hub` | Show welcome banner and status |
237
528
  | `kimi-mcp-hub --version` | Show version |
238
- | `kimi-mcp-hub install` | Install/update from PyPI/GitHub |
529
+ | `kimi-mcp-hub install` | Install or update Kimi MCP Hub |
530
+ | `kimi-mcp-hub update` | Update to the latest version |
239
531
  | `kimi-mcp-hub init` | Full interactive wizard |
532
+ | `kimi-mcp-hub init --yes` | Non-interactive setup with defaults |
533
+ | `kimi-mcp-hub claude-compat` | Patch AGENTS.md for CLAUDE.md auto-load |
534
+ | `kimi-mcp-hub claude-compat --yes` | Apply patch without confirmation |
240
535
  | `kimi-mcp-hub status` | Version, servers, skills, memory |
241
536
  | `kimi-mcp-hub welcome` | Detailed welcome banner |
537
+ | `kimi-mcp-hub notify` | Short startup notification for shell wrappers |
242
538
  | `kimi-mcp-hub add <server>` | Add an MCP server |
539
+ | `kimi-mcp-hub add obsidian` | Add Obsidian vault as local memory |
540
+ | `kimi-mcp-hub add --project <server>` | Add an MCP server to the current project |
243
541
  | `kimi-mcp-hub remove <server>` | Remove an MCP server |
542
+ | `kimi-mcp-hub remove --project <server>` | Remove an MCP server from the current project |
244
543
  | `kimi-mcp-hub auth <server>` | OAuth with auto-browser |
544
+ | `kimi-mcp-hub auth --project <server>` | OAuth and save to the current project |
545
+ | `kimi-mcp-hub sync` | Merge project `.kimi/mcp.json` into global config |
546
+ | `kimi-mcp-hub repair` | Fix broken/outdated server configs |
245
547
  | `kimi-mcp-hub import-claude` | Import from Claude Desktop |
548
+ | `kimi-mcp-hub install-plugin <repo>` | Install Claude/Codex plugin into Kimi |
549
+ | `kimi-mcp-hub install-plugin <repo> --yes` | Install plugin without confirmation |
550
+ | `kimi-mcp-hub update-plugin <name>` | Update an installed plugin |
551
+ | `kimi-mcp-hub uninstall-plugin <name>` | Remove an installed plugin and its artifacts |
246
552
  | `kimi-mcp-hub list` | All servers + skills + memory |
247
- | `kimi-mcp-hub list-skills` | All 34 available skills |
553
+ | `kimi-mcp-hub list-skills` | All 57 available skills |
248
554
  | `kimi-mcp-hub install-skill <name>` | Install a skill |
249
- | `kimi-mcp-hub test <server>` | Test if server responds |
555
+ | `kimi-mcp-hub test <server>` | Check if server binary/HTTP endpoint is configured |
250
556
  | `kimi-mcp-hub doctor` | System health check |
557
+ | `kimi-mcp-hub obsidian status` | Show configured Obsidian vaults |
558
+ | `kimi-mcp-hub obsidian add <path>` | Add an Obsidian vault path |
559
+ | `kimi-mcp-hub obsidian list` | List configured Obsidian vaults |
560
+ | `kimi-mcp-hub obsidian remove <slug>` | Remove an Obsidian vault from config |
561
+ | `kimi-mcp-hub obsidian sync-templates [--templates-dir PATH] <vault-slug>` | Copy templates into a vault |
251
562
 
252
563
  ---
253
564
 
254
- ## 23 MCP Servers
565
+ ## 24 MCP Servers
255
566
 
256
567
  | Server | Auth | Tools | Best for |
257
568
  |--------|------|:-----:|----------|
@@ -259,8 +570,9 @@ GitHub authorized successfully!
259
570
  | **Linear** | Official OAuth 2.1 or API key | 6 | Issues, projects, teams |
260
571
  | **Confluence** | OAuth or API token | 5 | Docs, wiki, pages |
261
572
  | **GitHub** | Device Flow / PAT | 6 | Repos, PRs, issues, code |
262
- | **Slack** | OAuth or token | 7 | Channels, DMs, search |
263
- | **Datadog** | API + App keys | 12 | Metrics, logs, monitors, APM |
573
+ | **Slack** | Bot/User token (`slack-mcp-server`) | 5 | Channels, DMs, search |
574
+ | **Obsidian** | STDIO (npx) vault path | 4 | Local memory, notes, knowledge base |
575
+ | **Datadog** | Official remote MCP (API + App keys) | 12 | Metrics, logs, monitors, APM |
264
576
  | **Figma** | Official OAuth 2.1, PAT or custom OAuth | 9 | Designs, tokens, components |
265
577
  | **Figma Context** | Figma API access token | 3 | Design-to-code implementation |
266
578
  | **GitLab** | Official OAuth 2.1 or PAT | 8 | Repos, MRs, issues, CI/CD pipelines |
@@ -276,69 +588,141 @@ GitHub authorized successfully!
276
588
  | **Playwright** | STDIO (Node.js) | 8 | Browser automation, E2E testing, screenshots |
277
589
  | **Sentry** | Auth token + org | 6 | Error tracking, issue triage, stack traces |
278
590
  | **Context7** | STDIO (npx) | 4 | Live library docs, version-aware API lookup |
279
- | **Supabase** | URL + API key | 6 | Database, auth, storage, realtime, edge functions |
280
- | **Perplexity** | **API key (free tier)** | **3** | **Real-time web search with AI summaries + citations** |
591
+ | **Supabase** | Official remote OAuth or access-token stdio | 6 | Database, auth, storage, realtime, edge functions |
592
+ | **Perplexity** | **API key (paid, $5 trial credit)** | **3** | **Real-time web search with AI summaries + citations** |
281
593
 
282
594
  ---
283
595
 
284
- ## 34 Skills
596
+ ## 57 Skills
285
597
 
286
598
  ### Core Skills (installed by default)
287
599
 
288
- | Skill | Description | Trigger |
289
- |-------|-------------|---------|
290
- | **karpathy** | Clean, simple, readable code | Any code generation |
291
- | **superpowers** | 14 agentic dev skills (plan, debug, test, deploy...) | "plan", "debug", "architect" |
292
- | **headroom** | Compress tool outputs (save tokens) | Large outputs, "compress" |
293
- | **context-mode** | Context window optimization | "context limit", "token budget" |
294
- | **cybersecurity** | Security expert (OWASP, cloud, IR, pentest) | "security", "hack", "OWASP" |
295
- | **kimi-mcp-hub-status** | Shows MCP Hub version/status in Kimi CLI | Session start |
296
-
297
- ### Optional Skills
298
-
299
- | Skill | Description | Trigger |
300
- |-------|-------------|---------|
301
- | **caveman** | Terse mode (75% token reduction) | "caveman", "terse", "brief" |
302
- | **ecc** | Engineering Competence (perf, security, research) | "optimize", "secure", "research" |
303
- | **ui-ux-pro-max** | Design intelligence (Tailwind, accessibility) | "design", "UI", "CSS" |
304
- | **visual-explainer** | HTML diagrams and slides | "visualize", "diagram" |
305
- | **task-master** | Task management system | "task", "todo", "backlog" |
306
- | **gitnexus** | Code knowledge graph (git blame, blast radius) | "who wrote this", "impact" |
307
- | **ralph** | Autonomous loop with stop-hooks | "keep going", "continue" |
308
- | **security-audit** | Security review checklist | "security", "audit", "vulnerability" |
309
- | **security-guidance** | 3-layer security scanning (Anthropic-style) | File edits, "security scan" |
310
- | **research-mode** | Research-driven development | "research", "compare", "benchmark" |
311
- | **perf-optimization** | Performance profiling and fixes | "slow", "profile", "benchmark" |
312
- | **memory-palace** | Advanced context management | "remember", "previous session" |
313
- | **code-reviewer** | Code review assistant | "review", "CR", "feedback" |
314
- | **code-review-anthropic** | Multi-agent PR review (sub-agents) | "PR review", "deep review" |
315
- | **api-designer** | REST/GraphQL API design | "API", "endpoint", "REST" |
316
- | **docker-pro** | Docker and Kubernetes best practices | "docker", "container", "k8s" |
317
- | **database-expert** | Database design and optimization | "database", "SQL", "schema" |
318
- | **backend-architect** | Backend architecture (API, DB, scale) | "design API", "system design" |
319
- | **python-engineer** | Python specialist (FastAPI, Django, async) | "Python", "FastAPI", "Django" |
320
- | **react-coder** | React 19 specialist (RSC, hooks) | "React", "component", "Next.js" |
321
- | **ts-coder** | TypeScript specialist (strict, generics) | "TypeScript", "TS", "generic" |
322
- | **ui-engineer** | UI/UX engineer (Tailwind, a11y, responsive) | "UI", "Tailwind", "responsive" |
323
- | **laravel-engineer** | Laravel specialist (Eloquent, Blade, Livewire, Queues) | "Laravel", "Eloquent", "PHP" |
324
- | **find-skills** | Discover and install agent skills from the open ecosystem | "find skill", "install skill" |
600
+ | Skill | Description |
601
+ |-------|-------------|
602
+ | **karpathy** | Clean, simple, readable code discipline |
603
+ | **superpowers** | 14 agentic workflows (plan, debug, test, deploy...) |
604
+ | **headroom** | Compress large tool outputs to save tokens |
605
+ | **context-mode** | Context window optimization and token budget |
606
+ | **cybersecurity** | Cybersecurity expert (OWASP, cloud, IR, pentest) |
607
+ | **caveman** | Ultra-compressed caveman communication mode |
608
+ | **kimi-mcp-hub-status** | Show MCP Hub version and status |
609
+
610
+ ### Frontend Skills (installed as a stack by default)
611
+
612
+ | Skill | Description |
613
+ |-------|-------------|
614
+ | **react-coder** | React 19 specialist (RSC, hooks) |
615
+ | **ts-coder** | TypeScript specialist (strict, generics) |
616
+ | **ui-engineer** | UI component implementation (Tailwind, a11y) |
617
+ | **ui-ux-pro-max** | UI/UX design intelligence and design systems |
618
+ | **vercel-react-best-practices** | React/Next.js performance optimization |
619
+ | **web-design-guidelines** | Audit UI code against Vercel guidelines |
620
+ | **agent-browser** | Browser automation for web tasks and testing |
621
+
622
+ ### Code Quality & Review Skills
623
+
624
+ | Skill | Description |
625
+ |-------|-------------|
626
+ | **code-reviewer** | Quick single-agent code review |
627
+ | **code-review** | Multi-agent code review (explore/coder/plan) |
628
+ | **surgical-refactoring** | Surgical code refactoring without behavior change |
629
+ | **tdd** | Test-driven development with red-green-refactor |
630
+ | **perf-optimization** | Performance profiling and optimization |
631
+ | **security-audit** | Security review checklist |
632
+ | **security-guidance** | 3-layer security scanning guidance |
633
+
634
+ ### Architecture & Design Skills
635
+
636
+ | Skill | Description |
637
+ |-------|-------------|
638
+ | **api-designer** | REST/GraphQL API design |
639
+ | **backend-architect** | Backend architecture and system design |
640
+ | **backend-typescript-architect** | TypeScript/Bun backend architecture |
641
+ | **codebase-design** | Design deep modules and testable interfaces |
642
+ | **domain-modeling** | Build domain models and ubiquitous language |
643
+ | **database-expert** | Database design and optimization |
644
+ | **design-system** | Design tokens, component specs, and systematic design systems |
645
+ | **api-design** | REST API design patterns |
646
+
647
+ ### DevOps & Deployment Skills
648
+
649
+ | Skill | Description |
650
+ |-------|-------------|
651
+ | **docker-pro** | Docker and Kubernetes best practices |
652
+ | **gitnexus** | Code knowledge graph and blast radius |
653
+ | **resolving-merge-conflicts** | Resolve git merge/rebase conflicts |
654
+ | **deployment-patterns** | CI/CD and deployment best practices |
655
+
656
+ ### Language / Framework Skills
657
+
658
+ | Skill | Description |
659
+ |-------|-------------|
660
+ | **python-engineer** | Python specialist (FastAPI, Django, async) |
661
+ | **laravel-engineer** | Laravel specialist (Eloquent, Blade, Livewire) |
662
+ | **php-pro** | Senior PHP development (strict typing, Laravel/Symfony, PSR) |
663
+ | **wp-plugin-development** | WordPress plugin development with hooks and Settings API |
664
+ | **react-coder** | React 19 specialist (RSC, hooks) |
665
+ | **ts-coder** | TypeScript specialist (strict, generics) |
666
+ | **ui-engineer** | UI component implementation (Tailwind, a11y) |
667
+ | **ui-ux-pro-max** | UI/UX design intelligence and design systems |
668
+
669
+ ### Data & Migrations Skills
670
+
671
+ | Skill | Description |
672
+ |-------|-------------|
673
+ | **database-migrations** | Safe database migration patterns |
674
+
675
+ ### Testing & Browser Skills
676
+
677
+ | Skill | Description |
678
+ |-------|-------------|
679
+ | **playwright-best-practices** | Playwright testing best practices |
680
+ | **chrome-devtools-skill** | Chrome DevTools MCP debugging and automation |
681
+
682
+ ### Research & Automation Skills
683
+
684
+ | Skill | Description |
685
+ |-------|-------------|
686
+ | **search-first** | Research-before-coding workflow |
687
+ | **regex-vs-llm-structured-text** | Regex vs LLM parsing decision framework |
688
+
689
+ ### Productivity & Meta Skills
690
+
691
+ | Skill | Description |
692
+ |-------|-------------|
693
+ | **claude-compat** | Auto-load CLAUDE.md and CLAUDE.local.md at session start |
694
+ | **caveman-review** | Ultra-compressed code review comments |
695
+ | **caveman-commit** | Ultra-compressed Conventional Commits messages |
696
+ | **memory-palace** | Advanced memory and context retrieval |
697
+ | **hindsight** | Memory that learns from past decisions |
698
+ | **task-master** | Task management system |
699
+ | **ralph** | Autonomous loop with stop-hooks |
700
+ | **grill-me** | Stress-test a plan or design |
701
+ | **visual-explainer** | HTML diagrams and slides |
702
+ | **research-mode** | Research-driven development |
703
+ | **ecc** | Engineering competence (perf, security, research) |
704
+ | **skill-creator** | Create and optimize agent skills |
705
+ | **agent-automation-recommender** | Recommend agent automations for codebases |
706
+ | **find-skills** | Discover and install agent skills |
707
+
708
+ ### Integration Skills
709
+
710
+ | Skill | Description |
711
+ |-------|-------------|
712
+ | **stripe-best-practices** | Stripe integration best practices |
325
713
 
326
714
  ---
327
715
 
328
- ## Ideas from Claude-Mem
716
+ ## Testing
329
717
 
330
- Features we adopted from the 81k-star `claude-mem` project:
718
+ The test suite lives in `tests/`:
719
+
720
+ ```bash
721
+ pytest -q
722
+ ```
331
723
 
332
- | Feature | Claude-Mem | Kimi MCP Hub |
333
- |---------|-----------|-------------|
334
- | **One-line install** | `npx claude-mem install` | `curl .../install.sh \| bash` |
335
- | **Auto-detect CLI** | `--ide gemini-cli`, `--ide opencode` | Auto-detect `kimi` CLI |
336
- | **Persistent memory** | AI-compressed observations | SQLite + FTS5 |
337
- | **Web viewer UI** | `http://localhost:37777` | Coming soon |
338
- | **Skills / memory search** | `mem-search` skill | Built-in `memory_palace` skill |
339
- | **Privacy tags** | `<private>` content exclusion | Planned |
340
- | **Plugin hooks** | `.claude/`, `.codex/` hooks | `~/.kimi/skills/` directory |
341
- | **Import from other tools** | - | Claude Desktop import |
724
+ - `tests/test_integration.py` covers end-to-end flows such as `init --yes`, server `add`, `remove`, and `test`.
725
+ - Unit tests cover config handling, Obsidian vault management, and the plugin installer.
342
726
 
343
727
  ---
344
728
 
@@ -349,23 +733,31 @@ Features we adopted from the 81k-star `claude-mem` project:
349
733
  | kimi-mcp-hub CLI |
350
734
  | +---------------------------------+ |
351
735
  | | (no args) -> welcome banner | |
352
- | | install -> PyPI/GitHub update | |
736
+ | | install -> GitHub update | |
353
737
  | | init -> interactive wizard | |
354
- | | add -> writes ~/.kimi/mcp.json| |
738
+ | | add -> writes ~/.kimi-code/...| |
739
+ | | add --project -> writes ./.kimi| |
740
+ | | sync -> merge project + global | |
355
741
  | | auth -> OAuth + auto browser | |
742
+ | | repair -> fix broken configs | |
356
743
  | | import-claude -> migrate config| |
357
744
  | | list -> pretty table of tools | |
358
745
  | | status -> version + health | |
359
746
  | | welcome -> full info display | |
747
+ | | notify -> startup notification | |
360
748
  | +---------------------------------+ |
361
749
  | | |
362
750
  | +---------------------------------+ |
363
- | | ~/.kimi/mcp.json | |
364
- | | ~/.kimi-code/skills/ (34 skills) | |
365
- | | ~/.kimi/mcp-hub/memory.db | |
751
+ | | Global: ~/.kimi-code/mcp.json | |
752
+ | | Project: ./.kimi/mcp.json | |
753
+ | | Project secrets: ./.kimi/mcp.env| |
754
+ | | ~/.kimi-code/skills/ (57 skills)| |
755
+ | | <config-dir>/kimi-mcp-hub/ | |
756
+ | | tokens.json + memory.db | |
366
757
  | +---------------------------------+ |
367
758
  | | |
368
- | First-run welcome message (auto) |
759
+ | Optional shell wrapper prints notify |
760
+ | on every `kimi` start |
369
761
  | | |
370
762
  | Kimi CLI reads config |
371
763
  | | |
@@ -379,9 +771,10 @@ Features we adopted from the 81k-star `claude-mem` project:
379
771
 
380
772
  ## Security Notes
381
773
 
382
- - OAuth tokens are stored as plain JSON in `~/.config/kimi-mcp-hub/tokens.json`. This keeps the tool dependency-free, but means anyone with access to your user account can read them.
774
+ - On macOS and Linux, sensitive files (`tokens.json`, `memory.db`, and `~/.kimi-code/mcp.json`) are written with `chmod 600` (owner read/write only).
775
+ - Run `kimi-mcp-hub doctor` to detect and fix overly permissive files.
776
+ - OAuth tokens are still stored as plain JSON inside those files. This keeps the tool dependency-free, but a process running as your user can read them while Kimi CLI is active.
383
777
  - By default GitHub authentication uses a public OAuth app (`kimi-mcp-hub`). You can supply your own GitHub/Atlassian OAuth Client ID when running `kimi-mcp-hub auth <server>`.
384
- - API keys and PATs are written to `~/.kimi/mcp.json`. Protect that file accordingly.
385
778
 
386
779
  ---
387
780