CLI --prompt-args rewrites string values ("1.50" sent as "1.5")
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
- 78/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- cli
Direzione di ricerca
Inizia in clients/cli/src/cli.ts, da parseKeyValuePair (intorno alla riga 839), e segui il percorso di --prompt-args fino a convertPromptArguments in core/json/jsonUtils.ts (intorno alla riga 423). Mantieni il tipo dei valori degli argomenti del prompt, comprese le stringhe che sembrano numeri; verifica con i valori segnalati, come 1.50 e 1e3. Il lavoro è completato quando la CLI invia ogni valore del prompt esattamente come è stato inserito.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Which version line? v2 — current (@modelcontextprotocol/inspector@latest)
Which client? CLI
Inspector version: 2.13.0
Node version: 24.18
Operating system: Windows 11
Transport: stdio
What happened
mcp-inspector --cli node server.mjs --method prompts/get --prompt-name p --prompt-args price=1.50 sends {"price":"1.5"}. Likewise 1e3 is sent as "1000", 0.10 as "0.1", and 9007199254740993 as "9007199254740992".
Expected
Prompt arguments are strings per the spec, so the value should be sent exactly as typed: "1.50".
Cause
--prompt-args shares parseKeyValuePair (clients/cli/src/cli.ts:839), which JSON.parses the value, and convertPromptArguments (core/json/jsonUtils.ts:423) then re-stringifies it, so anything that parses as JSON gets normalised. mcpdo's --prompt-args (clients/mcpdo/src/connection/mcp.ts:1493) looks like it follows the same path (not run). Suggested fix: a string-only parser for --prompt-args that splits on the first = and keeps the raw value.
Related
--tool-args-json '{"v":1e400}' silently sends {"v":null}, while --tool-arg v=1e400 is rejected under #1910's rule: the JSON path (cli.ts:1700-1725) never calls isSerializableJson.
Repro server: an McpServer with registerPrompt("p", { argsSchema: { price: z.string() } }) that echoes price.
- Lingua principale
- TypeScript
- Stelle
- 11.2k
- Fork
- 1.6k
- Merge medio
- 4h 55m
- PR unite (30g)
- 151
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à 4/5 3-5 giorni Idoneità per principianti 45/100
modelcontextprotocol/inspector#2846 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
modelcontextprotocol/inspector#2845 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
modelcontextprotocol/inspector#2844 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
CLI: OAuth denials and other non-usage failures exit 1 with code "error", the same as a usage errorApertabug v2
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
modelcontextprotocol/inspector#2842 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement v2
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
modelcontextprotocol/inspector#2841 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/inspector
Issue simili
-
area:cli bug P4
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
bug from-studio
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
esengine/DeepSeek-Reasonix#14868 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
linxiv-dev/linXiv#384 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
vercel/ai#24302 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno