git: the string "null" for base_branch, contains or not_contains arrives as None (python-sdk#3055)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 68/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- github, typescript
- Ambito
- backend-api-design, testing
Direzione di ricerca
Start in src/git and inspect its SDK lockfile and protocol tests for git_create_branch and git_branch. Check the Python SDK release that fixes python-sdk#3055, then add protocol coverage for base_branch, contains, and not_contains. Done means the fixed SDK release is locked and each test confirms the literal "null" reaches the tool as a string.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Since #5174 (#5175), the git server is built on MCPServer. Before validating arguments, the SDK's FuncMetadata.pre_parse_json JSON-decodes every string argument whose annotation is not exactly str. For the git server's three str | None parameters, that turns the literal string "null" into None:
| Tool | Parameter | Effect of "null" |
|---|---|---|
git_create_branch |
base_branch |
Branches from the current branch, not from a branch named null |
git_branch |
contains |
The filter is silently dropped |
git_branch |
not_contains |
The filter is silently dropped |
All three advertise anyOf: [string, null], so "null" is a valid string value. Before #5175, the server received it unchanged.
Upstream: modelcontextprotocol/python-sdk#3055 (open), with the fix in python-sdk#3056. A comment there already reproduces this "null" → None case.
Done when
The SDK release that fixes python-sdk#3055 is locked in src/git, with a protocol test for each parameter showing that "null" reaches the tool as the string "null". Before then, a workaround in the server (declaring the parameters as str with a custom validator and a hand-written schema) is not wanted: these servers are meant to show the plain high-level API. Found in the Copilot review of #5175.
- Lingua principale
- TypeScript
- Stelle
- 91.4k
- Fork
- 11.8k
- Merge medio
- 6h 39m
- PR unite (30g)
- 146
Preparare l'ambiente
- Nessun Dockerfile né 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/servers
-
chore v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
modelcontextprotocol/servers#5261 ·
I maintainer di solito rispondono entro 1 giorno
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
modelcontextprotocol/servers#5231 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
docs(git): clarify unconfined default scope and repository confinement options in README and CLIAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 74/100
modelcontextprotocol/servers#5230 ·
I maintainer di solito rispondono entro 1 giorno
-
git: README should state plainly that without --repository every reachable repository is in scopeApertadocumentation server-git v2
Difficoltà 1/5 1-3 ore Idoneità per principianti 84/100
modelcontextprotocol/servers#5225 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
chore v2
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
modelcontextprotocol/servers#5223 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di modelcontextprotocol/servers
Issue simili
-
VS Code extension: clickable file links in chat drop the :line suffix, never jump to the lineAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
MoonshotAI/kimi-code#4398 ·
I maintainer di solito rispondono entro 1 giorno
-
Xiaomi Mimo语音识别服务异常Apertapending triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
package-lock.json : les binaires natifs macOS et Linux de unrs-resolver ont disparu depuis #1823Apertabug dependencies
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
AxaFrance/design-system#2064 ·
I maintainer di solito rispondono entro 3 giorni
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100