mcpick 0.0.21 → 0.0.22
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/.github/copilot-instructions.md +39 -21
- package/CHANGELOG.md +19 -5
- package/CONTEXT.md +49 -0
- package/README.md +146 -127
- package/dist/{add-BDyaBew0.js → add-Bok0qbXi.js} +4 -5
- package/dist/{add-json-BjgzdeG-.js → add-json-C44vy2A_.js} +3 -3
- package/dist/{atomic-write-BqEykHp9.js → atomic-write-4lANmzsO.js} +1 -1
- package/dist/{backup-DSDhHI5f.js → backup-bdg6dvsb.js} +5 -5
- package/dist/{cache-D6kd7qE8.js → cache-CSUcGdZP.js} +3 -3
- package/dist/cli-avr5R1LO.js +111 -0
- package/dist/clients-CSQgqHzb.js +30 -0
- package/dist/{clone-DYKPEsar.js → clone-CQ0skkT6.js} +6 -7
- package/dist/{config-DijVdEFn.js → config-BhX4eAgg.js} +4 -4
- package/dist/{dev-DRJRNp7y.js → dev-CTDg5g-c.js} +6 -6
- package/dist/{disable-xJXZfUR_.js → disable-DLlOj7sc.js} +3 -4
- package/dist/{enable-RrpcN6la.js → enable-CGFYYC2A.js} +3 -4
- package/dist/{get-Bb1eOOIZ.js → get-l-eAJhBy.js} +3 -3
- package/dist/{hooks-Bmn7pUZa.js → hooks-BWZ_Kgx3.js} +4 -4
- package/dist/index.js +1479 -312
- package/dist/list-By--kltj.js +100 -0
- package/dist/{marketplace-DcKk5dc1.js → marketplace-DdiKDDKK.js} +4 -5
- package/dist/output-BgN9Uuxf.js +17 -0
- package/dist/{paths-BPISiJi4.js → paths-6wrIM8yh.js} +1 -1
- package/dist/{plugin-cache-Bby9Dxm9.js → plugin-cache-DKcW8LGV.js} +3 -3
- package/dist/{plugins-Dc7DN6R_.js → plugins-CsXE8AH4.js} +5 -5
- package/dist/{profile-CX97sMGp.js → profile-DzGPsdsl.js} +5 -5
- package/dist/redact-Dltz2gde.js +88 -0
- package/dist/{reload-CYDhkCVZ.js → reload-C29-vuvy.js} +2 -2
- package/dist/{remove-D1owHLhG.js → remove-B5q4rQRU.js} +3 -4
- package/dist/{reset-project-choices-BfRSNN3m.js → reset-project-choices-Dhh4CxIC.js} +3 -3
- package/dist/{restore-DdMfUljI.js → restore-BI8aiszM.js} +6 -6
- package/dist/{settings-DEcWtzLE.js → settings-CZR8bVfh.js} +5 -5
- package/dist/skills-DPBDmION.js +216 -0
- package/dist/{validation-xMlbgGCF.js → validation-qWlF51fw.js} +1 -1
- package/package.json +20 -6
- package/dist/claude-cli-DnmBJrjg.js +0 -445
- package/dist/cli-CsFfnWBo.js +0 -84
- package/dist/hook-state-Di8lUsPr.js +0 -171
- package/dist/list-B8YeDWt6.js +0 -64
- package/dist/output-BchYq0mR.js +0 -15
- package/dist/profile-DkY_lBEm.js +0 -70
- package/dist/redact-O35tjnRD.js +0 -26
- package/dist/registry-CfUKT7_C.js +0 -92
|
@@ -1,32 +1,50 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MCPick Development Instructions
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
bash commands only when you encounter unexpected information that does
|
|
5
|
-
not match the info here.**
|
|
3
|
+
## Project shape
|
|
6
4
|
|
|
7
|
-
|
|
5
|
+
MCPick is a vendor-neutral MCP configuration manager with first-class
|
|
6
|
+
Claude Code support.
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
- Keep MCP server functionality client-neutral where possible.
|
|
9
|
+
- Keep Claude Code plugins, hooks, marketplaces, and cache commands
|
|
10
|
+
clearly Claude-specific.
|
|
11
|
+
- Prefer CLI flows that work well for LLM agents: non-interactive
|
|
12
|
+
flags, `--json`, useful help text, and redacted output.
|
|
10
13
|
|
|
11
|
-
|
|
12
|
-
- Install pnpm globally: `npm install -g pnpm` (takes ~2 seconds)
|
|
14
|
+
## Prerequisites
|
|
13
15
|
|
|
14
|
-
|
|
16
|
+
- Node.js >=22.0.0
|
|
17
|
+
- pnpm
|
|
15
18
|
|
|
16
|
-
|
|
17
|
-
- **Build**: `pnpm run build`
|
|
19
|
+
## Common commands
|
|
18
20
|
|
|
19
|
-
|
|
21
|
+
```bash
|
|
22
|
+
pnpm install
|
|
23
|
+
pnpm test
|
|
24
|
+
pnpm run check
|
|
25
|
+
pnpm build
|
|
26
|
+
```
|
|
20
27
|
|
|
21
|
-
|
|
28
|
+
## Validation before finishing
|
|
22
29
|
|
|
23
|
-
|
|
24
|
-
2. `pnpm run build` - Check for build issues
|
|
30
|
+
Always run:
|
|
25
31
|
|
|
26
|
-
|
|
32
|
+
```bash
|
|
33
|
+
pnpm run check
|
|
34
|
+
pnpm test
|
|
35
|
+
pnpm build
|
|
36
|
+
```
|
|
27
37
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
38
|
+
`pnpm run check` validates formatting, lint, and types through
|
|
39
|
+
vite-plus.
|
|
40
|
+
|
|
41
|
+
## Changesets
|
|
42
|
+
|
|
43
|
+
For user-facing changes, add a changeset:
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
pnpm changeset
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Use a short message prefixed with `feat`, `fix`, `chore`, or
|
|
50
|
+
`breaking`.
|
package/CHANGELOG.md
CHANGED
|
@@ -1,25 +1,39 @@
|
|
|
1
1
|
# mcpick
|
|
2
2
|
|
|
3
|
+
## 0.0.22
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 55a46c0: chore: remove outdated documentation and refresh README for
|
|
8
|
+
vendor-neutral MCPick architecture and current CLI flows
|
|
9
|
+
- f30675a: Add vendor-neutral skills management, client-first TUI
|
|
10
|
+
refactor, and safer redacted CLI output for agents.
|
|
11
|
+
|
|
3
12
|
## 0.0.21
|
|
4
13
|
|
|
5
14
|
### Patch Changes
|
|
6
15
|
|
|
7
|
-
- 47e40be: chore: reorder TUI menu and update README for agent-first
|
|
16
|
+
- 47e40be: chore: reorder TUI menu and update README for agent-first
|
|
17
|
+
usage
|
|
8
18
|
|
|
9
19
|
## 0.0.20
|
|
10
20
|
|
|
11
21
|
### Patch Changes
|
|
12
22
|
|
|
13
23
|
- 00ea930: chore: add unit tests and CI workflow with GitHub Actions
|
|
14
|
-
- 37a62e1: feat: auto-show help instead of TUI in non-TTY environments
|
|
15
|
-
|
|
24
|
+
- 37a62e1: feat: auto-show help instead of TUI in non-TTY environments
|
|
25
|
+
for LLM agents
|
|
26
|
+
- fc1db54: fix: replace exec with execFile to eliminate shell
|
|
27
|
+
injection on all platforms
|
|
16
28
|
|
|
17
29
|
## 0.0.19
|
|
18
30
|
|
|
19
31
|
### Patch Changes
|
|
20
32
|
|
|
21
|
-
- 5ed618e: Migrate build tooling from tsc/prettier to vite-plus, fix
|
|
22
|
-
|
|
33
|
+
- 5ed618e: Migrate build tooling from tsc/prettier to vite-plus, fix
|
|
34
|
+
all lint warnings
|
|
35
|
+
- 08997dc: feat: rewrite --help for LLM agents with workflow,
|
|
36
|
+
concepts, and examples sections
|
|
23
37
|
|
|
24
38
|
## 0.0.18
|
|
25
39
|
|
package/CONTEXT.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# MCPick
|
|
2
|
+
|
|
3
|
+
MCPick manages Model Context Protocol configuration across AI
|
|
4
|
+
development tools without making one vendor's config format the
|
|
5
|
+
product model.
|
|
6
|
+
|
|
7
|
+
## Language
|
|
8
|
+
|
|
9
|
+
**MCP Server**: A runnable or remote tool provider exposed through the
|
|
10
|
+
Model Context Protocol. _Avoid_: Claude server, plugin server
|
|
11
|
+
|
|
12
|
+
**MCP Client**: An AI application that loads MCP Server configuration
|
|
13
|
+
and exposes those tools to a model. _Avoid_: Vendor, app, host
|
|
14
|
+
|
|
15
|
+
**Client Adapter**: A module that translates between MCPick's portable
|
|
16
|
+
MCP Server shape and one MCP Client's config file shape. _Avoid_:
|
|
17
|
+
Provider, integration, plugin
|
|
18
|
+
|
|
19
|
+
**Portable Server**: MCPick's canonical representation of an MCP
|
|
20
|
+
Server independent of any MCP Client config file. _Avoid_: Claude
|
|
21
|
+
config, raw config
|
|
22
|
+
|
|
23
|
+
**Config Location**: A file path and scope where an MCP Client reads
|
|
24
|
+
MCP Server configuration. _Avoid_: path helper, config target
|
|
25
|
+
|
|
26
|
+
**Profile**: A saved set of Portable Servers intended to be applied to
|
|
27
|
+
one or more MCP Clients. _Avoid_: Claude profile
|
|
28
|
+
|
|
29
|
+
## Relationships
|
|
30
|
+
|
|
31
|
+
- An **MCP Client** reads one or more **Config Locations**.
|
|
32
|
+
- A **Client Adapter** translates between a **Config Location** and
|
|
33
|
+
**Portable Servers**.
|
|
34
|
+
- A **Profile** contains **Portable Servers**.
|
|
35
|
+
- An **MCP Server** may appear in multiple **MCP Clients** with
|
|
36
|
+
client-specific options.
|
|
37
|
+
|
|
38
|
+
## Example dialogue
|
|
39
|
+
|
|
40
|
+
> **Dev:** "Can we enable the Google docs MCP server in Gemini and
|
|
41
|
+
> Cursor without rewriting the JSON twice?" **Domain expert:** "Yes —
|
|
42
|
+
> keep it as a **Portable Server**, then let each **Client Adapter**
|
|
43
|
+
> write the right **Config Location**."
|
|
44
|
+
|
|
45
|
+
## Flagged ambiguities
|
|
46
|
+
|
|
47
|
+
- "server config" used to mean both MCPick registry entries and
|
|
48
|
+
client-specific JSON. Resolved: **Portable Server** for MCPick's
|
|
49
|
+
shape, **Config Location** for client-owned files.
|
package/README.md
CHANGED
|
@@ -1,187 +1,206 @@
|
|
|
1
|
-
#
|
|
1
|
+
# MCPick
|
|
2
2
|
|
|
3
3
|
[](https://viteplus.dev)
|
|
4
4
|
[](https://vitest.dev)
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
Vendor-neutral MCP configuration manager with first-class Claude Code
|
|
7
|
+
support.
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
MCPick helps humans and LLM agents inspect, toggle, and back up MCP
|
|
10
|
+
server configuration across multiple AI clients. Claude Code-specific
|
|
11
|
+
plugins, hooks, marketplaces, and cache commands remain available, but
|
|
12
|
+
they are no longer the core product model.
|
|
10
13
|
|
|
11
|
-
|
|
14
|
+
## Install
|
|
12
15
|
|
|
13
|
-
```
|
|
14
|
-
|
|
16
|
+
```bash
|
|
17
|
+
npm install -g mcpick
|
|
18
|
+
# or run without installing
|
|
19
|
+
npx mcpick --help
|
|
15
20
|
```
|
|
16
21
|
|
|
17
|
-
|
|
18
|
-
Use npx mcpick to list my plugins and disable the ones I'm not using
|
|
19
|
-
```
|
|
22
|
+
Requirements:
|
|
20
23
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
- Node.js 22+
|
|
25
|
+
- Claude Code is required only for Claude Code-specific commands
|
|
26
|
+
- The external `skills` CLI is used through `npx -y skills@latest` for
|
|
27
|
+
portable skills commands
|
|
24
28
|
|
|
25
|
-
|
|
26
|
-
instead of launching the interactive TUI — so LLM agents can read
|
|
27
|
-
`npx mcpick --help` and figure out the rest.
|
|
29
|
+
## Agent-first CLI
|
|
28
30
|
|
|
29
|
-
|
|
31
|
+
In non-TTY environments, MCPick shows help instead of launching the
|
|
32
|
+
interactive TUI. This makes it safer for prompts like:
|
|
30
33
|
|
|
31
|
-
|
|
32
|
-
(`/slash-commands`), hooks, agents, and MCP servers.
|
|
34
|
+
> “Use mcpick to work out how to enable this MCP server.”
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
Marketplace → Plugin → Skills, Hooks, Agents, MCP Servers
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
## Common Workflows
|
|
39
|
-
|
|
40
|
-
### Install skills from a marketplace
|
|
36
|
+
Start with:
|
|
41
37
|
|
|
42
38
|
```bash
|
|
43
|
-
|
|
44
|
-
npx mcpick
|
|
39
|
+
npx mcpick --help
|
|
40
|
+
npx mcpick clients
|
|
41
|
+
npx mcpick list --json
|
|
42
|
+
```
|
|
45
43
|
|
|
46
|
-
|
|
47
|
-
|
|
44
|
+
MCPick redacts known secret patterns before printing output. MCP
|
|
45
|
+
configs often contain env vars and authorization headers, so `env` and
|
|
46
|
+
`headers` values are shown as `***` in JSON output.
|
|
48
47
|
|
|
49
|
-
|
|
50
|
-
```
|
|
48
|
+
## MCP clients
|
|
51
49
|
|
|
52
|
-
|
|
50
|
+
Supported client adapters:
|
|
53
51
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
52
|
+
| Client | Scopes | Command examples |
|
|
53
|
+
| --------------------- | -------------------- | ------------------------------------------------- |
|
|
54
|
+
| Claude Code | local, project, user | `mcpick list`, `mcpick enable <server>` |
|
|
55
|
+
| Gemini CLI | project, user | `mcpick list --client gemini-cli --scope project` |
|
|
56
|
+
| VS Code / Copilot | project | `mcpick list --client vscode --scope project` |
|
|
57
|
+
| Cursor | project, user | `mcpick list --client cursor --scope user` |
|
|
58
|
+
| Windsurf | user | `mcpick list --client windsurf --scope user` |
|
|
59
|
+
| OpenCode | project, user | `mcpick list --client opencode --scope project` |
|
|
60
|
+
| Pi via pi-mcp-adapter | project, user | `mcpick list --client pi --scope user` |
|
|
57
61
|
|
|
58
|
-
|
|
62
|
+
Show known config locations:
|
|
59
63
|
|
|
60
64
|
```bash
|
|
61
|
-
npx mcpick
|
|
62
|
-
npx mcpick
|
|
63
|
-
npx mcpick disable <server> # Disable a server
|
|
64
|
-
npx mcpick add --name <n> ... # Add a new server
|
|
65
|
-
npx mcpick remove <server> # Remove a server
|
|
65
|
+
npx mcpick clients
|
|
66
|
+
npx mcpick clients --json
|
|
66
67
|
```
|
|
67
68
|
|
|
68
|
-
|
|
69
|
+
## MCP server commands
|
|
69
70
|
|
|
70
71
|
```bash
|
|
71
|
-
|
|
72
|
-
npx mcpick
|
|
73
|
-
npx mcpick
|
|
74
|
-
npx mcpick plugins update <key> # Update to latest
|
|
75
|
-
npx mcpick plugins enable <key> # Enable plugin
|
|
76
|
-
npx mcpick plugins disable <key> # Disable plugin
|
|
77
|
-
```
|
|
72
|
+
# List Claude Code registry/status
|
|
73
|
+
npx mcpick list
|
|
74
|
+
npx mcpick list --json
|
|
78
75
|
|
|
79
|
-
|
|
76
|
+
# List another client
|
|
77
|
+
npx mcpick list --client pi --scope user --json
|
|
78
|
+
npx mcpick list --client opencode --scope project
|
|
80
79
|
|
|
81
|
-
|
|
82
|
-
npx mcpick
|
|
83
|
-
npx mcpick
|
|
84
|
-
|
|
85
|
-
|
|
80
|
+
# Claude Code enable/disable
|
|
81
|
+
npx mcpick enable <server> --scope local
|
|
82
|
+
npx mcpick disable <server> --scope local
|
|
83
|
+
|
|
84
|
+
# Add/remove Claude Code server definitions
|
|
85
|
+
npx mcpick add --name <server> --command npx --args "-y,package-name"
|
|
86
|
+
npx mcpick add-json <name> '{"command":"npx","args":["-y","package-name"]}'
|
|
87
|
+
npx mcpick remove <server>
|
|
86
88
|
```
|
|
87
89
|
|
|
88
|
-
|
|
90
|
+
For secret-backed servers, prefer environment variable references and
|
|
91
|
+
secret-safe loading tools. MCPick redacts printed values, but MCP
|
|
92
|
+
client config files may still store secrets in plain text because that
|
|
93
|
+
is how many clients currently load MCP credentials.
|
|
89
94
|
|
|
90
|
-
|
|
91
|
-
npx mcpick hooks list # List all hooks
|
|
92
|
-
npx mcpick hooks add # Add a settings hook
|
|
93
|
-
npx mcpick hooks remove # Remove a hook
|
|
94
|
-
```
|
|
95
|
+
## Portable skills
|
|
95
96
|
|
|
96
|
-
|
|
97
|
+
MCPick delegates portable SKILL.md management to the external `skills`
|
|
98
|
+
CLI.
|
|
97
99
|
|
|
98
100
|
```bash
|
|
99
|
-
|
|
100
|
-
npx mcpick
|
|
101
|
-
npx mcpick cache clean-orphaned # Remove orphaned dirs
|
|
102
|
-
npx mcpick cache refresh # Git pull marketplaces
|
|
103
|
-
```
|
|
101
|
+
# List installed skills for a client
|
|
102
|
+
npx mcpick skills list --agent pi --json
|
|
104
103
|
|
|
105
|
-
|
|
104
|
+
# See available skills from a source without installing
|
|
105
|
+
npx mcpick skills add spences10/skills --list
|
|
106
106
|
|
|
107
|
-
|
|
107
|
+
# Install one skill
|
|
108
|
+
npx mcpick skills add spences10/skills --agent pi --skill svelte-runes --yes
|
|
108
109
|
|
|
109
|
-
|
|
110
|
-
npx mcpick --
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
# Install all skills for a client globally
|
|
111
|
+
npx mcpick skills add spences10/skills --agent opencode --skill '*' --global --yes
|
|
112
|
+
|
|
113
|
+
# Update/remove
|
|
114
|
+
npx mcpick skills update --global --yes
|
|
115
|
+
npx mcpick skills remove svelte-runes --agent pi --yes
|
|
113
116
|
```
|
|
114
117
|
|
|
115
|
-
|
|
118
|
+
## Claude Code-specific tools
|
|
119
|
+
|
|
120
|
+
These commands wrap Claude Code concepts and are intentionally
|
|
121
|
+
client-specific:
|
|
116
122
|
|
|
117
123
|
```bash
|
|
118
|
-
|
|
119
|
-
npx mcpick
|
|
124
|
+
# Plugins
|
|
125
|
+
npx mcpick plugins list
|
|
126
|
+
npx mcpick plugins install <name>@<marketplace>
|
|
127
|
+
npx mcpick plugins enable <name>@<marketplace>
|
|
128
|
+
npx mcpick plugins disable <name>@<marketplace>
|
|
129
|
+
|
|
130
|
+
# Marketplaces
|
|
131
|
+
npx mcpick marketplace list
|
|
132
|
+
npx mcpick marketplace add <source>
|
|
133
|
+
npx mcpick marketplace update
|
|
134
|
+
npx mcpick marketplace remove <name>
|
|
135
|
+
|
|
136
|
+
# Hooks and plugin cache
|
|
137
|
+
npx mcpick hooks list
|
|
138
|
+
npx mcpick cache status
|
|
139
|
+
npx mcpick cache refresh
|
|
120
140
|
```
|
|
121
141
|
|
|
122
|
-
|
|
142
|
+
## Profiles and backups
|
|
123
143
|
|
|
124
|
-
|
|
144
|
+
Profiles and backups currently preserve MCP server and Claude Code
|
|
145
|
+
plugin state.
|
|
125
146
|
|
|
126
|
-
|
|
127
|
-
|
|
147
|
+
```bash
|
|
148
|
+
npx mcpick --profile database
|
|
149
|
+
npx mcpick --save-profile mysetup
|
|
150
|
+
npx mcpick --list-profiles
|
|
128
151
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
│
|
|
132
|
-
◆ What would you like to do?
|
|
133
|
-
│ ● Enable / Disable MCP servers
|
|
134
|
-
│ ○ Manage plugins
|
|
135
|
-
│ ○ Manage marketplaces
|
|
136
|
-
│ ○ Manage hooks
|
|
137
|
-
│ ○ Manage plugin cache
|
|
138
|
-
│ ○ Backup config
|
|
139
|
-
│ ○ Add MCP server
|
|
140
|
-
│ ○ Restore from backup
|
|
141
|
-
│ ○ Load profile
|
|
142
|
-
│ ○ Save profile
|
|
143
|
-
│ ○ Exit
|
|
144
|
-
└
|
|
152
|
+
npx mcpick backup
|
|
153
|
+
npx mcpick restore [file]
|
|
145
154
|
```
|
|
146
155
|
|
|
147
|
-
|
|
148
|
-
automatically shows `--help` instead.
|
|
156
|
+
## Interactive TUI
|
|
149
157
|
|
|
150
|
-
|
|
158
|
+
Running `npx mcpick` in a terminal launches the human-facing menu:
|
|
151
159
|
|
|
152
|
-
|
|
153
|
-
|
|
160
|
+
```text
|
|
161
|
+
MCPick - MCP Configuration Manager
|
|
154
162
|
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
163
|
+
What would you like to do?
|
|
164
|
+
Enable / Disable MCP servers
|
|
165
|
+
Skills
|
|
166
|
+
Client-specific tools
|
|
167
|
+
Load profile
|
|
168
|
+
Save profile
|
|
169
|
+
Backup config
|
|
170
|
+
Restore from backup
|
|
171
|
+
Exit
|
|
158
172
|
```
|
|
159
173
|
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
174
|
+
The primary TUI flow is client-first: choose a client, then toggle its
|
|
175
|
+
MCP servers. Claude Code plugins, hooks, marketplaces, and cache live
|
|
176
|
+
under “Client-specific tools”.
|
|
163
177
|
|
|
164
|
-
##
|
|
178
|
+
## Config locations
|
|
165
179
|
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
| **Local** | Project-specific servers (default) | `~/.claude.json` → `projects[cwd].mcpServers` |
|
|
169
|
-
| **Project** | Shared via `.mcp.json` in repo | `.mcp.json` in project root |
|
|
170
|
-
| **User** | Global servers for all projects | `~/.claude.json` → `mcpServers` |
|
|
180
|
+
MCPick reads the standard locations used by each client adapter.
|
|
181
|
+
Common paths include:
|
|
171
182
|
|
|
172
|
-
|
|
183
|
+
| Path | Purpose |
|
|
184
|
+
| ------------------------ | ----------------------------------------------- |
|
|
185
|
+
| `~/.claude.json` | Claude Code local/user MCP config |
|
|
186
|
+
| `.mcp.json` | Shared project MCP config |
|
|
187
|
+
| `.gemini/settings.json` | Gemini CLI project config |
|
|
188
|
+
| `.vscode/mcp.json` | VS Code / Copilot project config |
|
|
189
|
+
| `.cursor/mcp.json` | Cursor project config |
|
|
190
|
+
| `opencode.json` | OpenCode project config |
|
|
191
|
+
| `~/.config/mcp/mcp.json` | Shared global MCP config used by pi-mcp-adapter |
|
|
192
|
+
| `.pi/mcp.json` | Pi project override |
|
|
173
193
|
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
| `~/.claude.json` | Claude Code configuration |
|
|
177
|
-
| `.mcp.json` | Project-specific shared config |
|
|
178
|
-
| `~/.claude/mcpick/servers.json` | Server registry |
|
|
179
|
-
| `~/.claude/mcpick/backups/` | Configuration backups |
|
|
180
|
-
| `~/.claude/mcpick/profiles/` | Saved profiles |
|
|
181
|
-
| `~/.claude/plugins/cache/` | Cached plugin files |
|
|
182
|
-
| `~/.claude/plugins/marketplaces/` | Marketplace git clones |
|
|
194
|
+
MCPick-owned state lives under `~/.claude/mcpick/` for historical
|
|
195
|
+
compatibility.
|
|
183
196
|
|
|
184
|
-
##
|
|
197
|
+
## Development
|
|
185
198
|
|
|
186
|
-
|
|
187
|
-
|
|
199
|
+
```bash
|
|
200
|
+
pnpm install
|
|
201
|
+
pnpm test
|
|
202
|
+
pnpm run check
|
|
203
|
+
pnpm build
|
|
204
|
+
```
|
|
205
|
+
|
|
206
|
+
See `docs/VENDOR_NEUTRAL_ARCHITECTURE.md` for architecture notes.
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { n as validate_mcp_server } from "./validation-
|
|
2
|
-
import {
|
|
3
|
-
import { t as
|
|
4
|
-
import { n as output, t as error } from "./output-BchYq0mR.js";
|
|
1
|
+
import { n as validate_mcp_server } from "./validation-qWlF51fw.js";
|
|
2
|
+
import { d as add_mcp_via_cli, w as add_server_to_registry } from "./index.js";
|
|
3
|
+
import { n as output, t as error } from "./output-BgN9Uuxf.js";
|
|
5
4
|
import { defineCommand } from "citty";
|
|
6
5
|
//#region src/cli/commands/add.ts
|
|
7
6
|
var add_default = defineCommand({
|
|
@@ -110,4 +109,4 @@ function parse_key_value_pairs(input) {
|
|
|
110
109
|
//#endregion
|
|
111
110
|
export { add_default as default };
|
|
112
111
|
|
|
113
|
-
//# sourceMappingURL=add-
|
|
112
|
+
//# sourceMappingURL=add-Bok0qbXi.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { n as output, t as error } from "./output-
|
|
1
|
+
import { _ as mcp_add_json_via_cli } from "./index.js";
|
|
2
|
+
import { n as output, t as error } from "./output-BgN9Uuxf.js";
|
|
3
3
|
import { defineCommand } from "citty";
|
|
4
4
|
//#region src/cli/commands/add-json.ts
|
|
5
5
|
var add_json_default = defineCommand({
|
|
@@ -55,4 +55,4 @@ var add_json_default = defineCommand({
|
|
|
55
55
|
//#endregion
|
|
56
56
|
export { add_json_default as default };
|
|
57
57
|
|
|
58
|
-
//# sourceMappingURL=add-json-
|
|
58
|
+
//# sourceMappingURL=add-json-C44vy2A_.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { m as get_plugin_backup_filename, n as get_backup_filename, r as get_backups_dir, t as ensure_directory_exists } from "./paths-
|
|
2
|
-
import { s as read_claude_config } from "./config-
|
|
3
|
-
import { a as read_claude_settings } from "./settings-
|
|
4
|
-
import { n as output } from "./output-
|
|
1
|
+
import { m as get_plugin_backup_filename, n as get_backup_filename, r as get_backups_dir, t as ensure_directory_exists } from "./paths-6wrIM8yh.js";
|
|
2
|
+
import { s as read_claude_config } from "./config-BhX4eAgg.js";
|
|
3
|
+
import { a as read_claude_settings } from "./settings-CZR8bVfh.js";
|
|
4
|
+
import { n as output } from "./output-BgN9Uuxf.js";
|
|
5
5
|
import { readdir, unlink, writeFile } from "node:fs/promises";
|
|
6
6
|
import { join } from "node:path";
|
|
7
7
|
import { defineCommand } from "citty";
|
|
@@ -61,4 +61,4 @@ var backup_default = defineCommand({
|
|
|
61
61
|
//#endregion
|
|
62
62
|
export { backup_default as default };
|
|
63
63
|
|
|
64
|
-
//# sourceMappingURL=backup-
|
|
64
|
+
//# sourceMappingURL=backup-bdg6dvsb.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { a as list_linked_plugins, c as read_installed_plugins, d as refresh_all_marketplaces, f as scan_all_cache_keys, i as link_local_plugin, n as clear_plugin_caches, p as unlink_local_plugin, r as get_cached_plugins_info, t as clean_orphaned_versions } from "./plugin-cache-
|
|
2
|
-
import { n as output, t as error } from "./output-
|
|
1
|
+
import { a as list_linked_plugins, c as read_installed_plugins, d as refresh_all_marketplaces, f as scan_all_cache_keys, i as link_local_plugin, n as clear_plugin_caches, p as unlink_local_plugin, r as get_cached_plugins_info, t as clean_orphaned_versions } from "./plugin-cache-DKcW8LGV.js";
|
|
2
|
+
import { n as output, t as error } from "./output-BgN9Uuxf.js";
|
|
3
3
|
import { defineCommand } from "citty";
|
|
4
4
|
var cache_default = defineCommand({
|
|
5
5
|
meta: {
|
|
@@ -223,4 +223,4 @@ var cache_default = defineCommand({
|
|
|
223
223
|
//#endregion
|
|
224
224
|
export { cache_default as default };
|
|
225
225
|
|
|
226
|
-
//# sourceMappingURL=cache-
|
|
226
|
+
//# sourceMappingURL=cache-CSUcGdZP.js.map
|