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
Expose the remaining small SDK passthroughs for project limits, deployment deletion/version filters, proxy checks, and paginated profile lookup while keeping the handlers on shared response helpers for clearer agent output.
Copy file name to clipboardExpand all lines: README.md
+10-5Lines changed: 10 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -255,21 +255,26 @@ Many other MCP-capable tools accept:
255
255
256
256
Configure these values wherever the tool expects MCP server settings.
257
257
258
-
## Tools (10 total)
258
+
## Tools (15 total)
259
259
260
-
Each Kernel feature has a single `manage_*` tool with an `action` parameter, keeping the tool set small and consistent. Four standalone tools handle high-frequency workflows.
260
+
Each Kernel feature has a single `manage_*` tool with an `action` parameter, keeping the tool set small and consistent. Seven standalone tools handle high-frequency workflows.
261
261
262
262
### manage\_\* tools
263
263
264
264
-`manage_browsers` - Create, list, get, and delete browser sessions. Supports headless/stealth modes, profiles, proxies, viewports, extensions, and SSH tunneling.
265
-
-`manage_profiles` - Setup (with guided live browser session), list, and delete browser profiles for persisting cookies and logins.
265
+
-`manage_profiles` - Setup (with guided live browser session), search/list with pagination, get, and delete browser profiles for persisting cookies and logins.
266
+
-`manage_projects` - Create, list, get, update, and delete organization projects. Inspect and update per-project resource limits.
267
+
-`manage_api_keys` - Create, list, get, update, and delete org-wide or project-scoped API keys.
266
268
-`manage_browser_pools` - Create, list, get, delete, and flush pools of pre-warmed browsers. Acquire and release browsers from pools.
'Manage Kernel apps, deployments, and invocations. Use "list_apps" to discover apps, "invoke" to execute an app action, "get_deployment"/"list_deployments" to check deployment status, or "get_invocation" to check action results.',
42
+
'Manage Kernel apps, deployments, and invocations. Use "list_apps" to discover apps, "invoke" to execute an app action, "get_deployment"/"list_deployments" to check deployment status, "delete_deployment" to remove a deployment, or "get_invocation" to check action results.',
42
43
{
43
44
action: z
44
45
.enum([
45
46
"list_apps",
46
47
"invoke",
47
48
"get_deployment",
48
49
"list_deployments",
50
+
"delete_deployment",
49
51
"get_invocation",
50
52
])
51
53
.describe("Operation to perform."),
@@ -58,9 +60,10 @@ export function registerAppCapabilities(server: McpServer) {
58
60
version: z
59
61
.string()
60
62
.describe(
61
-
"(list_apps, invoke) App version filter. Defaults to 'latest' for invoke.",
63
+
"(list_apps, invoke, list_deployments) App version filter. Defaults to 'latest' for invoke. Deployment version filtering requires app_name.",
62
64
)
63
65
.optional(),
66
+
query: z.string().describe("(list_apps) Search apps by name.").optional(),
64
67
action_name: z
65
68
.string()
66
69
.describe("(invoke) Action to execute within the app.")
@@ -71,7 +74,7 @@ export function registerAppCapabilities(server: McpServer) {
71
74
.optional(),
72
75
deployment_id: z
73
76
.string()
74
-
.describe("(get_deployment) Deployment ID to retrieve.")
// manage_extensions -- List and delete browser extensions
7
8
server.tool(
8
9
"manage_extensions",
9
-
'Manage browser extensions uploaded to your organization. Use "list" to see all extensions or "delete" to remove one.',
10
+
'Manage browser extensions uploaded to Kernel. Use "list" to see all extensions available to the current project or "delete" to remove one by ID or name.',
10
11
{
11
12
action: z.enum(["list","delete"]).describe("Operation to perform."),
12
13
id_or_name: z
@@ -22,17 +23,11 @@ export function registerExtensionTools(server: McpServer) {
22
23
switch(params.action){
23
24
case"list": {
24
25
constextensions=awaitclient.extensions.list();
25
-
return{
26
-
content: [
27
-
{
28
-
type: "text",
29
-
text:
30
-
extensions?.length>0
31
-
? JSON.stringify(extensions,null,2)
32
-
: "No extensions found",
33
-
},
34
-
],
35
-
};
26
+
returntextResponse(
27
+
extensions?.length>0
28
+
? JSON.stringify(extensions,null,2)
29
+
: "No extensions found",
30
+
);
36
31
}
37
32
case"delete": {
38
33
if(!params.id_or_name)
@@ -45,22 +40,13 @@ export function registerExtensionTools(server: McpServer) {
0 commit comments