Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/apps.ts
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,13 @@ export function registerAppCapabilities(server: McpServer) {
.describe("(list_apps, list_deployments) Pagination offset. Default 0.")
.optional(),
},
{
title: "Manage Kernel apps and invocations",
readOnlyHint: false,
destructiveHint: false,
idempotentHint: false,
openWorldHint: true,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/browser-curl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,13 @@ export function registerBrowserCurlTool(server: McpServer) {
.describe("Request timeout in milliseconds.")
.optional(),
},
{
title: "Send HTTP request via browser",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: true,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/browser-pools.ts
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,13 @@ export function registerBrowserPoolCapabilities(server: McpServer) {
.describe("(release) Reuse browser instance or recreate. Default true.")
.optional(),
},
{
title: "Manage Kernel browser pools",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: false,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/browsers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,13 @@ export function registerBrowserCapabilities(server: McpServer) {
)
.optional(),
},
{
title: "Manage Kernel browser sessions",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: false,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/computer-action.ts
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,13 @@ export function registerComputerActionTool(server: McpServer) {
"Ordered list of actions. Use one action for simple operations or multiple for batched sequences.",
),
},
{
title: "Control browser (mouse, keyboard, screenshot)",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: true,
},
async ({ session_id, actions }, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/docs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ export function registerDocsTools(server: McpServer) {
'Natural language search query (e.g., "how to deploy an app", "browser automation examples").',
),
},
{
title: "Search Kernel documentation",
readOnlyHint: true,
destructiveHint: false,
idempotentHint: true,
openWorldHint: false,
},
async ({ query }, extra) => {
if (
!process.env.MINTLIFY_ASSISTANT_API_TOKEN ||
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/extensions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ export function registerExtensionTools(server: McpServer) {
.describe("(delete) Extension ID or name to delete.")
.optional(),
},
{
title: "Manage Kernel browser extensions",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: false,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/playwright.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,13 @@ export function registerPlaywrightTool(server: McpServer) {
)
.optional(),
},
{
title: "Execute Playwright code",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: true,
},
async ({ code, session_id }, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/profiles.ts
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,13 @@ export function registerProfileCapabilities(server: McpServer) {
.describe("(setup) If true, update existing profile. Default false.")
.optional(),
},
{
title: "Manage Kernel browser profiles",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: true,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/projects.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,13 @@ export function registerProjectCapabilities(server: McpServer) {
.optional(),
...paginationParams,
},
{
title: "Manage Kernel projects",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: false,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/proxies.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,13 @@ export function registerProxyTools(server: McpServer) {
.describe("(create, custom type) Auth password.")
.optional(),
},
{
title: "Manage Kernel proxy configurations",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: false,
},
async (params, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
7 changes: 7 additions & 0 deletions src/lib/mcp/tools/shell.ts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ export function registerShellTool(server: McpServer) {
.optional(),
as_root: z.boolean().describe("Run with root privileges.").optional(),
},
{
title: "Run shell command in browser VM",
readOnlyHint: false,
destructiveHint: true,
idempotentHint: false,
openWorldHint: true,
},
async ({ session_id, command, args, cwd, timeout_sec, as_root }, extra) => {
if (!extra.authInfo) throw new Error("Authentication required");
const client = createKernelClient(extra.authInfo.token);
Expand Down
Loading