mcpman 2.0.0 → 2.1.0

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/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 tranhoangtu-it
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 tranhoangtu-it
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,540 +1,45 @@
1
- # mcpman
2
-
3
- [![npm version](https://img.shields.io/npm/v/mcpman)](https://www.npmjs.com/package/mcpman)
4
- [![npm downloads](https://img.shields.io/npm/dm/mcpman)](https://www.npmjs.com/package/mcpman)
5
- [![GitHub stars](https://img.shields.io/github/stars/tranhoangtu-it/openS-Plan-R)](https://github.com/tranhoangtu-it/openS-Plan-R)
6
- [![license](https://img.shields.io/npm/l/mcpman)](https://github.com/tranhoangtu-it/openS-Plan-R/blob/main/LICENSE)
7
- ![node](https://img.shields.io/node/v/mcpman)
8
-
9
- **The package manager for MCP servers.**
10
-
11
- Install, manage, and inspect Model Context Protocol servers across 10 AI clients — Claude Desktop, Claude Code, Cursor, VS Code, Windsurf, Roo Code, Codex CLI, OpenCode, Continue, and Zed — from a single CLI.
12
-
13
- <p align="center">
14
- <img src="./demo.gif" alt="mcpman demo" width="700">
15
- </p>
16
-
17
- ---
18
-
19
- ## Quick Start
20
-
21
- ```sh
22
- # Install an MCP server globally (no install required)
23
- npx mcpman install @modelcontextprotocol/server-filesystem
24
-
25
- # Or install mcpman globally
26
- npm install -g mcpman
27
- mcpman install @modelcontextprotocol/server-filesystem
28
- ```
29
-
30
- ---
31
-
32
- ## Features
33
-
34
- ### Universal Client Support
35
-
36
- Manages servers for **10 AI clients** from one tool:
37
-
38
- | Client | Config Format |
39
- |--------|--------------|
40
- | Claude Desktop | JSON (`claude_desktop_config.json`) |
41
- | Claude Code CLI | JSON (`~/.claude.json`) |
42
- | Cursor | JSON (`~/.cursor/mcp.json`) |
43
- | VS Code | JSON (settings.json `mcp` section) |
44
- | Windsurf | JSON (`~/.codeium/windsurf/mcp_config.json`) |
45
- | Roo Code | JSON (`mcp_settings.json`) |
46
- | Codex CLI | TOML (`~/.codex/config.toml`) |
47
- | OpenCode | TOML (`~/.config/opencode/config.toml`) |
48
- | Continue | JSON (`~/.continue/config.json`) |
49
- | Zed | JSON (`~/.config/zed/settings.json`) |
50
-
51
- ### Core
52
-
53
- - **Registry-aware** — resolves packages from npm, Smithery, GitHub URLs, or the mcpman community registry
54
- - **Lockfile** — tracks installed servers in `mcpman.lock` for reproducible setups
55
- - **Health checks** — verifies runtimes, env vars, and server connectivity with `doctor`
56
- - **Encrypted secrets** — store API keys in an AES-256 encrypted vault; auto-loads during install
57
- - **Config sync** — keep server configs consistent across all your AI clients; `--remove` cleans extras
58
- - **Security audit** — scan servers for vulnerabilities with trust scoring; `--fix` auto-updates vulnerable packages
59
- - **Auto-update** — get notified when server updates are available
60
- - **No extra daemon** — pure CLI, works anywhere Node >= 20 runs
61
-
62
- ### v2.0 Platform Features
63
-
64
- - **MCP Server Mode** — run mcpman itself as an MCP server with `mcpman serve`. AI agents can install, audit, and manage servers via 8 programmatic tools. Write protection via `--allow-write`
65
- - **Remote Transport** — connect to remote MCP servers over HTTP and SSE. No local process needed
66
- - **Registry & Publishing** — publish your own MCP servers with `mcpman publish`. Community registry powered by Cloudflare D1/R2
67
- - **Embedded Dashboard** — launch a local HTTP dashboard with `mcpman dashboard`. REST API with server status, audit results, and health checks
68
- - **Team Collaboration** — share server configs with `mcpman team`. RBAC roles (admin/maintainer/viewer), shared vault, and audit logging
69
- - **Skills & Agent Sync** — universal `mcpman-skill.json` spec with format adapters for all 10 clients. Sync agent configs, tools, models, and rules across editors
70
-
71
- ### Developer Tools
72
-
73
- - **Server scaffolding** — `mcpman create` with Node.js and Python templates
74
- - **Local dev linking** — `mcpman link` registers a local directory (like `npm link`)
75
- - **File watching** — `mcpman watch` auto-restarts on source changes
76
- - **Plugin system** — extend mcpman with npm-based plugins for custom registries
77
- - **Shell completions** — tab-complete commands and server names in bash, zsh, and fish
78
- - **Export/Import** — portable JSON bundles for full config migration
79
- - **Profiles** — save/restore named server configurations
80
- - **Auto-rollback** — snapshots before every lockfile write, restore with `mcpman rollback`
81
-
82
- ---
83
-
84
- ## Commands
85
-
86
- ### Core
87
-
88
- #### `install <server>`
89
-
90
- Install an MCP server and register it with your AI clients.
91
-
92
- ```sh
93
- mcpman install @modelcontextprotocol/server-filesystem
94
- mcpman install my-smithery-server
95
- mcpman install https://github.com/owner/repo
96
- mcpman install mcpman:my-registry-server # from mcpman registry
97
- ```
98
-
99
- **Options:**
100
- - `--client <type>` — target a specific client (`claude-desktop`, `cursor`, `vscode`, `windsurf`, `claude-code`, `roo-code`, `codex-cli`, `opencode`, `continue`, `zed`)
101
- - `--json` — output machine-readable JSON
102
-
103
- #### `list`
104
-
105
- List all installed MCP servers.
106
-
107
- ```sh
108
- mcpman list
109
- mcpman list --client cursor
110
- mcpman list --json
111
- ```
112
-
113
- #### `remove <server>`
114
-
115
- Uninstall a server and deregister it from all clients.
116
-
117
- ```sh
118
- mcpman remove @modelcontextprotocol/server-filesystem
119
- ```
120
-
121
- #### `update [server]`
122
-
123
- Check for and apply updates to installed MCP servers.
124
-
125
- ```sh
126
- mcpman update # update all servers
127
- mcpman update my-server # update specific server
128
- mcpman update --check # check only, don't apply
129
- ```
130
-
131
- #### `upgrade`
132
-
133
- Upgrade mcpman itself to the latest version.
134
-
135
- ```sh
136
- mcpman upgrade
137
- mcpman upgrade --check
138
- ```
139
-
140
- ### Health & Diagnostics
141
-
142
- #### `doctor [server]`
143
-
144
- Run health diagnostics on all installed servers or a specific one.
145
-
146
- ```sh
147
- mcpman doctor
148
- mcpman doctor my-server
149
- ```
150
-
151
- Checks: runtime availability, required env vars, process spawn, and MCP handshake.
152
-
153
- #### `test [server]`
154
-
155
- Validate MCP server connectivity via JSON-RPC `initialize` + `tools/list`.
156
-
157
- ```sh
158
- mcpman test my-server
159
- mcpman test --all
160
- ```
161
-
162
- #### `validate [--client <name>]`
163
-
164
- Validate lockfile schema and client config JSON for correctness.
165
-
166
- ```sh
167
- mcpman validate
168
- mcpman validate --client cursor
169
- ```
170
-
171
- #### `status [--server <name>]`
172
-
173
- Show live process status of all installed MCP servers.
174
-
175
- ```sh
176
- mcpman status
177
- mcpman status --server my-server --json
178
- ```
179
-
180
- #### `bench <server>`
181
-
182
- Benchmark MCP server latency with JSON-RPC initialize calls.
183
-
184
- ```sh
185
- mcpman bench my-server --runs 10
186
- mcpman bench my-server --timeout 5000
187
- ```
188
-
189
- ### Config & Sync
190
-
191
- #### `init`
192
-
193
- Scaffold an `mcpman.lock` file in the current directory.
194
-
195
- ```sh
196
- mcpman init
197
- ```
198
-
199
- #### `config <set|get|list|reset>`
200
-
201
- Manage persistent CLI configuration.
202
-
203
- ```sh
204
- mcpman config set defaultClient cursor
205
- mcpman config get defaultClient
206
- mcpman config list
207
- ```
208
-
209
- #### `sync`
210
-
211
- Sync MCP server configs across all detected AI clients.
212
-
213
- ```sh
214
- mcpman sync
215
- mcpman sync --dry-run
216
- mcpman sync --source cursor --remove
217
- ```
218
-
219
- #### `diff <client-a> <client-b>`
220
-
221
- Show visual diff of MCP server configs between two clients.
222
-
223
- ```sh
224
- mcpman diff claude-desktop cursor
225
- ```
226
-
227
- #### `secrets`
228
-
229
- Manage encrypted secrets (AES-256-CBC vault).
230
-
231
- ```sh
232
- mcpman secrets set my-server OPENAI_API_KEY=sk-...
233
- mcpman secrets list my-server
234
- mcpman secrets remove my-server OPENAI_API_KEY
235
- ```
236
-
237
- #### `env <set|get|list|del|clear>`
238
-
239
- Manage per-server environment variables (non-sensitive defaults).
240
-
241
- ```sh
242
- mcpman env set my-server API_URL=https://api.example.com
243
- mcpman env list my-server
244
- ```
245
-
246
- ### Discovery & Registry
247
-
248
- #### `search <query>`
249
-
250
- Search for MCP servers on npm, Smithery, or mcpman registry.
251
-
252
- ```sh
253
- mcpman search filesystem
254
- mcpman search brave --registry smithery
255
- mcpman search tools --all --limit 10
256
- ```
257
-
258
- #### `info <server>`
259
-
260
- Show detailed information about an MCP server package.
261
-
262
- ```sh
263
- mcpman info @modelcontextprotocol/server-filesystem
264
- ```
265
-
266
- #### `why <server>`
267
-
268
- Show why a server is installed — source, clients, profiles, env vars.
269
-
270
- ```sh
271
- mcpman why my-server
272
- ```
273
-
274
- #### `publish`
275
-
276
- Publish an MCP server to the mcpman community registry.
277
-
278
- ```sh
279
- mcpman publish
280
- mcpman publish --registry https://registry.mcpman.dev
281
- ```
282
-
283
- #### `registry <list|add|remove|set-default>`
284
-
285
- Manage custom registry URLs.
286
-
287
- ```sh
288
- mcpman registry list
289
- mcpman registry add corp https://mcp.corp.com/api
290
- mcpman registry remove corp
291
- ```
292
-
293
- ### Server Authoring
294
-
295
- #### `create [name]`
296
-
297
- Scaffold a new MCP server project.
298
-
299
- ```sh
300
- mcpman create my-server
301
- mcpman create my-server --runtime python
302
- ```
303
-
304
- #### `link [dir]`
305
-
306
- Register a local MCP server directory with AI clients.
307
-
308
- ```sh
309
- mcpman link .
310
- mcpman link ./path/to/server --client cursor
311
- ```
312
-
313
- #### `watch <server>`
314
-
315
- Watch source files and auto-restart on changes.
316
-
317
- ```sh
318
- mcpman watch my-server
319
- mcpman watch my-server --ext ts,js --delay 500
320
- ```
321
-
322
- ### Organization
323
-
324
- #### `profiles <create|switch|list|delete>`
325
-
326
- Manage named server configuration profiles.
327
-
328
- ```sh
329
- mcpman profiles create dev
330
- mcpman profiles switch dev
331
- mcpman profiles list
332
- ```
333
-
334
- #### `group <add|rm|list|delete|install|run>`
335
-
336
- Organize servers into named groups for batch operations.
337
-
338
- ```sh
339
- mcpman group add work server-a server-b
340
- mcpman group install work
341
- mcpman group run work
342
- ```
343
-
344
- #### `pin <server> [version]`
345
-
346
- Pin a server to a specific version.
347
-
348
- ```sh
349
- mcpman pin my-server 1.2.3
350
- mcpman pin --unpin my-server
351
- ```
352
-
353
- #### `rollback [index]`
354
-
355
- Restore a previous lockfile state from automatic snapshots.
356
-
357
- ```sh
358
- mcpman rollback --list
359
- mcpman rollback 0
360
- ```
361
-
362
- #### `template <save|apply|list|delete>`
363
-
364
- Save and share install templates.
365
-
366
- ```sh
367
- mcpman template save myteam
368
- mcpman template apply myteam
369
- ```
370
-
371
- ### Platform (v2.0)
372
-
373
- #### `serve`
374
-
375
- Run mcpman as an MCP server over stdio transport. AI agents can call 8 tools: `mcpman_install`, `mcpman_remove`, `mcpman_list`, `mcpman_search`, `mcpman_audit`, `mcpman_doctor`, `mcpman_info`, `mcpman_status`.
376
-
377
- ```sh
378
- mcpman serve # read-only mode (default)
379
- mcpman serve --allow-write # enable destructive operations (remove)
380
- ```
381
-
382
- #### `dashboard`
383
-
384
- Launch an embedded HTTP dashboard with REST API endpoints.
385
-
386
- ```sh
387
- mcpman dashboard
388
- mcpman dashboard --port 8080
389
- ```
390
-
391
- Endpoints: `/api/servers`, `/api/clients`, `/api/health`, `/api/audit`, `/api/status`.
392
-
393
- #### `team <init|add|remove|list|sync|share|audit>`
394
-
395
- Team collaboration with RBAC and shared vault.
396
-
397
- ```sh
398
- mcpman team init my-team # initialize team config
399
- mcpman team add alice --role maintainer # add team member
400
- mcpman team sync # sync team servers to local
401
- mcpman team share # share local servers to team
402
- mcpman team audit # view audit log
403
- ```
404
-
405
- Roles: `admin` (full access), `maintainer` (add/remove servers), `viewer` (read-only).
406
-
407
- #### `skill <install|list|remove|sync|export>`
408
-
409
- Manage MCP server skills with universal spec.
410
-
411
- ```sh
412
- mcpman skill install ./my-skill
413
- mcpman skill sync --client claude-code
414
- mcpman skill list
415
- ```
416
-
417
- #### `agent <sync|list|export>`
418
-
419
- Sync agent configurations across AI clients.
420
-
421
- ```sh
422
- mcpman agent sync
423
- mcpman agent list
424
- mcpman agent export --client roo-code
425
- ```
426
-
427
- ### Operations
428
-
429
- #### `run <server>`
430
-
431
- Launch an MCP server with vault secrets auto-injected.
432
-
433
- ```sh
434
- mcpman run my-server
435
- ```
436
-
437
- #### `logs <server>`
438
-
439
- Stream stdout/stderr from an MCP server process.
440
-
441
- ```sh
442
- mcpman logs my-server
443
- ```
444
-
445
- #### `notify <add|remove|list|test>`
446
-
447
- Configure webhook and shell hooks for lifecycle events.
448
-
449
- ```sh
450
- mcpman notify add --event install --webhook https://hooks.example.com/mcp
451
- mcpman notify test install
452
- ```
453
-
454
- #### `replay [index]`
455
-
456
- Re-run previous CLI commands from history.
457
-
458
- ```sh
459
- mcpman replay --list
460
- mcpman replay 0
461
- ```
462
-
463
- #### `alias <add|remove|list>`
464
-
465
- Create command shorthands.
466
-
467
- ```sh
468
- mcpman alias add fs "install @modelcontextprotocol/server-filesystem"
469
- ```
470
-
471
- #### `export / import`
472
-
473
- Portable config migration.
474
-
475
- ```sh
476
- mcpman export backup.json
477
- mcpman import backup.json --dry-run
478
- ```
479
-
480
- #### `plugin <add|remove|list>`
481
-
482
- Manage npm-based plugins for custom registries.
483
-
484
- ```sh
485
- mcpman plugin add mcpman-plugin-ollama
486
- ```
487
-
488
- #### `completions <bash|zsh|fish|install>`
489
-
490
- Generate shell completion scripts.
491
-
492
- ```sh
493
- source <(mcpman completions bash)
494
- mcpman completions install
495
- ```
496
-
497
- ---
498
-
499
- ## Comparison
500
-
501
- | Feature | mcpman | Smithery CLI | mcpm.sh |
502
- |---|---|---|---|
503
- | Multi-client support | **All 10 clients** | Claude only | Limited |
504
- | Lockfile | `mcpman.lock` | None | None |
505
- | Health checks | Runtime + env + process | None | None |
506
- | Encrypted secrets | AES-256 vault | None | None |
507
- | Config sync | Cross-client + `--remove` | None | None |
508
- | Security audit | Trust scoring + auto-fix | None | None |
509
- | MCP server mode | 8 tools via stdio | None | None |
510
- | Remote transport | HTTP + SSE | None | None |
511
- | Dashboard | REST API + UI | None | None |
512
- | Team collaboration | RBAC + audit log | None | None |
513
- | Skills & agent sync | Universal spec + adapters | None | None |
514
- | Registry & publishing | npm + Smithery + GitHub + mcpman | Smithery only | npm only |
515
- | Plugin system | npm-based custom registries | None | None |
516
- | Server scaffolding | Node + Python templates | None | None |
517
- | Local dev linking | `link` (like npm link) | None | None |
518
- | File watching | `watch` (auto-restart) | None | None |
519
- | Shell completions | bash + zsh + fish | None | None |
520
- | Export/Import | Full config portability | None | None |
521
- | Profiles | Named config switching | None | None |
522
- | Auto-rollback | Snapshot + restore | None | None |
523
- | CI/CD | GitHub Actions | None | None |
524
-
525
- ---
526
-
527
- ## Contributing
528
-
529
- 1. Fork the repo and create a feature branch
530
- 2. `npm install` to install dependencies
531
- 3. `npm test` to run the test suite (1,123 tests)
532
- 4. Submit a pull request with a clear description
533
-
534
- Please follow the existing code style (TypeScript strict, ES modules).
535
-
536
- ---
537
-
538
- ## License
539
-
540
- MIT
1
+ # mcpman
2
+
3
+ ![TypeScript](https://img.shields.io/badge/TypeScript-3178C6?style=flat-square&logo=typescript&logoColor=white)
4
+ ![npm](https://img.shields.io/badge/npm-CB3837?style=flat-square&logo=npm&logoColor=white)
5
+
6
+ Universal package manager for Model Context Protocol (MCP) servers. Install and manage MCP servers across 10+ AI clients from a single CLI.
7
+
8
+ ## Supported Clients
9
+
10
+ - Claude Desktop
11
+ - VS Code (Copilot)
12
+ - Cursor
13
+ - Windsurf
14
+ - Zed
15
+ - And more...
16
+
17
+ ## Installation
18
+
19
+ ```bash
20
+ npm install -g mcpman
21
+ ```
22
+
23
+ ## Usage
24
+
25
+ ```bash
26
+ # Install an MCP server
27
+ mcpman install @anthropic/mcp-server-filesystem
28
+
29
+ # List installed servers
30
+ mcpman list
31
+
32
+ # Remove a server
33
+ mcpman remove @anthropic/mcp-server-filesystem
34
+
35
+ # Show status
36
+ mcpman status
37
+ ```
38
+
39
+ ## How It Works
40
+
41
+ mcpman detects installed AI clients and manages their MCP server configurations automatically. It handles config file locations, server startup, and version management for each client.
42
+
43
+ ## License
44
+
45
+ See [LICENSE](./LICENSE) for details.
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes