CLI tests seed the developer's real ~/.mcp-inspector/mcp.json (cli.test.ts, completion.test.ts)
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 76/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- node.js, typescript
Línea de trabajo
Lee clients/cli/__tests__/cli.test.ts y clients/cli/__tests__/completion.test.ts; luego sigue cómo serverList resuelve la ruta predeterminada del catálogo y compáralo con la configuración de #2728. Usa un directorio temporal por archivo para el catálogo y añade una comprobación que falle si su ruta se resuelve fuera de os.tmpdir(). Ejecuta los dos archivos de Vitest indicados y confirma que no modifican el directorio home real.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- TypeScript
- Estrellas
- 11.1k
- Forks
- 1.6k
- Merge medio
- 5 h 29 min
- PR fusionados (30 d)
- 158
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de modelcontextprotocol/inspector
-
enhancement v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 67/100
modelcontextprotocol/inspector#2782 ·
Los mantenedores suelen responder en 1 día
-
chore v2
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
modelcontextprotocol/inspector#2752 ·
Los mantenedores suelen responder en 1 día
-
SSE transport: connection succeeds then marked 'Failed' after first event, works fine with raw curlAbierto
Dificultad 4/5 1-2 días Aptitud para principiantes 53/100
modelcontextprotocol/inspector#2783 ·
Los mantenedores suelen responder en 1 día
-
enhancement v2
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
modelcontextprotocol/inspector#2772 ·
Los mantenedores suelen responder en 1 día
-
bug v2
Dificultad 4/5 3-5 días Aptitud para principiantes 56/100
modelcontextprotocol/inspector#2768 ·
Los mantenedores suelen responder en 1 día
Todos los issues de modelcontextprotocol/inspector
Issues similares
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster no-stale P3
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
openclaw/openclaw#182077 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
aikido high security
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
dequelabs/axe-linter-action#161 ·
-
[Feature Request] Update the DimCode agent icon to the 45:32 brand markPosiblemente ocupada @eric8810 la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
[Feature]: 建议导入源后,自动切换到新导入的源Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
lyswhut/lx-music-desktop#3026 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
abhigyanpatwari/GitNexus#3704 ·
Los mantenedores suelen responder en 1 día