CLI tests seed the developer's real ~/.mcp-inspector/mcp.json (cli.test.ts, completion.test.ts)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
Direzione di ricerca
Leggi clients/cli/__tests__/cli.test.ts e clients/cli/__tests__/completion.test.ts, quindi segui come serverList risolve il percorso predefinito del catalogo e confrontalo con la configurazione per #2728. Usa una directory temporanea per file per il catalogo e aggiungi un controllo che fallisca se il suo percorso viene risolto al di fuori di os.tmpdir(). Esegui i due file Vitest indicati e conferma che non modificano la vera directory home.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Found during the v2.12.0 release smoke (#2764), while verifying #2719.
Problem
Two CLI test files still write the developer's real ~/.mcp-inspector/mcp.json: clients/cli/__tests__/cli.test.ts and clients/cli/__tests__/completion.test.ts. #2719 isolated the OAuth state file (oauth.json*) and #2723 isolated the TUI's auth.log. Nothing isolates the default server catalog, though, so on a machine with no catalog yet, a CLI test run seeds {"mcpServers": {}} into the real home directory.
Neither test file changed since 2.11.0, so this predates the v2.12.0 milestone and is not a regression.
Reproduce
cd clients/cli
for f in __tests__/*.test.ts; do H=$(mktemp -d); HOME=$H npx vitest run $f >/dev/null 2>&1; [ -e $H/.mcp-inspector ] && echo "$f -> $(cd $H && find .mcp-inspector -type f)"; done
Observed on the v2.12.0 merge tree:
__tests__/cli.test.ts -> .mcp-inspector/mcp.json
__tests__/completion.test.ts -> .mcp-inspector/mcp.json
Expected
A CLI test run leaves HOME untouched. The fix should use the same shape as #2728: point the catalog path (MCP_STORAGE_DIR, or whatever serverList resolves the default catalog from) at a per-file mkdtemp directory in a setup file. It should also add a guard that fails a test whose catalog path resolves outside os.tmpdir().
Impact
The seed only happens when no catalog exists, so an existing mcp.json is never overwritten. The impact is a stray empty catalog on a fresh machine, plus concurrent worktree runs sharing one file.
- Lingua principale
- TypeScript
- Stelle
- 11.1k
- Fork
- 1.6k
- Merge medio
- 5h 29m
- PR unite (30g)
- 158
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di modelcontextprotocol/inspector
-
enhancement v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
modelcontextprotocol/inspector#2782 ·
I maintainer di solito rispondono entro 1 giorno
-
chore v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
modelcontextprotocol/inspector#2752 ·
I maintainer di solito rispondono entro 1 giorno
-
SSE transport: connection succeeds then marked 'Failed' after first event, works fine with raw curlAperta
Difficoltà 4/5 1-2 giorni Idoneità per principianti 53/100
modelcontextprotocol/inspector#2783 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
modelcontextprotocol/inspector#2772 ·
I maintainer di solito rispondono entro 1 giorno
-
bug v2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 56/100
modelcontextprotocol/inspector#2768 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/inspector
Issue simili
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 82/100
source-cooperative/docs.source.coop#41 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
Nimblesite/SharpLsp#468 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
solidjs-community/solid-primitives#1082 ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 64/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno