summaryrefslogtreecommitdiff
path: root/packages/server/src/tools/tools.ts
diff options
context:
space:
mode:
authorOlcan <[email protected]>2025-05-30 15:32:21 -0700
committerGitHub <[email protected]>2025-05-30 15:32:21 -0700
commit2e57989aec569055a11f21762f72b961377281ab (patch)
tree0fb4a97f195801472b07ed1ba679c21c1151e867 /packages/server/src/tools/tools.ts
parenta60e51f44d84b1a13c335e6b75339b8ad8c544bb (diff)
confirm mcp tool executions from untrusted servers (per "trust" setting) (#631)
Diffstat (limited to 'packages/server/src/tools/tools.ts')
-rw-r--r--packages/server/src/tools/tools.ts20
1 files changed, 16 insertions, 4 deletions
diff --git a/packages/server/src/tools/tools.ts b/packages/server/src/tools/tools.ts
index e5d0c7cf..a2e7fa06 100644
--- a/packages/server/src/tools/tools.ts
+++ b/packages/server/src/tools/tools.ts
@@ -212,12 +212,24 @@ export interface ToolExecuteConfirmationDetails {
rootCommand: string;
}
+export interface ToolMcpConfirmationDetails {
+ type: 'mcp';
+ title: string;
+ serverName: string;
+ toolName: string;
+ toolDisplayName: string;
+ onConfirm: (outcome: ToolConfirmationOutcome) => Promise<void> | void;
+}
+
export type ToolCallConfirmationDetails =
| ToolEditConfirmationDetails
- | ToolExecuteConfirmationDetails;
+ | ToolExecuteConfirmationDetails
+ | ToolMcpConfirmationDetails;
export enum ToolConfirmationOutcome {
- ProceedOnce,
- ProceedAlways,
- Cancel,
+ ProceedOnce = 'proceed_once',
+ ProceedAlways = 'proceed_always',
+ ProceedAlwaysServer = 'proceed_always_server',
+ ProceedAlwaysTool = 'proceed_always_tool',
+ Cancel = 'cancel',
}