keychain_create_logins
Add multiple login credentials to your Bitwarden vault in one operation, supporting usernames, passwords, URIs, TOTP codes, notes, and attachments.
Instructions
Create multiple login items in a single call.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| continueOnError | No |
Implementation Reference
- src/tools/registerTools.ts:1298-1363 (handler)Implementation of the tool keychain_create_logins in registerTools.ts. Note: The tool is registered with the prefix defined in deps.toolPrefix.
registerTool( `${deps.toolPrefix}.create_logins`, { title: 'Create Logins', description: 'Create multiple login items in a single call.', inputSchema: { items: z.array( z.object({ name: z.string(), username: z.string().optional(), password: z.string().optional(), uris: z .array( z.object({ uri: z.string(), match: uriMatchInputSchema.optional(), }), ) .optional(), totp: z.string().optional(), notes: z.string().optional(), fields: z .array( z.object({ name: z.string(), value: z.string(), hidden: z.boolean().optional(), }), ) .optional(), attachments: z .array( z.object({ filename: z.string(), contentBase64: z.string(), }), ) .optional(), favorite: z.boolean().optional(), organizationId: z.string().optional(), collectionIds: z.array(z.string()).optional(), folderId: z.string().optional(), }), ), continueOnError: z.boolean().optional(), }, _meta: toolMeta, }, async (input, extra) => { if (isReadOnly) return readonlyBlocked(); const sdk = await deps.getSdk(extra.authInfo); const results = await sdk.createLogins({ items: input.items.map((it) => ({ ...it, uris: normalizeUrisInput(it.uris), })), continueOnError: input.continueOnError, }); return { structuredContent: { results }, content: [ { type: 'text', text: `Created ${results.length} login(s).` }, ], }; }, );