mcp-server

作者 bitwarden已验证

MCP server for interaction with Bitwarden.

235
Stars
31
Forks
TypeScript
语言
2026/8/23
添加时间

⚠️ 第三方软件声明

本 Skill 为第三方开源软件,独立托管于 GitHub。SkillTip 仅为信息目录,不控制或维护底层仓库。所显示的安全检查为自动化且范围有限,安装前请自行审查源码。

阅读服务条款

安装

添加到你的 Claude Code skills 目录:

# Add to your Claude Code skills
git clone https://github.com/bitwarden/mcp-server

快速入门

使用 mcp-server 等 Skills 的指南。

安全报告

已验证

上次扫描:—

{
  "status": "PASSED",
  "issues": []
}

README.md

Bitwarden MCP Server

A Model Context Protocol (MCP) server that provides AI assistants with secure access to Bitwarden password manager functionality through two complementary interfaces:

  • Vault Management and CLI tools via Bitwarden CLI
  • Organization Administration via Bitwarden Public API

npm version

[!WARNING] This MCP server is designed exclusively for local use and must never be hosted publicly or exposed over a network.

When you grant an AI assistant access to this server, you are providing the ability to:

  • Read vault items including passwords, secure notes, and sensitive data
  • Create, modify, and delete vault items
  • Access organization secrets and administrative functions
  • Expose credentials and vault contents through AI responses

You are responsible for:

  • Ensuring this server runs only on your local machine or self-hosted environment
  • Understanding what data you're exposing to your AI assistant
  • Being aware that AI responses may inadvertently reveal sensitive information
  • Using appropriate AI providers (consider self-hosted or local LLMs for sensitive data)
  • Never sharing configuration files containing session tokens or API credentials
  • Monitoring logs for unexpected activity

Never:

  • Deploy this server to cloud hosting, containers, or public servers
  • Share your MCP configuration files with others
  • Use this server over untrusted networks
  • Grant access to untrusted AI clients or services

Use this tool responsibly and at your own risk.

What is MCP?

The Model Context Protocol is an open standard that enables AI assistants to securely interact with local tools and services. This server exposes Bitwarden's vault management and organization administration capabilities to MCP-compatible AI clients like Claude Desktop.

Features

Vault Management and CLI tools (CLI)

  • Session Management: Unlock vault via native OS password dialog, lock vault, sync with server, check status
  • Item Operations: List, retrieve, create, edit, delete, restore vault items
    • Supports logins, secure notes, cards, and identities
    • Advanced filtering by URL, folder, collection, or trash status
  • Folder Management: Organize items with folders
  • Attachments: Upload, download, and manage file attachments
  • Password Tools: Generate secure passwords and retrieve TOTP codes
  • Bitwarden Send: Create and manage secure ephemeral shares (text/file)
  • Organization Items: Move items to organizations, manage collections
  • Device Approval: Approve or deny new device login requests
  • Member Management: Confirm organization member registrations

Organization Administration (API)

  • Collections: Create, update, delete, and manage collection permissions
  • Members: Invite, update roles, remove members, manage group assignments
  • Groups: Create role-based access groups and assign members
  • Policies: Configure and enforce organization security policies
  • Audit Logs: Retrieve organization event history
  • Subscriptions: View and update organization billing information
  • Bulk Import: Import users and groups from external systems

Quick Start

Prerequisites

For Vault Management and CLI tools:

  • Bitwarden CLI installed (ex. npm install -g @bitwarden/cli)
  • Node.js 22+
  • Bitwarden account

For Organization Administration:

  • Node.js 22+
  • Bitwarden Teams or Enterprise organization
  • Organization owner or admin permissions

Configuration

[!WARNING] The configuration files below will contain sensitive credentials that grant access to your Bitwarden vault. Keep these files secure, never commit them to version control, and never share them with others. Ensure your MCP client (e.g., Claude Desktop) is configured to run the server locally only.

Option 1: Claude Desktop (Recommended)

Add to your Claude Desktop configuration file:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "bitwarden": {
      "command": "npx",
      "args": ["-y", "@bitwarden/mcp-server"],
      "env": {
        "BW_SESSION": "your-session-token-here"
      }
    }
  }
}

Get your session token:

bw login
bw unlock --raw

To enable organization administration features, add API credentials:

{
  "mcpServers": {
    "bitwarden": {
      "command": "npx",
      "args": ["-y", "@bitwarden/mcp-server"],
      "env": {
        "BW_SESSION": "your-session-token-here",
        "BW_CLIENT_ID": "organization.your-client-id",
        "BW_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Get organization API credentials:

  1. Go to your Bitwarden Web Vault
  2. Navigate to your organization → Settings → My Organization
  3. Scroll to "API Key" section
  4. Click "View API Key" and authenticate

Option 2: Locally Built and Referenced

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

npm install
npm run build

Then reference the built dist/index.js file from Claude desktop:

{
  "mcpServers": {
    "bitwarden": {
      "command": "node",
      "args": ["local/path/to/mcp-server/dist/index.js"],
      "env": {
        "BW_SESSION": "your-session-token-here"
      }
    }
  }
}

Option 3: Other MCP Clients

Any MCP-compatible client can connect to this server via stdio transport. Refer to your client's documentation for configuration details.

Environment Variables

VariableRequired ForDescriptionDefault
BW_SESSIONCLI operationsSession token from bw unlock --raw-
BW_CLIENT_IDAPI operationsOrganization API client ID-
BW_CLIENT_SECRETAPI operationsOrganization API client secret-
BW_API_BASE_URLAPI operationsBitwarden API base URLhttps://api.bitwarden.com
BW_IDENTITY_URLAPI operationsOAuth2 identity server URLhttps://identity.bitwarden.com
BW_ALLOWED_DIRECTORIESFile operationsComma-separated list of allowed file directories. Required for file-based tools (e.g. create_file_send, create_attachment); when unset, all file operations are rejected.-
BW_CLI_PATHCLI operationsAbsolute path to the bw executable or its JS entry point. Only needed when the CLI cannot be auto-located on PATH (e.g. it is not on PATH, or a non-standard global install layout).auto-resolved from PATH

Note: For self-hosted Bitwarden instances, set BW_API_BASE_URL and BW_IDENTITY_URL to your server URLs.

Note: BW_CLIENT_ID and BW_CLIENT_SECRET are the environment variable names read by the MCP server. If you are using bw login --apikey in a startup script, the Bitwarden CLI reads BW_CLIENTID and BW_CLIENTSECRET (no underscores between words) for the same credentials. See the Bitwarden CLI documentation.

Usage Examples

Once configured, you can interact with Bitwarden through your AI assistant:

Vault:

  • "List all my login items"
  • "Get my credentials for github"
  • "Create a new secure note for my home WiFi information"
  • "Generate a 32-character password and save it for apple.com"
  • "Create a Send link for this file"

Organization Administration:

  • "List all members in my organization"
  • "Invite user@example.com as an organization admin"
  • "Create a 'Development Team' collection"
  • "Show me the last 100 audit log events"
  • "What security policies are enabled?"

Available Tools

Vault Management and CLI Tools

  • Session: lock, unlock, sync, status
  • Retrieval: list, get
  • Items: create_item, edit_item, delete, restore
  • Folders: create_folder, edit_folder
  • Attachments: create_attachment
  • Organizations: create_org_collection, edit_org_collection, edit_item_collections, move, confirm
  • Device Approval: device_approval_list, device_approval_approve, device_approval_approve_all, device_approval_deny, device_approval_deny_all
  • Send: create_text_send, create_file_send, list_send, get_send, edit_send, delete_send, remove_send_password
  • Utilities: generate

Organization Administration

  • Collections: list_org_collections, get_org_collection, update_org_collection, delete_org_collection
  • Members: list_org_members, get_org_member, invite_org_member, update_org_member, remove_org_member, reinvite_org_member, get_org_member_groups, update_org_member_groups
  • Groups: list_org_groups, get_org_group, create_org_group, update_org_group, delete_org_group, get_org_group_members, update_org_group_members
  • Policies: list_org_policies, get_org_policy, update_org_policy
  • Events: get_org_events
  • Subscriptions: get_org_subscription, update_org_subscription
  • Import: import_org_users_and_groups

Development

Setup

git clone https://github.com/bitwarden/mcp-server.git
cd mcp-server
npm install

Commands

npm run build        # Compile TypeScript
npm test             # Run test suite
npm run lint         # Check code style
npm run lint:fix     # Auto-fix linting issues
npm run inspect      # Test with MCP Inspector

Testing with MCP Inspector

The MCP Inspector provides an interactive testing environment:

npm run build
npm run inspect

This opens a web interface where you can:

  • Browse available tools
  • Test tool execution with custom inputs
  • View request/response payloads
  • Debug tool behavior

Best Practices

  • Store credentials securely (use system keychains or environment managers)
  • Rotate session tokens regularly
  • Review audit logs periodically for suspicious activity
  • Never commit credentials to version control

Testing

The project includes Jest unit tests covering validation, CLI commands, and core functionality.

# Run all tests
npm test

# Run tests in watch mode
npm run test:watch

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

# Run specific test file
npm test validation.spec.ts

# Run tests matching a pattern
npm test -- --testNamePattern="validation"

Debugging

Enable debug logging by setting environment variables:

export DEBUG=bitwarden:*
export NODE_ENV=development

Security Considerations

  • Never commit sensitive credentials (BW_SESSION, BW_CLIENT_ID, BW_CLIENT_SECRET)
  • Use environment variables for all sensitive configuration
  • Validate all inputs using Zod schemas (already implemented)
  • Test with non-production data when possible
  • Monitor API usage through your organization's audit logs
  • Understand the security and privacy impacts of exposing sensitive vault data to LLM and AI tools. Using a self-hosted or local LLM may be appropriate, for example.

Troubleshooting

CLI Issues

  • Vault is locked

    • Ask your AI assistant to run the unlock tool — the MCP server will open a native OS password dialog for you to enter your master password. The password is never sent through the MCP protocol or seen by the LLM.

    • On headless machines (no DISPLAY on Linux, no GUI session), the unlock tool will refuse to run. Use the manual fallback:

      bw unlock --raw
      # Copy the token and update BW_SESSION in your MCP config
      
  • Session key is invalid

    • Session tokens expire after inactivity
    • Ask your AI assistant to run the unlock tool to refresh the session in-place, or run bw unlock --raw manually and update your MCP configuration with the new token

Unlocking the vault interactively

The unlock tool lets your AI assistant prompt you for your master password without that password ever crossing the MCP channel.

  • The tool takes no input parameters. It cannot be invoked with a password argument.
  • When called, the server launches a native OS password dialog:
    • macOS: osascript secure input dialog
    • Linux: zenity --password (falls back to kdialog --password)
    • Windows: PowerShell WinForms password dialog (masked input)
  • The password is passed to bw unlock --raw via the --passwordenv flag with a randomized one-shot environment variable. It never appears in process arguments, in the MCP protocol, or in the LLM's context.
  • The LLM only ever sees "Vault unlocked successfully." or a sanitized failure message (e.g. "Invalid master password.", "Unlock cancelled.").
  • If you are in a non-interactive environment, the tool will refuse to run and return a fixed message directing you to the bw unlock --raw manual flow.

API Issues

  • Invalid client credentials

    • Verify BW_CLIENT_ID starts with organization.
    • Ensure BW_CLIENT_SECRET is correct
    • Check that API keys haven't been rotated in the Admin Console
  • 403 Forbidden

    • Verify you have organization owner or admin permissions
    • Some operations require specific roles (e.g., managing members)

Contributing

We welcome contributions! Please see CONTRIBUTING.md for guidelines.

常见问题

What is mcp-server?

mcp-server is an open-source mcp servers skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by bitwarden. MCP server for interaction with Bitwarden. It has 235 GitHub stars.

Is mcp-server safe to use?

Yes. mcp-server passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.

How do I install mcp-server?

Clone the repository with "git clone https://github.com/bitwarden/mcp-server" and add it to your Claude Code skills directory (see the Installation section above).

What programming language is mcp-server written in?

mcp-server is primarily written in TypeScript. It is open-source under bitwarden on GitHub, so you can review or fork the full source.

Are there alternatives to mcp-server?

Yes. SkillsLLM lists many other MCP Servers skills you can browse and compare side by side. Open the MCP Servers category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh mcp-server against similar tools.

评论 (0)

暂无评论,成为第一个分享想法的人!

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

Scrapling

by D4Vinci

🕷️ An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl!

75,9137,581Python
MCP 服务器
查看详情

TrendRadar

by sansan0

⭐AI-driven public opinion & trend monitor with multi-platform aggregation, RSS, and smart alerts.🎯 告别信息过载,你的 AI 舆情监控助手与热点筛选工具!聚合多平台热点 + RSS 订阅,支持关键词精准筛选。AI 智能筛选新闻 + AI 翻译 + AI 分析简报直推手机,也支持接入 MCP 架构,赋能 AI 自然语言对话分析、情感洞察与趋势预测等。支持 Docker ,数据本地/云端自持。集成微信/飞书/钉钉/Telegram/邮件/ntfy/bark/slack 等渠道智能推送。

61,65224,883Python
MCP 服务器
查看详情

context7

by upstash

Context7 Platform -- Up-to-date code documentation for LLMs and AI code editors

61,0602,938TypeScript
MCP 服务器
查看详情

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

39,9393,219C
MCP 服务器
查看详情

开发者还喜欢

基于喜欢此 Skill 的开发者投票和收藏

ECC

by affaan-m

10

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

242,21936,702JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情
15

An agentic skills framework & software development methodology that works.

234,96620,863Shell
AI 智能体ai-agentsbrainstorming
查看详情

hermes-agent

by NousResearch

10

The agent that grows with you

234,43747,175Python
AI 智能体ai-agentsagent-orchestration
查看详情

n8n

by n8n-io

12

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

201,88160,308TypeScript
MCP 服务器apisai-tools
查看详情

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

185,94028,768JavaScript
AI 智能体ai-agentsanthropicclaude-code
查看详情

cc-switch

by farion1231

3

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

128,8688,826Rust
AI 智能体claude-codeai-tools
查看详情