[Proposal] Soft maximum field length limits for input schema
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- html
- Ambito
- api
Direzione di ricerca
Read the related discussion in #73 and #219 and PR #265, then review the WebMCP specification sections defining tool names, input schemas, and metadata. The issue asks participants to agree on recommended field limits, enforcement for parameter names, and Unicode code point measurement; done means the proposal has an ecosystem decision. The payload does not identify specific files or tests.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
To help ground the discussion in #73, #219, and PR #265, we (Chrome) analyzed field lengths (in Unicode code points) across 13,472 unique public WebMCP tools indexed on webmcp.com (deduplicated).
The goal here is to align on a baseline set of limits and gather ecosystem feedback, using Hard Maximums for programmatic identifiers and Soft Maximums for natural-language descriptions. This will help us balance prompt-injection mitigation against varying model capacities.
Proposed Limits & Distribution
Unlike a browser-enforced Hard Maximum (which rejects registration in registerTool()), a Soft Maximum is a recommendation: well-behaved agents should accept at least up to the Soft Maximum without truncating or rejecting the field, while remaining free to accept longer inputs if their model/context budget allows. Web developers who stay within the Soft Maximum should expect reliable support across agents.
(Defining broader "well-behaved agent" guidelines could be a useful follow-up, though out of scope for this discussion.)
| Field | Proposed Limit | Limit Type | p50 |
p90 |
p95 |
p99 |
Max | Pass Rate (webmcp.com unique) |
|---|---|---|---|---|---|---|---|---|
Tool Name (tool.name) |
128 code points (ASCII only per spec) | Hard Max (already in spec) | 16 | 25 | 28 | 36 | 64 | 100% |
Parameter Name (inputSchema keys) |
128 code points | Hard Max (or Soft Max) | 7 | 13 | 16 | 22 | 43 | 100% |
Tool Description (tool.description) |
750 code points | Soft Max (recommended limit) | 130 | 340 | 468 | 1,092 | 11,251 | 98.1% |
Parameter Description (inputSchema descriptions) |
500 code points | Soft Max (recommended limit) | 46 | 110 | 153 | 301 | 14,348 | 99.7% |
- A note on Hard vs. Soft Max for Parameter Names (
128code points): Sincetool.namealready has a 128 code point hard cap in the spec, we could also make parameter names a 128 code point Hard Max to keep programmatic identifiers symmetric. If we prefer not to recursively validateinputSchemakeys duringregisterTool(), we can establish 128 code points as a Soft Max recommendation alongside the description fields.
I also sampled tools from webmcp.com that do not "pass" the recommended tool description and parameter description limits. All of those I sampled could be rewritten in fewer code points or split up into multiple tools. LMK if anyone wants more info on this.
Would love feedback from site developers & agent builders:
- For agent & model developers: Are 750 / 500 / 128 code points reasonable minimum acceptance thresholds for well-behaved agents to guarantee without truncation?
- Parameter Names: Should parameter names be enforced as a Hard Maximum in the spec (symmetric with
tool.name), or kept as a Soft Maximum recommendation soregisterTool()doesn't need to recursively validateinputSchemakeys? - Text Unit (
Unicode code points): Are there any objections to standardizing on Unicode code points for these tool metadata fields to minimize developer burden (vs. UTF-8 bytes or model-specific tokens) and avoid penalizing non-Western scripts (which would also resolve #219 and unblock PR #265)?
cc: @johannhof @markafoltz @domfarolino
- Lingua principale
- Bikeshed
- Stelle
- 4.7k
- Fork
- 328
- Merge medio
- 2g 9h
- PR unite (30g)
- 15
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
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 webmachinelearning/webmcp
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
webmachinelearning/webmcp#362 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 1-3 ore Idoneità per principianti 72/100
webmachinelearning/webmcp#360 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Say how an agent should weigh annotations that the page wrote about itselfForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
webmachinelearning/webmcp#353 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
webmachinelearning/webmcp#343 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Agenda+ i18n-tracker
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
webmachinelearning/webmcp#273 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di webmachinelearning/webmcp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
NanmiCoder/dsh-agent-teams#277 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 87/100
Lakr233/vphone-cli#742 ·
I maintainer di solito rispondono entro 1 giorno
-
[core-client] Remove unused hand-maintained transport helpers after the definition-table cutoverApertadoc-audit enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
Kozea/Radicale#2301 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno