[Proposal] Soft maximum field length limits for input schema
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- html
- Lĩnh vực
- api
Hướng nghiên cứu
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.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- Bikeshed
- Star
- 4.7k
- Fork
- 328
- Merge trung bình
- 2 ngày 15 giờ
- Pull request đã merge (30 ngày)
- 16
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của webmachinelearning/webmcp
-
Độ khó 1/5 1-3 giờ Mức phù hợp với người mới 72/100
webmachinelearning/webmcp#360 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Say how an agent should weigh annotations that the page wrote about itselfCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
webmachinelearning/webmcp#353 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
webmachinelearning/webmcp#343 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Agenda+ i18n-tracker
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
webmachinelearning/webmcp#273 · 3 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
a11y-tracker Agenda+
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 67/100
webmachinelearning/webmcp#272 · 4 bình luận · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của webmachinelearning/webmcp
Issue tương tự
-
needs-triage
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
11ty/buildawesome#4407 · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area: image-engine bug priority: low
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
snapotter-hq/SnapOtter#3885 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
keyxmakerx/Chronicle#1721 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Gentleman-Programming/gentle-ai#5720 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 1 ngày