The `maxToolInputElements` refusal lacks the `Input validation error:` prefix that the schema refusal carries
Maintainer antworten meist innerhalb von 1 Tag
Bewertung
- Schwierigkeit
- 2/5
- Geschätzter Aufwand
- 1-3 Stunden
- Anfängerfreundlichkeit
- 78/100
- Issue-Typ
- Bug
- Klarheit
- Klar beschrieben
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- typescript
- Bereich
- backend-api-design
Rechercherichtung
Beginne in packages/server/src/server/mcp.ts und lies McpServer.validateToolInput. Vergleiche dabei die Ablehnung aufgrund der Größenbegrenzung mit der im Issue beschriebenen Ablehnung aufgrund der Schema-Validierung. Passe den Wortlaut der Ablehnung aufgrund der Größenbegrenzung so an, dass er das gemeinsame Präfix enthält, und prüfe anschließend die relevanten Server-Tests für beide Ablehnungsnachrichten. Fertig ist es, wenn die Ablehnung aufgrund der Größenbegrenzung mit Input validation error: beginnt und ihre bisherigen Details beibehält.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Version: @modelcontextprotocol/sdk 1.32.2 (the same text is in packages/server/src/server/mcp.ts on main).
McpServer.validateToolInput refuses a tool call in two ways. Both are McpError(ErrorCode.InvalidParams, …), and the tools/call handler returns either one as an isError: true result:
- arguments over
maxToolInputElements:
Invalid arguments for tool start_run: arguments contain more than the maximum of 50000 elements - arguments that fail the input schema:
Input validation error: Invalid arguments for tool get_run_state: Invalid input: expected string, received number at run_id
A client or a log filter that recognises an input refusal by its Input validation error: prefix misses the first one. Yet both are the same kind of refusal: bad arguments, same error code.
Suggestion: give the size refusal the same prefix:
Input validation error: Invalid arguments for tool start_run: arguments contain more than the maximum of 50000 elements
Context: we set maxToolInputElements: 50_000 in Realm's MCP server (thank you for #2926/#2927), and we document both texts for our users.
Related: #2879 asks for a hook to shape the schema refusal's result; if it lands, the size refusal could go through the same hook.
- Vorherrschende Sprache
- TypeScript
- Sterne
- 13.7k
- Forks
- 2.3k
- Ø Merge
- 1 T. 2 Std.
- Gemergte PRs (30 T.)
- 61
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus modelcontextprotocol/typescript-sdk
-
server: registeredResource.update and registeredResourceTemplate.update desync title and metadata.title when updating metadata aloneEvtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenv1 v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
modelcontextprotocol/typescript-sdk#3103 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
[v1.x] Protocol.request keeps its abort listener after the request resolved, so a later abort sends notifications/cancelled for an answered request (1.30.0)Evtl. vergeben Ein verknüpfter Pull Request ist offen oder bereits gemergt. Offenv1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
modelcontextprotocol/typescript-sdk#3090 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
[v2] e2e `protocol:timeout:max-total` is flaky over SSE: fake timers advance before the request reaches the serverEvtl. vergeben @Singmin hat das vor 10 Tagen übernommen. Offenv1 v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
modelcontextprotocol/typescript-sdk#3045 ·
Maintainer antworten meist innerhalb von 1 Tag
-
[v1.x] Backport #2654: `notifications/cancelled` with `requestId: 0` is ignored, so the first server→client request cannot be cancelled (still in 1.32.1)Evtl. vergeben @CloudCorpRecords hat das vor 11 Tagen übernommen. Offenv1
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 77/100
modelcontextprotocol/typescript-sdk#3043 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
v1 v2
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 72/100
modelcontextprotocol/typescript-sdk#2946 · 4 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in modelcontextprotocol/typescript-sdk
Ähnliche Issues
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
gnosis/gnosis_vpn#661 ·
Maintainer antworten meist innerhalb von 1 Tag
-
content-freshness: staleOwnedContent doc comments still say 'complete receipt' (follow-up to #7912)Offentriage:bug-verified
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 92/100
Maintainer antworten meist innerhalb von 1 Tag
-
fix: reject sourceStorage/packagedStorage bucket that differs from the stack default (fail loud)Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Eyevinn/open-videocore#1300 ·
Maintainer antworten meist innerhalb von 1 Tag
-
nextjs-tracking
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 67/100
cloudflare/vinext#4390 ·
Maintainer antworten meist innerhalb von 1 Tag
-
kind/bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
kubernetes-sigs/headlamp#8175 ·
Maintainer antworten meist innerhalb von 2 Tagen