项目简介

Bitwarden MCP 服务器旨在通过 Model Context Protocol (MCP) 为人工智能应用提供一个安全的桥梁,使其能够访问和管理用户的Bitwarden密码管理器金库。它将Bitwarden CLI(命令行界面)的功能封装为一系列可供AI模型调用的工具,支持密码的生成、金库条目的列表、获取、创建、编辑、删除以及金库的锁定、解锁和同步等操作。

主要功能点

  • 金库管理: 提供锁定、解锁、同步Bitwarden金库的能力。
  • 条目操作: 支持列出、获取、创建、编辑和删除金库中的密码条目、安全笔记、身份信息、卡片等。
  • 文件夹与组织管理: 能够列出、创建、编辑和删除文件夹及组织集合。
  • 密码生成: 支持生成随机密码或安全短语,并可自定义长度、包含字符类型或词数。
  • 安全通信: 通过标准化的MCP协议与AI客户端进行安全通信,所有对Bitwarden CLI的调用都经过严格的输入验证和安全加固,以防止潜在的命令注入攻击。

安装步骤

  1. 前提条件: 确保您的系统已安装 Node.js 22 或更高版本。
  2. 安装 Bitwarden CLI: 如果尚未安装,请全局安装Bitwarden命令行工具:
    npm install -g @bitwarden/cli
  3. 登录 Bitwarden: 使用您的Bitwarden账户登录:
    bw login
  4. 获取会话令牌: 解锁金库并获取会话令牌,将其设置为环境变量。这个令牌在MCP服务器运行时必须存在:
    export BW_SESSION=$(bw unlock --raw)
    请注意:在生产环境或共享环境中,请勿将'BW_SESSION'令牌硬编码或提交到版本控制中。建议使用更安全的秘密管理方式(如环境变量管理工具)。

服务器配置

MCP服务器通常由MCP客户端(即您的AI应用)启动并与之通信。以下是您的AI应用配置中如何启动Bitwarden MCP服务器的示例。您需要将以下JSON格式的配置添加到AI应用的MCP服务器配置部分:

{
  "mcpServers": {
    "bitwarden": {
      "command": "npx",
      "args": ["-y", "@bitwarden/mcp-server"]
    }
  }
}
  • '"bitwarden"': 这是您为该MCP服务器定义的唯一名称。AI客户端将通过此名称来引用和连接到Bitwarden MCP服务器。
  • '"command": "npx"': 指定了启动MCP服务器所执行的程序。'npx'是一个Node.js工具,用于执行Node.js包,而无需预先全局安装它们。
  • '"args": ["-y", "@bitwarden/mcp-server"]': 这是传递给'command'(即'npx')的参数列表。
    • '-y': 自动确认安装任何缺失的包,使启动过程无需人工干预。
    • '"@bitwarden/mcp-server"': 这是要由'npx'运行的Bitwarden MCP服务器包的名称。

您的AI应用会根据此配置自动启动Bitwarden MCP服务器,并建立通信连接(默认通过标准输入/输出 Stdio)。

基本使用方法

一旦您的AI应用配置并成功启动了Bitwarden MCP服务器,AI模型就可以通过调用其暴露的工具来与Bitwarden金库进行交互。这些工具的调用将作为JSON-RPC请求发送到MCP服务器,服务器会执行相应的Bitwarden CLI命令并将结果返回给AI模型。

示例:

  • 列出金库项目: AI模型可以调用名为 'list' 的工具,并提供参数 '{"type": "items"}' 来获取金库中所有项目的列表。
  • 生成安全密码: AI模型可以调用名为 'generate' 的工具,并提供参数 '{"length": 16, "uppercase": true, "number": true}' 来生成一个包含16个字符、大小写字母和数字的强密码。
  • 创建新的登录条目: AI模型可以调用名为 'create' 的工具,并提供详细参数如 '{"objectType": "item", "type": 1, "name": "New Website Login", "login": {"username": "user", "password": "generated_password"}}' 来创建一个新的登录类型项目。
  • 获取特定项目: AI模型可以调用名为 'get' 的工具,并提供参数如 '{"object": "item", "id": "your-item-id"}' 来检索金库中的特定条目。

这些工具的调用都将通过MCP客户端以标准化的JSON-RPC请求形式发送到服务器,服务器执行Bitwarden CLI命令并将结果以结构化的方式返回给AI模型,从而实现智能化的密码管理。

信息

分类

AI与计算