[Proposal] Soft maximum field length limits for input schema
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 5/5
- 見積もり時間
- 1週間以上
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- html
- 領域
- api
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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
- 主要言語
- Bikeshed
- スター
- 4.7k
- フォーク
- 328
- 平均マージ
- 2日 15時間
- マージ済み PR(30日)
- 16
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
webmachinelearning/webmcp のほかの issue
-
難易度 1/5 1〜3時間 初心者へのやさしさ 72/100
webmachinelearning/webmcp#360 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Say how an agent should weigh annotations that the page wrote about itself対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
webmachinelearning/webmcp#353 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
webmachinelearning/webmcp#343 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
Agenda+ i18n-tracker
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
webmachinelearning/webmcp#273 · コメント 3 件 ·
メンテナーはふだん 1 日以内に返信
-
a11y-tracker Agenda+
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
webmachinelearning/webmcp#272 · コメント 4 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
webmachinelearning/webmcp の issue をすべて見る
似ている issue
-
compress: block buffers get re-zeroed on every call, and the zeroing is immediately overwrittenオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ClickHouse/ch-go#1218 ·
メンテナーはふだん 13 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
abhigyanpatwari/GitNexus#3704 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
Automattic/blocks-engine#3369 ·
メンテナーはふだん 1 日以内に返信
-
enhancement good first issue priority: low
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
a-lex-s/mealie-telegram-bot#53 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
nearai/compose-manager#73 ·