@grackle-ai/mcp 0.80.0 → 0.81.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
@@ -243,17 +243,37 @@ Query aggregated token usage and cost data.
243
243
 
244
244
  ## Scoped Access
245
245
 
246
- When an agent authenticates with a **scoped token** (issued automatically when a task session is started), only a subset of tools is available:
246
+ When an agent authenticates with a **scoped token** (issued automatically when a task session is started), tool access is controlled by the task's **persona configuration**.
247
247
 
248
- - `finding_post`, `finding_list`
249
- - `task_create`, `task_list`, `task_show`, `task_start`, `task_complete`
250
- - `session_attach`, `session_send_input`
251
- - `persona_list`, `persona_show`
252
- - `ipc_spawn`, `ipc_write`, `ipc_close`, `ipc_terminate`, `ipc_list_fds`
253
- - `knowledge_search`, `knowledge_get_node`
254
- - `logs_get`
248
+ ### Persona-Scoped Tool Filtering
255
249
 
256
- Scoped tokens also enforce workspace isolation agents can only see tasks and findings within their own workspace. Subtasks created by a scoped agent are automatically parented to the agent's own task.
250
+ Each persona can define an `allowed_mcp_tools` list that restricts which MCP tools its agents can use. When a scoped token connects:
251
+
252
+ 1. The server looks up the persona's `allowed_mcp_tools` from the token's `personaId` claim.
253
+ 2. If the persona defines a non-empty tool list, only those tools are exposed via `tools/list`.
254
+ 3. If the persona has no explicit tool list (empty `allowed_mcp_tools`), the **default scoped set** is used:
255
+ - `finding_post`, `finding_list`
256
+ - `task_create`, `task_list`, `task_show`, `task_start`, `task_complete`
257
+ - `session_attach`, `session_send_input`
258
+ - `persona_list`, `persona_show`
259
+ - `ipc_spawn`, `ipc_write`, `ipc_close`, `ipc_terminate`, `ipc_list_fds`
260
+ - `knowledge_search`, `knowledge_get_node`
261
+ - `logs_get`
262
+ - `workpad_write`, `workpad_read`
263
+ - `schedule_list`, `schedule_show`
264
+
265
+ ### Preset Tool Sets
266
+
267
+ Predefined presets are available for convenience (via CLI `--mcp-tools-preset` or the web UI):
268
+
269
+ | Preset | Description |
270
+ |--------|-------------|
271
+ | `default` | The 23-tool default scoped set (backward compatible) |
272
+ | `worker` | Subset of default — no task creation capabilities |
273
+ | `orchestrator` | Default + task management, session spawning, persona creation, scheduling |
274
+ | `admin` | Full access to all 58 tools |
275
+
276
+ Scoped tokens also enforce workspace isolation — agents can only see tasks and findings within their own workspace. Subtasks created by a scoped agent are automatically parented to the agent's own task. Tool calls to non-permitted tools return an error with a descriptive message listing the available tools.
257
277
 
258
278
  ## Requirements
259
279
 
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAmC7B,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAsHD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAkEtE"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,WAAW,CAAC;AAmC7B,0CAA0C;AAC1C,MAAM,WAAW,gBAAgB;IAC/B,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,CAAC;IACjB,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAC;IACf,kGAAkG;IAClG,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACjC;AAsLD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAkEtE"}
@@ -37,27 +37,67 @@ function createGrpcClient(bindHost, grpcPort, apiKey) {
37
37
  });
38
38
  return createClient(grackle.Grackle, transport);
39
39
  }
40
+ /**
41
+ * Resolve the persona's allowed MCP tools from the gRPC backend.
42
+ * Returns a ReadonlySet for filtering, or undefined to use the default SCOPED_TOOLS.
43
+ */
44
+ async function resolvePersonaTools(grpcClient, authContext) {
45
+ if (authContext.type !== "scoped" || !authContext.personaId) {
46
+ return undefined;
47
+ }
48
+ try {
49
+ const persona = await grpcClient.getPersona({ id: authContext.personaId });
50
+ if (persona.allowedMcpTools.length > 0) {
51
+ const tools = new Set(persona.allowedMcpTools);
52
+ logger.info({ personaId: authContext.personaId, toolCount: tools.size }, "Resolved persona MCP tools: %d tools", tools.size);
53
+ return tools;
54
+ }
55
+ }
56
+ catch (error) {
57
+ // Fail open to default scoped tools (not full access) on transient errors.
58
+ // This is a security tradeoff: a stricter persona would get broader access,
59
+ // but failing closed would make sessions unusable on transient backend errors.
60
+ // The default scoped set is still significantly restricted vs full access.
61
+ logger.warn({ personaId: authContext.personaId, err: error }, "Failed to resolve persona for tool filtering; falling back to default scoped tools");
62
+ }
63
+ return undefined;
64
+ }
40
65
  /** Create a low-level MCP Server instance with tool handlers wired to the ConnectRPC backend. */
41
- function createMcpServerInstance(grpcClient, authContext) {
66
+ async function createMcpServerInstance(grpcClient, authContext) {
42
67
  const registry = createToolRegistry();
68
+ // Resolve persona-scoped tool set once at session creation (cached for session lifetime)
69
+ const personaAllowedTools = await resolvePersonaTools(grpcClient, authContext);
70
+ const visibleTools = listToolsForAuth(registry, authContext, personaAllowedTools);
71
+ logger.info({ authType: authContext.type, toolCount: visibleTools.length }, "MCP session exposing %d tools", visibleTools.length);
43
72
  const server = new Server({ name: "grackle-mcp", version: PACKAGE_VERSION }, { capabilities: { tools: {} } });
73
+ // Pre-compute the visible tool list and names (immutable for this session)
74
+ const visibleToolDefs = visibleTools.map((t) => ({
75
+ name: t.name,
76
+ description: t.description,
77
+ inputSchema: z.toJSONSchema(t.inputSchema),
78
+ annotations: t.annotations,
79
+ }));
80
+ const visibleToolNames = visibleTools.map((t) => t.name).join(", ");
44
81
  server.setRequestHandler(ListToolsRequestSchema, async () => {
45
- const tools = listToolsForAuth(registry, authContext);
46
- return {
47
- tools: tools.map((t) => ({
48
- name: t.name,
49
- description: t.description,
50
- inputSchema: z.toJSONSchema(t.inputSchema),
51
- annotations: t.annotations,
52
- })),
53
- };
82
+ return { tools: visibleToolDefs };
54
83
  });
55
84
  server.setRequestHandler(CallToolRequestSchema, async (request) => {
56
85
  const { name, arguments: args } = request.params;
57
- const tool = resolveToolForAuth(registry, name, authContext);
86
+ const tool = resolveToolForAuth(registry, name, authContext, personaAllowedTools);
58
87
  if (!tool) {
88
+ // Distinguish "unknown tool" from "not permitted by persona/scope"
89
+ const existsInRegistry = registry.get(name) !== undefined;
90
+ if (!existsInRegistry) {
91
+ logger.warn({ tool: name }, "Unknown tool call: %s", name);
92
+ return {
93
+ content: [{ type: "text", text: `Unknown tool: ${name}` }],
94
+ isError: true,
95
+ };
96
+ }
97
+ const available = visibleToolNames;
98
+ logger.warn({ tool: name, authType: authContext.type, personaId: authContext.type === "scoped" ? authContext.personaId : undefined }, "Tool call rejected by scope: %s", name);
59
99
  return {
60
- content: [{ type: "text", text: `Unknown tool: ${name}` }],
100
+ content: [{ type: "text", text: `Tool "${name}" is not permitted for this session. Available tools: ${available}` }],
61
101
  isError: true,
62
102
  };
63
103
  }
@@ -253,7 +293,7 @@ async function handlePost(req, res, grpcClient, transports, authContexts, authCo
253
293
  authContexts.delete(sid);
254
294
  }
255
295
  };
256
- const mcpServer = createMcpServerInstance(grpcClient, authContext);
296
+ const mcpServer = await createMcpServerInstance(grpcClient, authContext);
257
297
  await mcpServer.connect(transport);
258
298
  await transport.handleRequest(req, res, body);
259
299
  return;
@@ -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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"}
@@ -1,9 +1,19 @@
1
1
  import type { AuthContext } from "@grackle-ai/auth";
2
2
  import type { ToolRegistry, ToolDefinition } from "./tool-registry.js";
3
- /** Tools exposed to scoped-token (agent) callers. */
3
+ /** Tools exposed to scoped-token (agent) callers when no persona override is set. */
4
4
  export declare const SCOPED_TOOLS: ReadonlySet<string>;
5
- /** Resolve a tool by name with scope checks. */
6
- export declare function resolveToolForAuth(registry: ToolRegistry, name: string, authContext: AuthContext): ToolDefinition | undefined;
7
- /** List tools visible to the given auth context. */
8
- export declare function listToolsForAuth(registry: ToolRegistry, authContext: AuthContext): ToolDefinition[];
5
+ /**
6
+ * Resolve a tool by name with scope checks.
7
+ *
8
+ * @param personaAllowedTools - Optional persona-specific tool set. When provided
9
+ * and non-empty, overrides the default SCOPED_TOOLS for this scoped caller.
10
+ */
11
+ export declare function resolveToolForAuth(registry: ToolRegistry, name: string, authContext: AuthContext, personaAllowedTools?: ReadonlySet<string>): ToolDefinition | undefined;
12
+ /**
13
+ * List tools visible to the given auth context.
14
+ *
15
+ * @param personaAllowedTools - Optional persona-specific tool set. When provided
16
+ * and non-empty, overrides the default SCOPED_TOOLS for this scoped caller.
17
+ */
18
+ export declare function listToolsForAuth(registry: ToolRegistry, authContext: AuthContext, personaAllowedTools?: ReadonlySet<string>): ToolDefinition[];
9
19
  //# sourceMappingURL=tool-scoping.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-scoping.d.ts","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,qDAAqD;AACrD,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAU3C,CAAC;AAiBH,gDAAgD;AAChD,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,GACvB,cAAc,GAAG,SAAS,CAS5B;AAED,oDAAoD;AACpD,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,GAAG,cAAc,EAAE,CAKnG"}
1
+ {"version":3,"file":"tool-scoping.d.ts","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEvE,qFAAqF;AACrF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,MAAM,CAAqC,CAAC;AA6BnF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,YAAY,EACtB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,WAAW,EACxB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,cAAc,GAAG,SAAS,CAS5B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAE,WAAW,EACxB,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,GACxC,cAAc,EAAE,CAMlB"}
@@ -1,16 +1,6 @@
1
- import { ROOT_TASK_ID } from "@grackle-ai/common";
2
- /** Tools exposed to scoped-token (agent) callers. */
3
- export const SCOPED_TOOLS = new Set([
4
- "finding_post", "finding_list",
5
- "task_create", "task_list", "task_show", "task_start", "task_complete",
6
- "session_attach", "session_send_input",
7
- "persona_list", "persona_show",
8
- "ipc_spawn", "ipc_write", "ipc_close", "ipc_terminate", "ipc_list_fds",
9
- "knowledge_search", "knowledge_get_node",
10
- "logs_get",
11
- "workpad_write", "workpad_read",
12
- "schedule_list", "schedule_show",
13
- ]);
1
+ import { ROOT_TASK_ID, DEFAULT_SCOPED_MCP_TOOLS } from "@grackle-ai/common";
2
+ /** Tools exposed to scoped-token (agent) callers when no persona override is set. */
3
+ export const SCOPED_TOOLS = new Set(DEFAULT_SCOPED_MCP_TOOLS);
14
4
  /** Auth types that receive full tool access. */
15
5
  const FULL_ACCESS_TYPES = new Set(["api-key", "oauth"]);
16
6
  /** Whether the auth context has full (unrestricted) tool access. */
@@ -24,22 +14,44 @@ function hasFullAccess(authContext) {
24
14
  }
25
15
  return false;
26
16
  }
27
- /** Resolve a tool by name with scope checks. */
28
- export function resolveToolForAuth(registry, name, authContext) {
17
+ /**
18
+ * Resolve the effective tool allowlist for a scoped caller.
19
+ * If personaAllowedTools is provided and non-empty, use it.
20
+ * Otherwise fall back to the default SCOPED_TOOLS set.
21
+ */
22
+ function effectiveAllowedTools(personaAllowedTools) {
23
+ if (personaAllowedTools && personaAllowedTools.size > 0) {
24
+ return personaAllowedTools;
25
+ }
26
+ return SCOPED_TOOLS;
27
+ }
28
+ /**
29
+ * Resolve a tool by name with scope checks.
30
+ *
31
+ * @param personaAllowedTools - Optional persona-specific tool set. When provided
32
+ * and non-empty, overrides the default SCOPED_TOOLS for this scoped caller.
33
+ */
34
+ export function resolveToolForAuth(registry, name, authContext, personaAllowedTools) {
29
35
  const tool = registry.get(name);
30
36
  if (!tool) {
31
37
  return undefined;
32
38
  }
33
- if (!hasFullAccess(authContext) && !SCOPED_TOOLS.has(tool.name)) {
39
+ if (!hasFullAccess(authContext) && !effectiveAllowedTools(personaAllowedTools).has(tool.name)) {
34
40
  return undefined;
35
41
  }
36
42
  return tool;
37
43
  }
38
- /** List tools visible to the given auth context. */
39
- export function listToolsForAuth(registry, authContext) {
44
+ /**
45
+ * List tools visible to the given auth context.
46
+ *
47
+ * @param personaAllowedTools - Optional persona-specific tool set. When provided
48
+ * and non-empty, overrides the default SCOPED_TOOLS for this scoped caller.
49
+ */
50
+ export function listToolsForAuth(registry, authContext, personaAllowedTools) {
40
51
  if (hasFullAccess(authContext)) {
41
52
  return registry.list();
42
53
  }
43
- return registry.list((t) => SCOPED_TOOLS.has(t.name));
54
+ const allowed = effectiveAllowedTools(personaAllowedTools);
55
+ return registry.list((t) => allowed.has(t.name));
44
56
  }
45
57
  //# sourceMappingURL=tool-scoping.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,qDAAqD;AACrD,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IACvD,cAAc,EAAE,cAAc;IAC9B,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe;IACtE,gBAAgB,EAAE,oBAAoB;IACtC,cAAc,EAAE,cAAc;IAC9B,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,cAAc;IACtE,kBAAkB,EAAE,oBAAoB;IACxC,UAAU;IACV,eAAe,EAAE,cAAc;IAC/B,eAAe,EAAE,eAAe;CACjC,CAAC,CAAC;AAEH,gDAAgD;AAChD,MAAM,iBAAiB,GAAqC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,SAAS,aAAa,CAAC,WAAwB;IAC7C,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+EAA+E;IAC/E,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gDAAgD;AAChD,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,IAAY,EACZ,WAAwB;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,QAAsB,EAAE,WAAwB;IAC/E,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"tool-scoping.js","sourceRoot":"","sources":["../src/tool-scoping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAI5E,qFAAqF;AACrF,MAAM,CAAC,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC,wBAAwB,CAAC,CAAC;AAEnF,gDAAgD;AAChD,MAAM,iBAAiB,GAAqC,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC;AAE1F,oEAAoE;AACpE,SAAS,aAAa,CAAC,WAAwB;IAC7C,IAAI,iBAAiB,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,+EAA+E;IAC/E,IAAI,WAAW,CAAC,IAAI,KAAK,QAAQ,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,mBAAyC;IACtE,IAAI,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,mBAAmB,CAAC;IAC7B,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,QAAsB,EACtB,IAAY,EACZ,WAAwB,EACxB,mBAAyC;IAEzC,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9F,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAsB,EACtB,WAAwB,EACxB,mBAAyC;IAEzC,IAAI,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,MAAM,OAAO,GAAG,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grackle-ai/mcp",
3
- "version": "0.80.0",
3
+ "version": "0.81.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,8 +37,8 @@
37
37
  "@modelcontextprotocol/sdk": "^1.27.0",
38
38
  "pino": "^10.3.1",
39
39
  "zod": "^4.0.0",
40
- "@grackle-ai/auth": "0.80.0",
41
- "@grackle-ai/common": "0.80.0"
40
+ "@grackle-ai/auth": "0.81.0",
41
+ "@grackle-ai/common": "0.81.0"
42
42
  },
43
43
  "devDependencies": {
44
44
  "@rushstack/heft": "1.2.7",