You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/server.md
+82Lines changed: 82 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -441,6 +441,88 @@ var syncToolSpecification = SyncToolSpecification.builder()
441
441
442
442
`ImageContent.builder(data, mimeType)` and `AudioContent.builder(data, mimeType)` both take base64-encoded binary data. `EmbeddedResource.builder(resourceContents)` wraps either a `TextResourceContents` (for text data) or a `BlobResourceContents` (for base64-encoded binary data) — see [Reading Binary Resources](#reading-binary-resources) for the `BlobResourceContents` shape.
443
443
444
+
### Filtering the Tool Listing per Request
445
+
446
+
By default every registered tool is advertised to every caller. Over an HTTP transport you can
447
+
vary the `tools/list` response per request — to hide tools the caller is not authorized to see,
448
+
or to trim a large catalog down to a relevant subset — by registering one or more tool filters.
449
+
450
+
The filter receives the `McpTransportContext` extracted from the current request, so it can key
451
+
on HTTP headers, a token, a resolved principal, or anything else your
0 commit comments