@grackle-ai/mcp 0.117.0 → 0.118.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -245,23 +245,23 @@ Query aggregated token usage and cost data.
245
245
  |------|-------------|------------|
246
246
  | `usage_get` | Get token usage and cost for a session, task, task tree, workspace, or environment. | `scope` (`session` \| `task` \| `task_tree` \| `workspace` \| `environment`), `id` (string) |
247
247
 
248
- ### Widget Tools
248
+ ### Component & Widget Tools
249
249
 
250
- [MCP Apps](#mcp-apps-ui-widgets) UI widgets — interactive HTML rendered inline by capable hosts (and always by Grackle's own chat pane via the broker).
250
+ [MCP Apps](#mcp-apps-ui-widgets) UI rendered inline by capable hosts (and always by Grackle's own chat pane via the broker).
251
251
 
252
- `show_hello_widget` is the Grackle-served demo widget: it references a static `ui://` resource and appears in `tools/list` **only** when the host advertises the `io.modelcontextprotocol/ui` extension. The **widget registry** tools let an agent author and render its own widgets at runtime; they are ordinary scoped tools (always listed) and the rendered widget is captured by the broker into the session's chat. `component_show` renders agent-authored **React/JSX** against Grackle's own component library via a sandboxed React runtime (#1268).
252
+ `show_hello_widget` is the Grackle-served demo: it references a static `ui://` resource and appears in `tools/list` **only** when the host advertises the `io.modelcontextprotocol/ui` extension. The **component registry** tools (#1269) let an agent author and reuse components at runtime; they are ordinary scoped tools (always listed) and the rendered output is captured by the broker into the session's chat.
253
253
 
254
254
  | Tool | Description | Parameters |
255
255
  |------|-------------|------------|
256
256
  | `show_hello_widget` | Display the Grackle hello widget — a minimal interactive MCP Apps UI that echoes the provided message. | `message` (string, optional) |
257
- | `widget_register` | Register a reusable widget (HTML body) in the workspace so it can be re-rendered with different data. Returns the widget id. | `name` (string), `body` (string), `description` (string, optional), `propsSchema` (string, optional) |
258
- | `widget_update` | Update a registered widget's body/name/description/props schema; bumps its version. | `id` (string), `body`/`name`/`description`/`propsSchema` (optional) |
259
- | `widget_list` | List the reusable widgets registered in the workspace. | — |
260
- | `widget_render` | Render a registered widget inline (by `id` or `name`), optionally passing `props` (data). | `id` (string, optional), `name` (string, optional), `props` (object, optional) |
261
- | `widget_show` | Render a one-off widget inline from an inline HTML `body`, without persisting it. | `body` (string), `props` (object, optional) |
262
- | `component_show` | Render a React/JSX component inline against the Grackle component library (no persistence). `source` is JSX that calls `render(<Component {...props}/>)`; `React`, `props`, and Grackle components are in scope. | `source` (string), `props` (object, optional) |
263
-
264
- Widgets are **workspace-scoped**: a session may only register/render widgets in its own workspace (the `workspaceId` is taken from the session's scoped token). Agent-authored bodies render in the cross-origin sandbox with inline scripts allowed (`script-src 'unsafe-inline'`), isolated by the iframe origin + a restricted `connect-src`. `component_show` additionally runs in a sandboxed React runtime that transpiles + evaluates the JSX (`script-src 'unsafe-eval'`), kept safe by the same origin isolation.
257
+ | `component_register` | Register a reusable component in the workspace. `source` is JSX (`grackle-react`, default) or HTML (`mcp-app-html`). Returns the component id. | `name` (string), `source` (string), `rendererKind` (optional), `description` (optional), `propsSchema` (JSON Schema string, optional) |
258
+ | `component_update` | Update a registered component's source/name/description/props schema; bumps its version. | `id` (string), `source`/`name`/`description`/`propsSchema` (optional) |
259
+ | `component_list` | List the reusable components registered in the workspace. | — |
260
+ | `component_render` | Render a registered component inline (by `id` or `name`), optionally passing `props`. Props are validated against the component's `propsSchema`. | `id` (optional), `name` (optional), `props` (object, optional) |
261
+ | `component_show` | Render a one-off React/JSX component inline against the Grackle component library (no persistence). `source` calls `render(<Component {...props}/>)`; `React`, `props`, and Grackle components are in scope. | `source` (string), `props` (object, optional) |
262
+ | `widget_show` | Render a one-off raw-HTML body inline, without persisting it. | `body` (string), `props` (object, optional) |
263
+
264
+ Components are **workspace-scoped**: a session may only register/render components in its own workspace (the `workspaceId` is taken from the session's scoped token). A component's `propsSchema` (a JSON Schema) is validated at register, and render-time `props` are validated against it (via zod's `fromJSONSchema`). Renderers run in the cross-origin sandbox: `mcp-app-html` allows inline scripts (`script-src 'unsafe-inline'`); `grackle-react` runs the React runtime that transpiles + evaluates JSX (`script-src 'unsafe-eval'`) — both kept safe by the iframe origin isolation + restricted `connect-src`.
265
265
 
266
266
  ---
267
267
 
@@ -237,8 +237,8 @@ async function createMcpServerInstance(grpcClients, authContext, assetBaseUrl, b
237
237
  try {
238
238
  const dynamic = result._meta?.[WIDGET_RENDER_META_KEY];
239
239
  if (dynamic) {
240
- // Dynamic, agent-authored widget (widget_render / widget_show #1239;
241
- // component_show / grackle-react React runtime #1268).
240
+ // Dynamic, agent-authored render (component_render / component_show /
241
+ // widget_show); grackle-react React runtime (#1268/#1269).
242
242
  publishWidgetEvent(authContext.taskSessionId, {
243
243
  rendererKind: dynamic.rendererKind || "mcp-app-html",
244
244
  resourceUri: dynamic.resourceUri ?? "",
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { ToolDefinition } from "../tool-registry.js";
2
+ /**
3
+ * MCP Apps component registry + render tools.
4
+ *
5
+ * - `component_register` / `component_update` / `component_list` — the
6
+ * agent-authored registry (#1239 widgets → #1269 components): persist a reusable
7
+ * component (`grackle-react` JSX by default, or `mcp-app-html`) in the workspace.
8
+ * - `component_render` — render a registered component by id/name with props; the
9
+ * broker captures the result `_meta` descriptor and emits the widget event.
10
+ * - `component_show` — render a one-off React/JSX component (render-by-source, #1268).
11
+ * - `widget_show` — render a one-off raw-HTML body. `show_hello_widget` — demo.
12
+ *
13
+ * `show_hello_widget` carries a static `uiResourceUri` (gated to ui-capable hosts
14
+ * in `mcp-server.ts`); the registry tools are plain tools (always listed to scoped
15
+ * agents) and produce widgets dynamically via `_meta`.
16
+ */
17
+ export declare const componentTools: ToolDefinition[];
18
+ //# sourceMappingURL=component.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/tools/component.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,cAAc,EAAc,MAAM,qBAAqB,CAAC;AA0FtF;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,cAAc,EAAE,cAAc,EAgO1C,CAAC"}
@@ -3,8 +3,9 @@ import { jsonResult } from "../result-helpers.js";
3
3
  import { grpcErrorToToolResult } from "../error-handler.js";
4
4
  import { HELLO_WIDGET_URI } from "../resources/hello-widget.js";
5
5
  import { WIDGET_RENDER_META_KEY } from "../widget-render-meta.js";
6
- const DEFAULT_RENDERER_KIND = "mcp-app-html";
7
- /** Renderer kind for the Grackle React runtime (render-by-source JSX, #1268). */
6
+ /** Renderer kind for raw-HTML bodies (sandboxed inline scripts). */
7
+ const HTML_RENDERER_KIND = "mcp-app-html";
8
+ /** Renderer kind for the Grackle React runtime (JSX via react-live, #1268). */
8
9
  const REACT_RENDERER_KIND = "grackle-react";
9
10
  /** Build an INVALID_ARGUMENT tool error result. */
10
11
  function invalidArgument(message) {
@@ -25,22 +26,77 @@ function owner(authContext) {
25
26
  return { ownerTaskId: "", ownerSessionId: "" };
26
27
  }
27
28
  /**
28
- * MCP Apps widget tools.
29
+ * Validate that a `propsSchema` argument is a well-formed JSON Schema object.
30
+ * Returns an error message when malformed, or `undefined` when valid/absent.
31
+ */
32
+ function propsSchemaError(propsSchema) {
33
+ if (!propsSchema) {
34
+ return undefined;
35
+ }
36
+ let parsed;
37
+ try {
38
+ parsed = JSON.parse(propsSchema);
39
+ }
40
+ catch {
41
+ return "propsSchema must be valid JSON (a JSON Schema object)";
42
+ }
43
+ if (typeof parsed !== "object" || parsed === null || Array.isArray(parsed)) {
44
+ return "propsSchema must be a JSON Schema object (e.g. {\"type\":\"object\",\"properties\":{...}})";
45
+ }
46
+ try {
47
+ z.fromJSONSchema(parsed);
48
+ }
49
+ catch (err) {
50
+ return `propsSchema is not a valid JSON Schema: ${err instanceof Error ? err.message : String(err)}`;
51
+ }
52
+ return undefined;
53
+ }
54
+ /**
55
+ * Validate render-time `props` against a component's stored JSON-Schema
56
+ * `propsSchema` by converting it to a zod schema and parsing. Returns an error
57
+ * message on mismatch, or `undefined` when valid (or when there is no schema).
58
+ */
59
+ function propsValidationError(propsSchema, props) {
60
+ if (!propsSchema) {
61
+ return undefined;
62
+ }
63
+ let schema;
64
+ try {
65
+ schema = JSON.parse(propsSchema);
66
+ }
67
+ catch {
68
+ // A malformed stored schema is validated at register time; don't block renders on it.
69
+ return undefined;
70
+ }
71
+ let zodSchema;
72
+ try {
73
+ zodSchema = z.fromJSONSchema(schema);
74
+ }
75
+ catch {
76
+ return undefined; // unusable stored schema → don't block the render
77
+ }
78
+ const result = zodSchema.safeParse(props);
79
+ if (result.success) {
80
+ return undefined;
81
+ }
82
+ return z.prettifyError(result.error);
83
+ }
84
+ /**
85
+ * MCP Apps component registry + render tools.
29
86
  *
30
- * - `show_hello_widget` the static Grackle-served demo widget (T2/T3).
31
- * - `widget_register` / `widget_update` / `widget_list` the agent-authored
32
- * registry (#1239): persist a reusable widget body in the workspace.
33
- * - `widget_render` / `widget_show` — render a widget into the chat. The broker
34
- * captures the result `_meta` descriptor and emits the widget event; the
35
- * frontend never contacts the MCP server.
36
- * - `component_show` — render a React/JSX component (render-by-source, #1268)
37
- * against the Grackle component library in the sandbox React runtime.
87
+ * - `component_register` / `component_update` / `component_list` the
88
+ * agent-authored registry (#1239 widgets #1269 components): persist a reusable
89
+ * component (`grackle-react` JSX by default, or `mcp-app-html`) in the workspace.
90
+ * - `component_render` — render a registered component by id/name with props; the
91
+ * broker captures the result `_meta` descriptor and emits the widget event.
92
+ * - `component_show` render a one-off React/JSX component (render-by-source, #1268).
93
+ * - `widget_show` — render a one-off raw-HTML body. `show_hello_widget` — demo.
38
94
  *
39
- * `show_hello_widget` carries a static `uiResourceUri` (gated to ui-capable
40
- * hosts in `mcp-server.ts`); the registry tools are plain tools (always listed
41
- * to scoped agents) and produce widgets dynamically via `_meta`.
95
+ * `show_hello_widget` carries a static `uiResourceUri` (gated to ui-capable hosts
96
+ * in `mcp-server.ts`); the registry tools are plain tools (always listed to scoped
97
+ * agents) and produce widgets dynamically via `_meta`.
42
98
  */
43
- export const widgetTools = [
99
+ export const componentTools = [
44
100
  {
45
101
  name: "show_hello_widget",
46
102
  group: "widget",
@@ -58,17 +114,18 @@ export const widgetTools = [
58
114
  },
59
115
  },
60
116
  {
61
- name: "widget_register",
62
- group: "widget",
63
- description: "Register a reusable UI widget in this workspace so it can be rendered repeatedly with different data via widget_render. The body is HTML (text/html;profile=mcp-app) and may include inline <script>/<style>; it renders in a sandboxed iframe. Returns the widget id.",
117
+ name: "component_register",
118
+ group: "component",
119
+ description: "Register a reusable component in this workspace so it can be rendered repeatedly with different data via component_render. `source` is the component body: JSX for the default `grackle-react` renderer (call render(<C {...props}/>); React + Grackle components are in scope), or HTML for `mcp-app-html`. Optionally provide a `propsSchema` (JSON Schema) describing the props it accepts. Returns the component id.",
64
120
  inputSchema: z.object({
65
- name: z.string().describe("Short widget name, unique within your workspace."),
66
- body: z.string().describe("Widget HTML body. May include inline <script>/<style>."),
67
- description: z.string().optional().describe("Human-readable description of the widget."),
68
- propsSchema: z.string().optional().describe("Optional JSON Schema (as a string) describing the props widget_render accepts."),
121
+ name: z.string().describe("Short component name, unique within your workspace."),
122
+ source: z.string().describe("Component body JSX (grackle-react) or HTML (mcp-app-html)."),
123
+ rendererKind: z.enum([REACT_RENDERER_KIND, HTML_RENDERER_KIND]).optional().describe("Renderer (default grackle-react)."),
124
+ description: z.string().optional().describe("Human-readable description of the component."),
125
+ propsSchema: z.string().optional().describe("JSON Schema (as a string) describing the props component_render accepts."),
69
126
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected from session context when omitted)."),
70
127
  }),
71
- rpcMethod: "registerWidget",
128
+ rpcMethod: "registerComponent",
72
129
  mutating: true,
73
130
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
74
131
  async handler(args, { orchestration: client }, authContext) {
@@ -76,17 +133,21 @@ export const widgetTools = [
76
133
  if (!workspaceId) {
77
134
  return invalidArgument("workspaceId is required but was not provided or auto-injected. This session may not be associated with a workspace.");
78
135
  }
136
+ const schemaErr = propsSchemaError(args.propsSchema);
137
+ if (schemaErr) {
138
+ return invalidArgument(schemaErr);
139
+ }
79
140
  try {
80
- const w = await client.registerWidget({
141
+ const c = await client.registerComponent({
81
142
  workspaceId,
82
143
  name: args.name,
83
- body: args.body,
144
+ body: args.source,
84
145
  description: args.description ?? "",
85
- rendererKind: DEFAULT_RENDERER_KIND,
146
+ rendererKind: args.rendererKind ?? REACT_RENDERER_KIND,
86
147
  propsSchema: args.propsSchema ?? "",
87
148
  ...owner(authContext),
88
149
  });
89
- return jsonResult({ id: w.id, name: w.name, version: w.version });
150
+ return jsonResult({ id: c.id, name: c.name, version: c.version });
90
151
  }
91
152
  catch (error) {
92
153
  return grpcErrorToToolResult(error);
@@ -94,34 +155,38 @@ export const widgetTools = [
94
155
  },
95
156
  },
96
157
  {
97
- name: "widget_update",
98
- group: "widget",
99
- description: "Update a registered widget's body, name, description, or props schema. Only provided fields change; the version is bumped.",
158
+ name: "component_update",
159
+ group: "component",
160
+ description: "Update a registered component's source (body), name, description, or props schema. Only provided fields change; the version is bumped.",
100
161
  inputSchema: z.object({
101
- id: z.string().describe("Widget id to update."),
102
- body: z.string().optional().describe("New widget HTML body."),
103
- name: z.string().optional().describe("New widget name."),
162
+ id: z.string().describe("Component id to update."),
163
+ source: z.string().optional().describe("New component body (JSX or HTML)."),
164
+ name: z.string().optional().describe("New component name."),
104
165
  description: z.string().optional().describe("New description."),
105
166
  propsSchema: z.string().optional().describe("New props JSON Schema (as a string)."),
106
167
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected from session context)."),
107
168
  }),
108
- rpcMethod: "updateWidget",
169
+ rpcMethod: "updateComponent",
109
170
  mutating: true,
110
171
  annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: false, openWorldHint: false },
111
172
  async handler(args, { orchestration: client }) {
112
173
  if (!args.id) {
113
174
  return invalidArgument("id is required");
114
175
  }
176
+ const schemaErr = propsSchemaError(args.propsSchema);
177
+ if (schemaErr) {
178
+ return invalidArgument(schemaErr);
179
+ }
115
180
  try {
116
- const w = await client.updateWidget({
181
+ const c = await client.updateComponent({
117
182
  id: args.id,
118
183
  workspaceId: args.workspaceId ?? "",
119
184
  ...(args.name !== undefined ? { name: args.name } : {}),
120
185
  ...(args.description !== undefined ? { description: args.description } : {}),
121
- ...(args.body !== undefined ? { body: args.body } : {}),
186
+ ...(args.source !== undefined ? { body: args.source } : {}),
122
187
  ...(args.propsSchema !== undefined ? { propsSchema: args.propsSchema } : {}),
123
188
  });
124
- return jsonResult({ id: w.id, name: w.name, version: w.version });
189
+ return jsonResult({ id: c.id, name: c.name, version: c.version });
125
190
  }
126
191
  catch (error) {
127
192
  return grpcErrorToToolResult(error);
@@ -129,13 +194,13 @@ export const widgetTools = [
129
194
  },
130
195
  },
131
196
  {
132
- name: "widget_list",
133
- group: "widget",
134
- description: "List the reusable widgets registered in this workspace.",
197
+ name: "component_list",
198
+ group: "component",
199
+ description: "List the reusable components registered in this workspace.",
135
200
  inputSchema: z.object({
136
201
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected from session context when omitted)."),
137
202
  }),
138
- rpcMethod: "listWidgets",
203
+ rpcMethod: "listComponents",
139
204
  mutating: false,
140
205
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
141
206
  async handler(args, { orchestration: client }) {
@@ -144,14 +209,15 @@ export const widgetTools = [
144
209
  return invalidArgument("workspaceId is required but was not provided or auto-injected.");
145
210
  }
146
211
  try {
147
- const response = await client.listWidgets({ workspaceId });
148
- return jsonResult(response.widgets.map((w) => ({
149
- id: w.id,
150
- name: w.name,
151
- description: w.description,
152
- rendererKind: w.rendererKind,
153
- version: w.version,
154
- updatedAt: w.updatedAt,
212
+ const response = await client.listComponents({ workspaceId });
213
+ return jsonResult(response.components.map((c) => ({
214
+ id: c.id,
215
+ name: c.name,
216
+ description: c.description,
217
+ rendererKind: c.rendererKind,
218
+ propsSchema: c.propsSchema,
219
+ version: c.version,
220
+ updatedAt: c.updatedAt,
155
221
  })));
156
222
  }
157
223
  catch (error) {
@@ -160,16 +226,16 @@ export const widgetTools = [
160
226
  },
161
227
  },
162
228
  {
163
- name: "widget_render",
164
- group: "widget",
165
- description: "Render a previously registered widget inline in the chat, optionally passing props (data). Resolve the widget by id (preferred) or by name within your workspace.",
229
+ name: "component_render",
230
+ group: "component",
231
+ description: "Render a previously registered component inline in the chat, optionally passing props (data). Resolve by id (preferred) or by name within your workspace. Props are validated against the component's propsSchema when present.",
166
232
  inputSchema: z.object({
167
- id: z.string().optional().describe("Widget id (takes precedence over name)."),
168
- name: z.string().optional().describe("Widget name, resolved within your workspace."),
169
- props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the widget at render time."),
233
+ id: z.string().optional().describe("Component id (takes precedence over name)."),
234
+ name: z.string().optional().describe("Component name, resolved within your workspace."),
235
+ props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the component at render time."),
170
236
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected from session context)."),
171
237
  }),
172
- rpcMethod: "getWidget",
238
+ rpcMethod: "getComponent",
173
239
  mutating: false,
174
240
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
175
241
  async handler(args, { orchestration: client }) {
@@ -179,21 +245,28 @@ export const widgetTools = [
179
245
  return invalidArgument("id or name is required");
180
246
  }
181
247
  try {
182
- const w = await client.getWidget({
248
+ const c = await client.getComponent({
183
249
  id: id ?? "",
184
250
  name: name ?? "",
185
251
  workspaceId: args.workspaceId ?? "",
186
252
  });
253
+ const props = args.props ?? {};
254
+ const validationErr = propsValidationError(c.propsSchema, props);
255
+ if (validationErr) {
256
+ return invalidArgument(`props do not match the component's propsSchema: ${validationErr}`);
257
+ }
258
+ const kind = c.rendererKind || REACT_RENDERER_KIND;
187
259
  const descriptor = {
188
- rendererKind: w.rendererKind || DEFAULT_RENDERER_KIND,
189
- body: w.body,
190
- props: args.props ?? {},
191
- allowInlineScripts: true,
192
- widgetId: w.id,
193
- version: w.version,
194
- resourceUri: `ui://grackle/${w.id}`,
260
+ rendererKind: kind,
261
+ body: c.body,
262
+ props,
263
+ allowInlineScripts: kind === HTML_RENDERER_KIND,
264
+ allowUnsafeEval: kind === REACT_RENDERER_KIND,
265
+ widgetId: c.id,
266
+ version: c.version,
267
+ resourceUri: `ui://grackle/${c.id}`,
195
268
  };
196
- return renderResult({ rendered: true, id: w.id, name: w.name, version: w.version }, descriptor);
269
+ return renderResult({ rendered: true, id: c.id, name: c.name, version: c.version }, descriptor);
197
270
  }
198
271
  catch (error) {
199
272
  return grpcErrorToToolResult(error);
@@ -201,50 +274,50 @@ export const widgetTools = [
201
274
  },
202
275
  },
203
276
  {
204
- name: "widget_show",
205
- group: "widget",
206
- description: "Render a one-off widget inline in the chat from an inline HTML body, without persisting it. Use widget_register + widget_render when you want to reuse a widget across renders.",
277
+ name: "component_show",
278
+ group: "component",
279
+ description: "Render a one-off React/JSX component inline in the chat against the Grackle component library (no persistence). Provide `source` as JSX that calls render(<YourComponent {...props}/>) (react-live noInline); `props` supplies the data. `React`, `props`, and Grackle components (e.g. Button, Callout, Spinner) are in scope. Use component_register + component_render to reuse a component across renders.",
207
280
  inputSchema: z.object({
208
- body: z.string().describe("Widget HTML body. May include inline <script>/<style>."),
209
- props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the widget at render time."),
281
+ source: z.string().describe("JSX source. Must call render(<Component {...props}/>). `React`, `props`, and Grackle components are in scope."),
282
+ props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the component as `props`."),
210
283
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected; unused for one-off renders)."),
211
284
  }),
212
- rpcMethod: "widgetShow",
285
+ rpcMethod: "componentShow",
213
286
  mutating: false,
214
287
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
215
288
  async handler(args) {
216
289
  const descriptor = {
217
- rendererKind: DEFAULT_RENDERER_KIND,
218
- body: args.body,
290
+ rendererKind: REACT_RENDERER_KIND,
291
+ body: args.source,
219
292
  props: args.props ?? {},
220
- allowInlineScripts: true,
293
+ allowUnsafeEval: true,
221
294
  resourceUri: "",
222
295
  };
223
296
  return renderResult({ rendered: true }, descriptor);
224
297
  },
225
298
  },
226
299
  {
227
- name: "component_show",
300
+ name: "widget_show",
228
301
  group: "widget",
229
- description: "Render a React/JSX component inline in the chat against the Grackle component library (no persistence). Provide `source` as JSX that calls render(<YourComponent {...props}/>) (react-live noInline); `props` supplies the data. `React`, `props`, and Grackle components (e.g. Button, Callout, Spinner) are in scope. Renders in a sandboxed iframe.",
302
+ description: "Render a one-off raw-HTML widget inline in the chat from an inline HTML body, without persisting it. For React/JSX use component_show; for reuse use component_register + component_render.",
230
303
  inputSchema: z.object({
231
- source: z.string().describe("JSX source. Must call render(<Component {...props}/>). `React`, `props`, and Grackle components are in scope."),
232
- props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the component as `props`."),
304
+ body: z.string().describe("Widget HTML body. May include inline <script>/<style>."),
305
+ props: z.record(z.string(), z.unknown()).optional().describe("Data passed to the widget at render time."),
233
306
  workspaceId: z.string().optional().describe("Workspace ID (auto-injected; unused for one-off renders)."),
234
307
  }),
235
- rpcMethod: "componentShow",
308
+ rpcMethod: "widgetShow",
236
309
  mutating: false,
237
310
  annotations: { readOnlyHint: true, destructiveHint: false, idempotentHint: true, openWorldHint: false },
238
311
  async handler(args) {
239
312
  const descriptor = {
240
- rendererKind: REACT_RENDERER_KIND,
241
- body: args.source,
313
+ rendererKind: HTML_RENDERER_KIND,
314
+ body: args.body,
242
315
  props: args.props ?? {},
243
- allowUnsafeEval: true,
316
+ allowInlineScripts: true,
244
317
  resourceUri: "",
245
318
  };
246
319
  return renderResult({ rendered: true }, descriptor);
247
320
  },
248
321
  },
249
322
  ];
250
- //# sourceMappingURL=widget.js.map
323
+ //# sourceMappingURL=component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/tools/component.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ import { scheduleTools } from "./schedule.js";
15
15
  import { versionTools } from "./version.js";
16
16
  import { escalationTools } from "./escalation.js";
17
17
  import { pluginTools } from "./plugin.js";
18
- import { widgetTools } from "./widget.js";
18
+ import { componentTools } from "./component.js";
19
19
  /** Built-in tool groups shipped with the MCP package. */
20
20
  const builtinToolGroups = [
21
21
  envTools,
@@ -34,7 +34,7 @@ const builtinToolGroups = [
34
34
  versionTools,
35
35
  escalationTools,
36
36
  pluginTools,
37
- widgetTools,
37
+ componentTools,
38
38
  ];
39
39
  /**
40
40
  * Create a ToolRegistry pre-populated with all built-in MCP tools.
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,yDAAyD;AACzD,MAAM,iBAAiB,GAAuB;IAC5C,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,SAAS;IACT,YAAY;IACZ,SAAS;IACT,eAAe;IACf,UAAU;IACV,WAAW;IACX,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,WAAW;IACX,WAAW;CACZ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,oBAAyC;IAC1E,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAuB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,yDAAyD;AACzD,MAAM,iBAAiB,GAAuB;IAC5C,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,SAAS;IACT,YAAY;IACZ,SAAS;IACT,eAAe;IACf,UAAU;IACV,WAAW;IACX,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,eAAe;IACf,WAAW;IACX,cAAc;CACf,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,oBAAyC;IAC1E,MAAM,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;IACD,IAAI,oBAAoB,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,oBAAoB,EAAE,CAAC;YACzC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Internal `_meta` channel used by the dynamic widget tools (`widget_render`,
3
- * `widget_show`) to hand a render descriptor to the in-process broker capture in
2
+ * Internal `_meta` channel used by the dynamic render tools (`component_render`,
3
+ * `component_show`, `widget_show`) to hand a render descriptor to the broker capture in
4
4
  * `mcp-server.ts`. The handler runs in-process, so the capture reads the
5
5
  * descriptor off the result directly — it never depends on the agent SDK
6
6
  * round-tripping `_meta` (the T3 broker-capture principle).
@@ -1,6 +1,6 @@
1
1
  /**
2
- * Internal `_meta` channel used by the dynamic widget tools (`widget_render`,
3
- * `widget_show`) to hand a render descriptor to the in-process broker capture in
2
+ * Internal `_meta` channel used by the dynamic render tools (`component_render`,
3
+ * `component_show`, `widget_show`) to hand a render descriptor to the broker capture in
4
4
  * `mcp-server.ts`. The handler runs in-process, so the capture reads the
5
5
  * descriptor off the result directly — it never depends on the agent SDK
6
6
  * round-tripping `_meta` (the T3 broker-capture principle).
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/mcp",
3
- "version": "0.117.0",
3
+ "version": "0.118.0",
4
4
  "description": "MCP (Model Context Protocol) server for Grackle — translates MCP tool calls to ConnectRPC",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -37,9 +37,9 @@
37
37
  "@modelcontextprotocol/ext-apps": "^1.7.2",
38
38
  "@modelcontextprotocol/sdk": "^1.29.0",
39
39
  "pino": "^10.3.1",
40
- "zod": "^4.0.0",
41
- "@grackle-ai/auth": "0.117.0",
42
- "@grackle-ai/common": "0.117.0"
40
+ "zod": "^4.3.0",
41
+ "@grackle-ai/auth": "0.118.0",
42
+ "@grackle-ai/common": "0.118.0"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@rushstack/heft": "1.2.7",
@@ -1,19 +0,0 @@
1
- import type { ToolDefinition } from "../tool-registry.js";
2
- /**
3
- * MCP Apps widget tools.
4
- *
5
- * - `show_hello_widget` — the static Grackle-served demo widget (T2/T3).
6
- * - `widget_register` / `widget_update` / `widget_list` — the agent-authored
7
- * registry (#1239): persist a reusable widget body in the workspace.
8
- * - `widget_render` / `widget_show` — render a widget into the chat. The broker
9
- * captures the result `_meta` descriptor and emits the widget event; the
10
- * frontend never contacts the MCP server.
11
- * - `component_show` — render a React/JSX component (render-by-source, #1268)
12
- * against the Grackle component library in the sandbox React runtime.
13
- *
14
- * `show_hello_widget` carries a static `uiResourceUri` (gated to ui-capable
15
- * hosts in `mcp-server.ts`); the registry tools are plain tools (always listed
16
- * to scoped agents) and produce widgets dynamically via `_meta`.
17
- */
18
- export declare const widgetTools: ToolDefinition[];
19
- //# sourceMappingURL=widget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkB,cAAc,EAAc,MAAM,qBAAqB,CAAC;AAiCtF;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,WAAW,EAAE,cAAc,EA+MvC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"widget.js","sourceRoot":"","sources":["../../src/tools/widget.ts"],"names":[],"mappings":"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"}