Complete "Tools that are private to Apps" pattern documentation

Document the `_meta.ui.visibility: ["app"]` feature in `docs/patterns.md`
by referencing the existing type-checked example from
`src/server/index.examples.ts#registerAppTool_toolVisibility`.

- Fix typo: `["apps"]` → `["app"]` (singular)
- Remove placeholder function from `docs/patterns.ts`
- Expand description to explain use cases

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Jonathan Hefner 2026-01-19 10:08:37 -06:00
commit 7c3d1e817f

View file

@ -6,11 +6,11 @@ title: Patterns
This document covers common patterns and recipes for building MCP Apps.
## [TODO] Tools that are private to Apps
## Tools that are private to Apps
Use `Tool._meta.ui.visibility: ["apps"]` to make tools only visible to Apps.
Set {@link types!McpUiToolMeta.visibility Tool.\_meta.ui.visibility} to `["app"]` to make tools only callable by Apps (hidden from the model). This is useful for UI-driven actions like updating quantities, toggling settings, or other interactions that shouldn't appear in the model's tool list.
{@includeCode ./patterns.ts#privateTools}
{@includeCode ../src/server/index.examples.ts#registerAppTool_appOnlyVisibility}
## [TODO] Authenticated calls from App