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
{{ message }}
This repository was archived by the owner on Sep 2, 2026. It is now read-only.
fix(mcp-kafka-connect,mcp-schema-registry): correct structuredContent claims for tools without an outputSchema
structuredContent always carries the raw upstream JSON response, whether
or not schemas.output is declared -- the schema only adds validation and
pruning. The initial pass incorrectly said several tools returned
"content text summary only", implying structuredContent was withheld;
it isn't.
Copy file name to clipboardExpand all lines: src/reference/config/bindings/mcp-kafka-connect/.partials/tools.md
+16-16Lines changed: 16 additions & 16 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
The `mcp-kafka-connect` client exposes a fixed set of intrinsic tools, derived from a bundled Kafka Connect REST API specification — there is no `options.tools` to author, and no upstream server or spec to select. Each tool's `inputSchema` validates `tools/call``arguments` before Zilla dispatches the matching request to `options.server`; a tool with no fixed `outputSchema` still returns a result, either as `structuredContent` mirroring the raw upstream JSON response or as `content` text only.
1
+
The `mcp-kafka-connect` client exposes a fixed set of intrinsic tools, derived from a bundled Kafka Connect REST API specification — there is no `options.tools` to author, and no upstream server or spec to select. Each tool's `inputSchema` validates `tools/call``arguments` before Zilla dispatches the matching request to `options.server`. Every tool's `structuredContent` carries the upstream JSON response — validated and pruned to a declared `outputSchema` where one exists, or the raw body unchanged where none is declared — and `content`carries the tool's `summary`text, which may itself interpolate fields out of that same response via `${result.x}`.
2
2
3
3
### list_connectors
4
4
@@ -8,7 +8,7 @@ Lists the names of every connector on the worker.
8
8
9
9
No arguments.
10
10
11
-
No `outputSchema` is declared; the result is a `content` text summary only.
11
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response — an array of connector names — with no fixed property list.
12
12
13
13
### create_connector
14
14
@@ -21,7 +21,7 @@ Creates a new connector.
21
21
|`name`|`string`| Yes | Connector name. |
22
22
|`config`|`object` as map of named `string`| Yes | Connector configuration properties. |
23
23
24
-
No `outputSchema` is declared; the result is a `content` text summary only.
24
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
25
25
26
26
### describe_connector
27
27
@@ -33,7 +33,7 @@ Reads one connector's configuration and task list by name.
33
33
| --- | --- | --- | --- |
34
34
|`connector`|`string`| Yes | Connector to describe. |
35
35
36
-
No `outputSchema` is declared; the result is a `content` text summary only.
36
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
37
37
38
38
### delete_connector
39
39
@@ -45,7 +45,7 @@ Deletes a connector.
45
45
| --- | --- | --- | --- |
46
46
|`connector`|`string`| Yes | Connector to delete. |
47
47
48
-
No `outputSchema` is declared; the result is a `content` text summary only.
48
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
49
49
50
50
### describe_connector_config
51
51
@@ -71,7 +71,7 @@ Creates or updates a connector by setting its full configuration.
71
71
|`connector.class`|`string`| Yes | Connector class to instantiate. |
72
72
|`tasks.max`|`string`| Yes | Maximum number of tasks to run. |
73
73
74
-
No `outputSchema` is declared; the result is a `content` text summary only.
74
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
75
75
76
76
### validate_connector_config
77
77
@@ -85,7 +85,7 @@ Validates a connector configuration against a plugin's configuration definition,
85
85
|`connector.class`|`string`| Yes | Connector class to validate. |
86
86
|`tasks.max`|`string`| Yes | Maximum number of tasks to validate. |
87
87
88
-
No `outputSchema` is declared; the result is a `content` text summary only, such as `Validated connector config with 0 errors`.
88
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.error_count}`, such as `Validated connector config with 0 errors`.
89
89
90
90
### describe_connector_status
91
91
@@ -97,7 +97,7 @@ Reads a connector's current state and the state of each of its tasks.
97
97
| --- | --- | --- | --- |
98
98
|`connector`|`string`| Yes | Connector to check the status of. |
99
99
100
-
No `outputSchema` is declared; the result is a `content` text summary only, such as `Connector my-connector is RUNNING`.
100
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}` and `${result.connector.state}`, such as `Connector my-connector is RUNNING`.
101
101
102
102
### restart_connector
103
103
@@ -109,7 +109,7 @@ Restarts a connector.
109
109
| --- | --- | --- | --- |
110
110
|`connector`|`string`| Yes | Connector to restart. |
111
111
112
-
No `outputSchema` is declared; the result is a `content` text summary only.
112
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
113
113
114
114
### pause_connector
115
115
@@ -121,7 +121,7 @@ Pauses a connector and all of its tasks.
121
121
| --- | --- | --- | --- |
122
122
|`connector`|`string`| Yes | Connector to pause. |
123
123
124
-
No `outputSchema` is declared; the result is a `content` text summary only.
124
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
125
125
126
126
### resume_connector
127
127
@@ -133,7 +133,7 @@ Resumes a paused connector and all of its tasks.
133
133
| --- | --- | --- | --- |
134
134
|`connector`|`string`| Yes | Connector to resume. |
135
135
136
-
No `outputSchema` is declared; the result is a `content` text summary only.
136
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
137
137
138
138
### stop_connector
139
139
@@ -145,7 +145,7 @@ Stops a connector and shuts down all of its tasks, without deleting the connecto
145
145
| --- | --- | --- | --- |
146
146
|`connector`|`string`| Yes | Connector to stop. |
147
147
148
-
No `outputSchema` is declared; the result is a `content` text summary only.
148
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates `${result.name}`.
149
149
150
150
### list_connector_tasks
151
151
@@ -157,7 +157,7 @@ Lists every task belonging to a connector.
157
157
| --- | --- | --- | --- |
158
158
|`connector`|`string`| Yes | Connector whose tasks to list. |
159
159
160
-
No `outputSchema` is declared; the result is a `content` text summary only.
160
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list.
161
161
162
162
### restart_connector_task
163
163
@@ -197,7 +197,7 @@ Overwrites a connector's source or sink offsets. The connector must be stopped f
197
197
|`offsets[].partition`|`object`| Yes | Source partition or sink topic-partition identifying the offset. |
198
198
|`offsets[].offset`|`object`| Yes | New offset value for the identified partition. |
199
199
200
-
No `outputSchema` is declared; the result is a `content` text summary only, interpolated from the upstream response, such as`${result.message}`.
200
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates`${result.message}`.
201
201
202
202
### reset_connector_offsets
203
203
@@ -209,7 +209,7 @@ Resets a connector's source or sink offsets to their initial state. The connecto
209
209
| --- | --- | --- | --- |
210
210
|`connector`|`string`| Yes | Connector whose offsets to reset. |
211
211
212
-
No `outputSchema` is declared; the result is a `content` text summary only, interpolated from the upstream response, such as`${result.message}`.
212
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response, with no fixed property list. The summary interpolates`${result.message}`.
213
213
214
214
### list_connector_plugins
215
215
@@ -219,4 +219,4 @@ Lists every connector plugin installed on the worker.
219
219
220
220
No arguments.
221
221
222
-
No `outputSchema` is declared; the result is a `content` text summary only.
222
+
No fixed `outputSchema` is declared; the result's `structuredContent` mirrors the raw upstream JSON response — an array of installed plugins — with no fixed property list.
Copy file name to clipboardExpand all lines: src/reference/config/bindings/mcp-schema-registry/.partials/tools.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,13 @@
1
-
The `mcp-schema-registry` client exposes a fixed set of intrinsic tools, derived from a bundled schema registry API specification — there is no `options.tools` to author, and no upstream server or spec to select. Each tool's `inputSchema` validates `tools/call``arguments` before Zilla dispatches the matching request to `options.server`. None of these tools declare a fixed `outputSchema`; each returns a `content` text summary, though the summarymay interpolate fields of the raw upstream JSON response, such as `${result.id}`.
1
+
The `mcp-schema-registry` client exposes a fixed set of intrinsic tools, derived from a bundled schema registry API specification — there is no `options.tools` to author, and no upstream server or spec to select. Each tool's `inputSchema` validates `tools/call``arguments` before Zilla dispatches the matching request to `options.server`. None of these tools declare a fixed `outputSchema`, so each tool's `structuredContent` mirrors the raw upstream JSON response with no fixed property list, and its `summary` text may interpolate fields out of that same response, such as `${result.id}`.
2
2
3
3
### list_subjects
4
4
5
5
Lists every subject registered in the schema registry.
6
6
7
7
No arguments.
8
8
9
+
The result's `structuredContent` mirrors the raw upstream JSON response — an array of subject names.
10
+
9
11
### describe_subject
10
12
11
13
Lists the schema version numbers registered for a subject.
@@ -14,6 +16,8 @@ Lists the schema version numbers registered for a subject.
14
16
| --- | --- | --- | --- |
15
17
|`subject`|`string`| Yes | Subject to list versions for. |
16
18
19
+
The result's `structuredContent` mirrors the raw upstream JSON response — an array of version numbers.
20
+
17
21
### register_schema
18
22
19
23
Registers a new schema version under a subject.
@@ -24,6 +28,8 @@ Registers a new schema version under a subject.
24
28
|`schema`|`string`| Yes | Schema document to register. |
25
29
|`schemaType`|`string`| No | Schema format, such as `AVRO`, `JSON`, or `PROTOBUF`. Defaults to `AVRO` when omitted. |
26
30
31
+
The summary interpolates `${result.id}`, such as `Registered schema with id 1`.
32
+
27
33
### get_schema
28
34
29
35
Retrieves a specific registered schema version for a subject.
@@ -33,6 +39,8 @@ Retrieves a specific registered schema version for a subject.
33
39
|`subject`|`string`| Yes | Subject to read from. |
34
40
|`version`|`string`| Yes | Schema version number, or `latest`. |
35
41
42
+
The summary interpolates `${result.id}` and `${result.version}`, such as `Retrieved schema id 1, version 1`.
43
+
36
44
### delete_schema_version
37
45
38
46
Deletes a specific registered schema version for a subject.
@@ -50,6 +58,8 @@ Deletes a subject and every schema version registered under it.
50
58
| --- | --- | --- | --- |
51
59
|`subject`|`string`| Yes | Subject to delete. |
52
60
61
+
The result's `structuredContent` mirrors the raw upstream JSON response — an array of the deleted subject's version numbers.
62
+
53
63
### check_compatibility
54
64
55
65
Checks whether a schema is compatible with a specific already-registered version of a subject.
@@ -61,6 +71,8 @@ Checks whether a schema is compatible with a specific already-registered version
61
71
|`schema`|`string`| Yes | Schema document to check. |
62
72
|`schemaType`|`string`| No | Schema format, such as `AVRO`, `JSON`, or `PROTOBUF`. Defaults to `AVRO` when omitted. |
63
73
74
+
The summary interpolates `${result.is_compatible}`, such as `Compatibility check result: true`.
75
+
64
76
### get_compatibility
65
77
66
78
Reads the compatibility level configured for a subject.
@@ -69,6 +81,8 @@ Reads the compatibility level configured for a subject.
69
81
| --- | --- | --- | --- |
70
82
|`subject`|`string`| Yes | Subject to read the compatibility level of. |
71
83
84
+
The summary interpolates `${result.compatibilityLevel}`, such as `Compatibility level is FULL`.
85
+
72
86
### set_compatibility
73
87
74
88
Sets the compatibility level for a subject.
@@ -77,3 +91,5 @@ Sets the compatibility level for a subject.
77
91
| --- | --- | --- | --- |
78
92
|`subject`|`string`| Yes | Subject to set the compatibility level of. |
79
93
|`compatibility`|`string`| Yes | Compatibility level, such as `BACKWARD`, `FORWARD`, `FULL`, or `NONE`. |
94
+
95
+
The summary interpolates `${result.compatibility}`, such as `Compatibility level set to FULL`.
0 commit comments