mcpick 0.0.3 → 0.0.5
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/CHANGELOG.md +13 -0
- package/README.md +27 -5
- package/dist/commands/edit-config.js +1 -1
- package/dist/commands/launch.js +12 -23
- package/dist/index.js +1 -10
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# mcpick
|
|
2
2
|
|
|
3
|
+
## 0.0.5
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- abc8715: fix: improve UI labels and add documentation about global
|
|
8
|
+
MCP server configuration
|
|
9
|
+
|
|
10
|
+
## 0.0.4
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- 25f7d07: chore: remove non-functional launch feature
|
|
15
|
+
|
|
3
16
|
## 0.0.3
|
|
4
17
|
|
|
5
18
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -6,9 +6,11 @@ context usage and performance.
|
|
|
6
6
|
|
|
7
7
|
## Installation
|
|
8
8
|
|
|
9
|
-
### One-time Usage
|
|
9
|
+
### One-time Usage (recommended)
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
|
+
pnpx mcpick
|
|
13
|
+
# or
|
|
12
14
|
pnpm dlx mcpick
|
|
13
15
|
# or
|
|
14
16
|
npx mcpick
|
|
@@ -59,8 +61,6 @@ McPick provides an intuitive CLI menu to:
|
|
|
59
61
|
preserving other Claude Code settings
|
|
60
62
|
- 💾 **Backup & restore** - Create focused backups of your MCP server
|
|
61
63
|
configurations
|
|
62
|
-
- 🚀 **Quick launch** - Start Claude Code with your optimized
|
|
63
|
-
configuration
|
|
64
64
|
|
|
65
65
|
## Features
|
|
66
66
|
|
|
@@ -74,7 +74,6 @@ McPick provides an intuitive CLI menu to:
|
|
|
74
74
|
│ ○ Backup config
|
|
75
75
|
│ ○ Add MCP server
|
|
76
76
|
│ ○ Restore from backup
|
|
77
|
-
│ ○ Launch Claude Code
|
|
78
77
|
│ ○ Exit
|
|
79
78
|
└
|
|
80
79
|
```
|
|
@@ -103,7 +102,8 @@ McPick provides an intuitive CLI menu to:
|
|
|
103
102
|
|
|
104
103
|
1. **Before a coding session**: Run MCPick and enable only relevant
|
|
105
104
|
servers (e.g., just database tools for DB work)
|
|
106
|
-
2. **Launch Claude Code**:
|
|
105
|
+
2. **Launch Claude Code**: Run `claude` to start with your configured
|
|
106
|
+
servers
|
|
107
107
|
3. **Switch contexts**: Re-run MCPick to enable different servers for
|
|
108
108
|
different tasks
|
|
109
109
|
|
|
@@ -143,6 +143,11 @@ MCPick works with the standard Claude Code configuration format:
|
|
|
143
143
|
server database)
|
|
144
144
|
- **Backups**: `~/.claude/mcpick/backups/` (MCP configuration backups)
|
|
145
145
|
|
|
146
|
+
> **Note**: If your MCP servers do not appear in MCPick, ensure they
|
|
147
|
+
> are configured at the global level in Claude Code
|
|
148
|
+
> (`~/.claude.json`), not at the project level (`.claude.json` in your
|
|
149
|
+
> project directory). MCPick manages the global configuration file.
|
|
150
|
+
|
|
146
151
|
## Safety Features
|
|
147
152
|
|
|
148
153
|
- **Non-destructive**: Only modifies the `mcpServers` section of your
|
|
@@ -154,6 +159,23 @@ MCPick works with the standard Claude Code configuration format:
|
|
|
154
159
|
- **Error handling**: Graceful failure modes with helpful error
|
|
155
160
|
messages
|
|
156
161
|
|
|
162
|
+
## Future Features
|
|
163
|
+
|
|
164
|
+
McPick is actively being developed with new features planned. See the
|
|
165
|
+
[roadmap](./docs/ROADMAP.md) for details on:
|
|
166
|
+
|
|
167
|
+
- **Settings Validation** - Validate your Claude Code settings files
|
|
168
|
+
using the
|
|
169
|
+
[claude-code-settings-schema](https://github.com/spences10/claude-code-settings-schema)
|
|
170
|
+
- **Permissions Management** - Interactive tool permission
|
|
171
|
+
configuration with presets (Safe Mode, Dev Mode, Review Mode)
|
|
172
|
+
- **Configuration Profiles** - Save and switch between complete
|
|
173
|
+
configuration snapshots for different workflows
|
|
174
|
+
|
|
175
|
+
Have ideas for other features?
|
|
176
|
+
[Open an issue](https://github.com/spences10/mcpick/issues) or check
|
|
177
|
+
out the [contribution guide](./docs/ROADMAP.md)!
|
|
178
|
+
|
|
157
179
|
## Requirements
|
|
158
180
|
|
|
159
181
|
- Node.js 22+
|
|
@@ -25,7 +25,7 @@ export async function edit_config() {
|
|
|
25
25
|
hint: server.description || '',
|
|
26
26
|
}));
|
|
27
27
|
const selected_server_names = await multiselect({
|
|
28
|
-
message: 'Select MCP servers to enable:',
|
|
28
|
+
message: 'Select MCP servers to enable (Toggle On/Off servers with spacebar):',
|
|
29
29
|
options: server_choices,
|
|
30
30
|
initialValues: currently_enabled,
|
|
31
31
|
required: false,
|
package/dist/commands/launch.js
CHANGED
|
@@ -1,31 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { outro } from '@clack/prompts';
|
|
2
|
+
import { execSync } from 'node:child_process';
|
|
3
3
|
export async function launch_claude_code() {
|
|
4
|
-
const s = spinner();
|
|
5
4
|
try {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
5
|
+
outro('Launching Claude Code...');
|
|
6
|
+
// Replace the current process with claude using exec
|
|
7
|
+
// This ensures the terminal stays valid and Claude gets full control
|
|
8
|
+
execSync('claude', {
|
|
9
|
+
stdio: 'inherit',
|
|
10
10
|
});
|
|
11
|
-
claude_process.unref();
|
|
12
|
-
await new Promise((resolve, reject) => {
|
|
13
|
-
claude_process.on('error', (error) => {
|
|
14
|
-
if (error.message.includes('ENOENT')) {
|
|
15
|
-
reject(new Error('Claude Code not found. Make sure it is installed and in your PATH.'));
|
|
16
|
-
}
|
|
17
|
-
else {
|
|
18
|
-
reject(error);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
setTimeout(() => {
|
|
22
|
-
resolve(void 0);
|
|
23
|
-
}, 1000);
|
|
24
|
-
});
|
|
25
|
-
s.stop('Claude Code launched successfully!');
|
|
26
11
|
}
|
|
27
12
|
catch (error) {
|
|
28
|
-
|
|
13
|
+
if (error instanceof Error && 'status' in error) {
|
|
14
|
+
// Claude exited normally, just return
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
// Only throw for actual errors (not exit codes)
|
|
29
18
|
throw new Error(`Failed to launch Claude Code: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
30
19
|
}
|
|
31
20
|
}
|
package/dist/index.js
CHANGED
|
@@ -3,7 +3,6 @@ import { cancel, intro, isCancel, outro, select, } from '@clack/prompts';
|
|
|
3
3
|
import { add_server } from './commands/add-server.js';
|
|
4
4
|
import { backup_config } from './commands/backup.js';
|
|
5
5
|
import { edit_config } from './commands/edit-config.js';
|
|
6
|
-
import { launch_claude_code } from './commands/launch.js';
|
|
7
6
|
import { restore_config } from './commands/restore.js';
|
|
8
7
|
async function main() {
|
|
9
8
|
intro('MCPick - MCP Server Configuration Manager');
|
|
@@ -14,7 +13,7 @@ async function main() {
|
|
|
14
13
|
options: [
|
|
15
14
|
{
|
|
16
15
|
value: 'edit-config',
|
|
17
|
-
label: '
|
|
16
|
+
label: 'Enable / Disable MCP servers',
|
|
18
17
|
hint: 'Toggle MCP servers on/off',
|
|
19
18
|
},
|
|
20
19
|
{
|
|
@@ -32,11 +31,6 @@ async function main() {
|
|
|
32
31
|
label: 'Restore from backup',
|
|
33
32
|
hint: 'Restore from a previous backup',
|
|
34
33
|
},
|
|
35
|
-
{
|
|
36
|
-
value: 'launch',
|
|
37
|
-
label: 'Launch Claude Code',
|
|
38
|
-
hint: 'Start Claude Code with current config',
|
|
39
|
-
},
|
|
40
34
|
{
|
|
41
35
|
value: 'exit',
|
|
42
36
|
label: 'Exit',
|
|
@@ -61,9 +55,6 @@ async function main() {
|
|
|
61
55
|
case 'restore':
|
|
62
56
|
await restore_config();
|
|
63
57
|
break;
|
|
64
|
-
case 'launch':
|
|
65
|
-
await launch_claude_code();
|
|
66
|
-
break;
|
|
67
58
|
case 'exit':
|
|
68
59
|
outro('Goodbye!');
|
|
69
60
|
process.exit(0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpick",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.5",
|
|
4
4
|
"description": "Dynamic MCP server configuration manager for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@changesets/cli": "^2.29.7",
|
|
28
|
-
"@types/node": "^24.
|
|
28
|
+
"@types/node": "^24.7.0",
|
|
29
29
|
"prettier": "^3.6.2",
|
|
30
30
|
"typescript": "^5.9.3"
|
|
31
31
|
},
|