Skip to main content
Glama
rbw-mcp

rbw-mcp

by dceluis

rbw-mcp

Model Context Protocol (MCP) server that enables interaction with the Bitwarden password manager vault via the rbw (Rust Bitwarden) command-line interface. The server allows AI models to securely communicate with a user's Bitwarden vault through defined tool interfaces.

Prerequisites

  • Node.js 22

  • rbw (Rust Bitwarden CLI) installed and configured.

Related MCP server: bitwarden-agent-vault-mcp

Installation

Option One: Configuration in your AI app

Open up your application configuration, e.g. for Claude Desktop:

{
  "mcpServers": {
    "rbw": {
      "command": "npx",
      "args": ["-y", "rbw-mcp"]
    }
  }
}

Option Two: Local checkout

Requires that this repository be checked out locally. Once that's done:

npm install
npm run build

Setup

  1. Install rbw: Follow the instructions for your platform on the official rbw repository. For example, on Debian/Ubuntu:

    sudo apt-get update
    sudo apt-get install rbw
  2. Configure rbw: Configure rbw to connect to your Bitwarden account.

    rbw config
  3. Unlock your vault: Before running the MCP server, you must unlock your vault. This starts the rbw-agent and allows subsequent commands to run without prompting for a password.

    rbw unlock

    The server will check if the vault is unlocked on startup.

Testing

Running unit tests

The project includes Jest unit tests.

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

# Run tests with coverage
npm test -- --coverage

Inspection and development

MCP Inspector

Use the MCP Inspector to test the server interactively:

# Start the inspector
npm run inspect

This will:

  1. Start the MCP server

  2. Launch the inspector UI in your browser

  3. Allow you to test all available tools interactively

Available tools

The server provides the following rbw CLI tools:

Tool

Description

Required Parameters

Notes

lock

Lock the vault by clearing cached keys from the agent.

None

Executes rbw lock.

unlock

Unlock the vault. This will trigger an interactive prompt for your master password if needed.

None

Executes rbw unlock.

sync

Sync vault data from the Bitwarden server.

None

Executes rbw sync.

status

Check if the vault is unlocked.

None

Executes rbw unlocked.

list

Lists items from the vault. Can be filtered by a search term.

Optional: search, ignoreCase

Executes rbw list --fields name,user,id,folder and filters results in-memory.

get

Get a specific field for an item (defaults to password).

id (required). Optional: field

Executes rbw get <id> or rbw get --field .... Use list to find the exact ID first.

code

Get a TOTP code for an item.

id

Executes rbw code <id>. Use list to find the exact ID first.

generate

Generate a secure password or passphrase. By default, generates a strong password with symbols.

Optional: length, diceware, noSymbols

Executes rbw generate.

delete

Delete an item from your vault.

id

Executes rbw rm <id>.

create

Create a new login item in your vault.

name (required). Optional: username, password, notes, uri

Executes rbw add. Uses EDITOR='tee' for non-interactive input.

edit

Edit the password and/or notes for an existing item in your vault.

id (required). Optional: password, notes

Executes rbw edit. Uses EDITOR='tee' for non-interactive input.

Security considerations

  • Use rbw-agent: It is highly recommended to use rbw with its agent to handle the master password securely.

  • Validate all inputs: All tool inputs are strictly validated using Zod schemas.

Troubleshooting

Common issues

  1. "Vault is locked" error on startup

    • Run rbw unlock in your terminal before starting the server.

  2. rbw command not found

    • Ensure that rbw is installed and that its location is in your system's PATH.

  3. Tests failing

    • Ensure all development dependencies are installed with npm install.

Available Tools

11 tools
codeA

Get a TOTP code for an item from your vault. The id can be a name or UUID. The response includes a top-level 'metadata' object with a 'secret: true' flag, which a gateway can intercept for sanitization or to provide secure handle-based access.

Inputs: id (required).

createC

Create a new login item in your vault.

Inputs: name (required), uri, notes, password, +1 more.

deleteC

Delete an item from your vault.

Inputs: id (required).

editC

Edit the password and/or notes for an existing item in your vault.

Inputs: id (required), notes, password.

generateB

Generate a secure password or passphrase. By default, generates a strong password with symbols.

Inputs: length, diceware, noSymbols.

getA

Get a specific field for an item (defaults to password). It is highly recommended to use the 'list' tool first to find the exact item ID. The response includes a top-level 'metadata' object with a 'secret: true' flag, which a gateway can intercept for sanitization or to provide secure handle-based access.

Inputs: id (required), field.

listA

Lists items from the vault, always returning name, user, id, and folder. Can be filtered by a search term.

Inputs: search, ignoreCase.

lockA

Lock the vault by clearing cached keys from the agent.

Inputs: no named parameters.

statusC

Check if the vault is unlocked.

Inputs: no named parameters.

syncC

Sync vault data from the Bitwarden server.

Inputs: no named parameters.

unlockB

Unlock the vault. This will trigger an interactive prompt for your master password if needed.

Inputs: no named parameters.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.2/5.0

    Scored across 11 tools

    Disambiguation4/5

    Most tools are clearly distinct (status vs unlock vs lock vs sync; create/edit/delete vs list/get). The only minor ambiguity is between 'list' and 'get' — both retrieve vault items, though one returns fields for a specific item and the other enumerates items. The distinction is reasonably clear from descriptions.

    Naming Consistency4/5

    All tools use short, single-word imperative names (status, create, edit, generate, lock, unlock, sync, list, get, code, delete). The style is consistent, though the names are generic single verbs rather than a verb_noun pattern, which slightly reduces predictability compared to the ideal convention.

    Tool Count4/5

    With 11 tools for a Bitwarden password manager vault, the surface is appropriately scoped. Each tool maps to a distinct vault operation (locks, item CRUD, sync, TOTP, generation), and none feel redundant. The count is slightly on the higher side but still well within reason.

    Completeness4/5

    The surface covers vault lifecycle (unlock/lock/status/sync), item CRUD (list/get/create/edit/delete), TOTP retrieval, and password generation. Minor gaps include no ability to manage folders, move items between folders, or handle multiple vaults/collections, but the core password-management workflows are covered with no dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      B
      maintenance
      MCP server for Vaultwarden/Bitwarden vault management. Enables AI agents to securely create, search, read, and update vault items via the official Bitwarden CLI, with safe-by-default redaction and support for both stdio and SSE transports.
      53
      2,126 npm
      27
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      An MCP server for using Bitwarden Secrets Manager as durable credential storage for agent workflows, enabling secure secret storage, retrieval, and injection into trusted executables.
      7
      MIT
    • A
      license
      A
      quality
      A
      maintenance
      MCP server for secure AI agent access to Bitwarden/Vaultwarden vaults with BYOK, exposing tools to list items, reveal secrets via encrypted Sends, get TOTP codes, and save credentials.
      7
      274 npm
      MIT
    • F
      license
      Not graded
      quality
      C
      maintenance
      MCP server that gives Claude scoped, indirect access to Vaultwarden credentials by listing non-secret metadata and performing logins without exposing plaintext passwords. It brokers actions rather than values, keeping secrets out of the LLM context.
      -