Commit c6b937a
committed
feat(spec): add renderTiming to McpUiToolMeta for deferred View rendering
Add a new `renderTiming` field to `McpUiToolMeta` that lets servers
declare when a View should appear in the conversation:
- "inline" (default): render as soon as the tool returns
- "end-of-turn": defer rendering until the agent's turn is complete
This addresses a gap in the spec where hosts have no standardized way
to know whether a View should be shown immediately or after the agent
finishes its turn. Tools like "Apply to Site" need deferred rendering
to prevent premature user interaction while the agent is still making
additional tool calls.
This is orthogonal to the existing visual `displayMode`
(inline/fullscreen/pip) which controls layout, not timing.
Changes:
- spec.types.ts: add McpUiRenderTiming type and renderTiming field
- types.ts: re-export new type and schema
- specification/draft/apps.mdx: document Render Timing section and
design decision
- generated/schema.*: auto-regenerated from types
Made-with: Cursor1 parent 704b6e0 commit c6b937a
6 files changed
Lines changed: 113 additions & 0 deletions
File tree
- specification/draft
- src
- generated
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
348 | 348 | | |
349 | 349 | | |
350 | 350 | | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
351 | 357 | | |
352 | 358 | | |
353 | 359 | | |
| |||
419 | 425 | | |
420 | 426 | | |
421 | 427 | | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
| 443 | + | |
| 444 | + | |
| 445 | + | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
422 | 454 | | |
423 | 455 | | |
424 | 456 | | |
| |||
1754 | 1786 | | |
1755 | 1787 | | |
1756 | 1788 | | |
| 1789 | + | |
| 1790 | + | |
| 1791 | + | |
| 1792 | + | |
| 1793 | + | |
| 1794 | + | |
| 1795 | + | |
| 1796 | + | |
| 1797 | + | |
| 1798 | + | |
| 1799 | + | |
| 1800 | + | |
| 1801 | + | |
| 1802 | + | |
| 1803 | + | |
| 1804 | + | |
| 1805 | + | |
| 1806 | + | |
1757 | 1807 | | |
1758 | 1808 | | |
1759 | 1809 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
742 | 742 | | |
743 | 743 | | |
744 | 744 | | |
| 745 | + | |
| 746 | + | |
| 747 | + | |
| 748 | + | |
| 749 | + | |
745 | 750 | | |
746 | 751 | | |
747 | 752 | | |
| |||
762 | 767 | | |
763 | 768 | | |
764 | 769 | | |
| 770 | + | |
| 771 | + | |
| 772 | + | |
| 773 | + | |
| 774 | + | |
| 775 | + | |
765 | 776 | | |
766 | 777 | | |
767 | 778 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
63 | 63 | | |
64 | 64 | | |
65 | 65 | | |
| 66 | + | |
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| |||
129 | 130 | | |
130 | 131 | | |
131 | 132 | | |
| 133 | + | |
132 | 134 | | |
133 | 135 | | |
134 | 136 | | |
| |||
0 commit comments