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
- Add human-readable display titles to all 19 tools via Tool.Title field
(e.g. "Search Catalog", "Get Entity", "Get Lineage"). Titles are shown
in MCP clients like Claude Desktop in place of raw tool names.
- Fix OpenWorldHint: change from false → true for all 19 tools. All tools
communicate with an external DataHub instance, so true is correct per
the MCP spec.
- Add OutputSchema declarations for all 19 tools. Each tool now carries a
JSON Schema object describing the structure of its response, enabling
clients to validate and display output shapes.
All three features follow the existing three-tier priority pattern:
1. Per-registration WithTitle/WithOutputSchema (highest)
2. Toolkit-level WithTitles/WithOutputSchemas (middle)
3. Built-in defaults in titles.go / output_schemas.go (lowest)
New files:
- pkg/tools/titles.go + titles_test.go
- pkg/tools/output_schemas.go + output_schemas_test.go
New options:
- WithTitle / WithTitles (ToolOption / ToolkitOption)
- WithOutputSchema / WithOutputSchemas (ToolOption / ToolkitOption)
Docs updated:
- CLAUDE.md
- docs/server/tools.md
- docs/reference/tools-api.md
Copy file name to clipboardExpand all lines: docs/server/tools.md
+3-1Lines changed: 3 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,9 @@ All tools include [MCP tool annotations](https://modelcontextprotocol.io/specifi
11
11
|`ReadOnlyHint`|`true`|`false`| Whether the tool only reads data |
12
12
|`DestructiveHint`|_(default)_|`false`| Whether the tool may destructively update |
13
13
|`IdempotentHint`|`true`|`true`| Whether repeated calls produce the same result |
14
-
|`OpenWorldHint`|`false`|`false`| Whether the tool interacts with external entities |
14
+
|`OpenWorldHint`|`true`|`true`| Whether the tool interacts with external entities |
15
+
16
+
`OpenWorldHint` is `true` for all tools because every tool communicates with an external DataHub instance.
15
17
16
18
These annotations help MCP clients make informed decisions about tool invocation (e.g., auto-approving read-only tools). Library users can override annotations per-tool or per-toolkit; see the [Tools API Reference](../reference/tools-api.md#withannotations).
0 commit comments