keychain_delete_item
Remove a stored credential from your Bitwarden vault by specifying its ID. Choose between soft deletion for recovery or permanent deletion for complete removal.
Instructions
Delete an item by id (soft-delete by default; set permanent=true to hard delete).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| permanent | No |
Implementation Reference
- src/sdk/keychainSdk.ts:1117-1129 (handler)The 'deleteItem' method in KeychainSdk handles the logic for deleting a Bitwarden item, supporting both soft-delete (default) and hard-delete (permanent=true).
async deleteItem(input: { id: string; permanent?: boolean }): Promise<void> { return this.bw.withSession(async (session) => { if (this.syncOnWrite()) { await this.bw .runForSession(session, ['sync'], { timeoutMs: 120_000 }) .catch(() => {}); } const args = ['delete', 'item', input.id]; if (input.permanent) args.push('--permanent'); await this.bw.runForSession(session, args, { timeoutMs: 60_000 }); }); } - src/tools/registerTools.ts:315-334 (handler)The 'delete_item' MCP tool implementation in registerTools.ts, which invokes the 'deleteItem' method from the KeychainSdk.
registerTool( `${deps.toolPrefix}.delete_folder`, { title: 'Delete Folder', description: 'Delete a Bitwarden folder (personal).', inputSchema: { id: z.string(), }, _meta: toolMeta, }, async (input, extra) => { if (isReadOnly) return readonlyBlocked(); const sdk = await deps.getSdk(extra.authInfo); await sdk.deleteFolder(input); return { structuredContent: { ok: true }, content: [{ type: 'text', text: 'Deleted.' }], }; }, );