mcpick 0.0.4 → 0.0.6
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 +25 -1
- package/dist/commands/edit-config.js +1 -1
- package/dist/index.js +1 -1
- package/dist/utils/paths.js +24 -3
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
# mcpick
|
|
2
2
|
|
|
3
|
+
## 0.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 413ff07: Add CLAUDE_CONFIG_DIR support for custom config locations
|
|
8
|
+
|
|
9
|
+
## 0.0.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- abc8715: fix: improve UI labels and add documentation about global
|
|
14
|
+
MCP server configuration
|
|
15
|
+
|
|
3
16
|
## 0.0.4
|
|
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
|
|
@@ -141,6 +143,11 @@ MCPick works with the standard Claude Code configuration format:
|
|
|
141
143
|
server database)
|
|
142
144
|
- **Backups**: `~/.claude/mcpick/backups/` (MCP configuration backups)
|
|
143
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
|
+
|
|
144
151
|
## Safety Features
|
|
145
152
|
|
|
146
153
|
- **Non-destructive**: Only modifies the `mcpServers` section of your
|
|
@@ -152,6 +159,23 @@ MCPick works with the standard Claude Code configuration format:
|
|
|
152
159
|
- **Error handling**: Graceful failure modes with helpful error
|
|
153
160
|
messages
|
|
154
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
|
+
|
|
155
179
|
## Requirements
|
|
156
180
|
|
|
157
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/index.js
CHANGED
package/dist/utils/paths.js
CHANGED
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
import { access, mkdir } from 'node:fs/promises';
|
|
2
|
+
import { existsSync } from 'node:fs';
|
|
2
3
|
import { homedir } from 'node:os';
|
|
3
|
-
import { join } from 'node:path';
|
|
4
|
+
import { join, dirname } from 'node:path';
|
|
5
|
+
export function get_base_dir() {
|
|
6
|
+
const configDir = process.env.CLAUDE_CONFIG_DIR;
|
|
7
|
+
if (configDir && configDir.length > 0 && existsSync(configDir)) {
|
|
8
|
+
return {
|
|
9
|
+
baseDir: configDir,
|
|
10
|
+
parentDir: dirname(configDir),
|
|
11
|
+
coLocatedConfig: true,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
const defaultDir = join(homedir(), '.claude');
|
|
15
|
+
return {
|
|
16
|
+
baseDir: defaultDir,
|
|
17
|
+
parentDir: dirname(defaultDir),
|
|
18
|
+
coLocatedConfig: false,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
4
21
|
export function get_claude_config_path() {
|
|
5
|
-
|
|
22
|
+
const { baseDir, parentDir, coLocatedConfig } = get_base_dir();
|
|
23
|
+
if (coLocatedConfig) {
|
|
24
|
+
return join(baseDir, '.claude.json');
|
|
25
|
+
}
|
|
26
|
+
return join(parentDir, '.claude.json');
|
|
6
27
|
}
|
|
7
28
|
export function get_mcpick_dir() {
|
|
8
|
-
return join(
|
|
29
|
+
return join(get_base_dir().baseDir, 'mcpick');
|
|
9
30
|
}
|
|
10
31
|
export function get_server_registry_path() {
|
|
11
32
|
return join(get_mcpick_dir(), 'servers.json');
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcpick",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.6",
|
|
4
4
|
"description": "Dynamic MCP server configuration manager for Claude Code",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -21,12 +21,12 @@
|
|
|
21
21
|
"license": "MIT",
|
|
22
22
|
"dependencies": {
|
|
23
23
|
"@clack/prompts": "^0.11.0",
|
|
24
|
-
"valibot": "^1.
|
|
24
|
+
"valibot": "^1.2.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@changesets/cli": "^2.29.
|
|
28
|
-
"@types/node": "^24.
|
|
29
|
-
"prettier": "^3.
|
|
27
|
+
"@changesets/cli": "^2.29.8",
|
|
28
|
+
"@types/node": "^24.10.1",
|
|
29
|
+
"prettier": "^3.7.4",
|
|
30
30
|
"typescript": "^5.9.3"
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|