Skip to main content
Glama

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
NameRequiredDescriptionDefault
itemsYes
continueOnErrorNo

Implementation Reference

  • 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).` },
          ],
        };
      },
    );

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/icoretech/warden-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server