SUNGLASSES
Input firewall for AI agents: scan text and files before they're read. Local, no network by default.
Descripción del creador (original en inglés)
Unofficial MCP server for the Bitwarden Public API and Secrets Manager, self-hosted or cloud.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
BITWARDEN_SELFHOST_API_BASE, BITWARDEN_SELFHOST_IDENTITY_URL, BITWARDEN_SELFHOST_CLIENT_ID, BITWARDEN_SELFHOST_CLIENT_SECRET, BITWARDEN_CLOUD_API_BASE, BITWARDEN_CLOUD_IDENTITY_URL, BITWARDEN_CLOUD_CLIENT_ID, BITWARDEN_CLOUD_CLIENT_SECRET, BWS_ACCESS_TOKEN, BWS_ORG_ID, BWS_API_BASE, BWS_IDENTITY_URL, BITWARDEN_CONFIRM_WRITES, BITWARDEN_READ_ONLY, LOG_LEVEL, BW_MCP_MAX_RESPONSE_BYTESLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json
{
"mcpServers": {
"the-real-bitwarden": {
"command": "npx",
"args": [
"-y",
"the-real-bitwarden-mcp"
],
"env": {
"BITWARDEN_SELFHOST_API_BASE": "your-value",
"BITWARDEN_SELFHOST_IDENTITY_URL": "your-value",
"BITWARDEN_SELFHOST_CLIENT_ID": "your-value",
"BITWARDEN_SELFHOST_CLIENT_SECRET": "your-value",
"BITWARDEN_CLOUD_API_BASE": "your-value",
"BITWARDEN_CLOUD_IDENTITY_URL": "your-value",
"BITWARDEN_CLOUD_CLIENT_ID": "your-value",
"BITWARDEN_CLOUD_CLIENT_SECRET": "your-value",
"BWS_ACCESS_TOKEN": "your-value",
"BWS_ORG_ID": "your-value",
"BWS_API_BASE": "your-value",
"BWS_IDENTITY_URL": "your-value",
"BITWARDEN_CONFIRM_WRITES": "your-value",
"BITWARDEN_READ_ONLY": "your-value",
"LOG_LEVEL": "your-value",
"BW_MCP_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}Ejecuta esto en tu terminal
claude mcp add the-real-bitwarden --env BITWARDEN_SELFHOST_API_BASE=your-value --env BITWARDEN_SELFHOST_IDENTITY_URL=your-value --env BITWARDEN_SELFHOST_CLIENT_ID=your-value --env BITWARDEN_SELFHOST_CLIENT_SECRET=your-value --env BITWARDEN_CLOUD_API_BASE=your-value --env BITWARDEN_CLOUD_IDENTITY_URL=your-value --env BITWARDEN_CLOUD_CLIENT_ID=your-value --env BITWARDEN_CLOUD_CLIENT_SECRET=your-value --env BWS_ACCESS_TOKEN=your-value --env BWS_ORG_ID=your-value --env BWS_API_BASE=your-value --env BWS_IDENTITY_URL=your-value --env BITWARDEN_CONFIRM_WRITES=your-value --env BITWARDEN_READ_ONLY=your-value --env LOG_LEVEL=your-value --env BW_MCP_MAX_RESPONSE_BYTES=your-value -- npx -y the-real-bitwarden-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json
{
"mcpServers": {
"the-real-bitwarden": {
"command": "npx",
"args": [
"-y",
"the-real-bitwarden-mcp"
],
"env": {
"BITWARDEN_SELFHOST_API_BASE": "your-value",
"BITWARDEN_SELFHOST_IDENTITY_URL": "your-value",
"BITWARDEN_SELFHOST_CLIENT_ID": "your-value",
"BITWARDEN_SELFHOST_CLIENT_SECRET": "your-value",
"BITWARDEN_CLOUD_API_BASE": "your-value",
"BITWARDEN_CLOUD_IDENTITY_URL": "your-value",
"BITWARDEN_CLOUD_CLIENT_ID": "your-value",
"BITWARDEN_CLOUD_CLIENT_SECRET": "your-value",
"BWS_ACCESS_TOKEN": "your-value",
"BWS_ORG_ID": "your-value",
"BWS_API_BASE": "your-value",
"BWS_IDENTITY_URL": "your-value",
"BITWARDEN_CONFIRM_WRITES": "your-value",
"BITWARDEN_READ_ONLY": "your-value",
"LOG_LEVEL": "your-value",
"BW_MCP_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"servers": {
"the-real-bitwarden": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"the-real-bitwarden-mcp"
],
"env": {
"BITWARDEN_SELFHOST_API_BASE": "your-value",
"BITWARDEN_SELFHOST_IDENTITY_URL": "your-value",
"BITWARDEN_SELFHOST_CLIENT_ID": "your-value",
"BITWARDEN_SELFHOST_CLIENT_SECRET": "your-value",
"BITWARDEN_CLOUD_API_BASE": "your-value",
"BITWARDEN_CLOUD_IDENTITY_URL": "your-value",
"BITWARDEN_CLOUD_CLIENT_ID": "your-value",
"BITWARDEN_CLOUD_CLIENT_SECRET": "your-value",
"BWS_ACCESS_TOKEN": "your-value",
"BWS_ORG_ID": "your-value",
"BWS_API_BASE": "your-value",
"BWS_IDENTITY_URL": "your-value",
"BITWARDEN_CONFIRM_WRITES": "your-value",
"BITWARDEN_READ_ONLY": "your-value",
"LOG_LEVEL": "your-value",
"BW_MCP_MAX_RESPONSE_BYTES": "your-value"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
BITWARDEN_SELFHOST_API_BASE envBITWARDEN_SELFHOST_IDENTITY_URL envBITWARDEN_SELFHOST_CLIENT_ID envBITWARDEN_CLOUD_API_BASE envBITWARDEN_CLOUD_IDENTITY_URL envBITWARDEN_CLOUD_CLIENT_ID envBWS_ORG_ID envBWS_API_BASE envBWS_IDENTITY_URL envBITWARDEN_CONFIRM_WRITES envBITWARDEN_READ_ONLY envLOG_LEVEL envBW_MCP_MAX_RESPONSE_BYTES envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub mguttmann, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: BITWARDEN_SELFHOST_CLIENT_SECRET, BITWARDEN_CLOUD_CLIENT_SECRET, BWS_ACCESS_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.3.1) llegó al registro hace 12 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.
En la misma categoría: SUNGLASSES, KillerSkills, Draugr
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
Input firewall for AI agents: scan text and files before they're read. Local, no network by default.
Security verdicts for agent skills and MCP servers, from sandbox runs, before you install them.
Security scanning for AI agents: SAST, SCA, secrets, IaC, DAST, ranked by real risk.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
Unofficial. This project is not made by, affiliated with or endorsed
by Bitwarden Inc. "Bitwarden" is a trademark of Bitwarden Inc. See
NOTICE.
A local Model Context Protocol (stdio) server that exposes Bitwarden's Public API (organization management) and the Bitwarden Secrets Manager (projects + secrets via the official SDK) as typed tools, read and write.
Intended use: an admin-facing MCP that lets an AI assistant manage members, groups, collections, policies, license seats, and Secrets-Manager data from a single host. Designed for a self-hosted Bitwarden instance, the official Bitwarden Cloud, or both.
Quick links: Architecture · Contributing · Security policy · Releasing · Changelog · Issues
@bitwarden/sdk-napi (Zero-Knowledge crypto; cleartext names and values returned directly).bw_member_list, bw_license_subscription_get, bws_secret_get_value, ...) plus the bw_raw_request escape hatch. With self-host and cloud configured the server lists 54 tools, with or without Secrets Manager; names and required parameters are pinned by tests/tool-contract.test.ts, and parameters are only ever added (optional), never removed or renamed.bw_ _ _raw tools exists (npm run generate), but the shipped spec (specs/public-api.spec.json) is empty, so 0 generated tools are registered. See Generated raw tools.confirm: "YES". Default is on. The model sets confirm itself, so this is friction, not a security boundary (see Safety model).bw_member_list, bw_collection_list, bw_group_list, bw_event_query) return slim projections by default to stay within LLM tool-call token budgets. See List-response shape for the opt-in to full nested responses.Bitwarden's APIs expose different surfaces with different auth and crypto requirements. This MCP wraps everything that's _cleanly_ reachable. Some operations require Bitwarden's encryption layer (so we use the official SDK); others have no public API at all and need the web vault.
Uses the Organization Public-API key (organization. / client_credentials / scope api.organization).
PUT /public/organization/subscription endpoint: the tools take a delta, send current + delta as the new total and read it backUses the Machine-Account access token (BWS_ACCESS_TOKEN), exchanged through @bitwarden/sdk-napi which handles Bitwarden's Zero-Knowledge encryption.
These are not available to the credentials this server uses (organization API key, machine account access token). The SDK and the bws CLI don't offer them either.
accessSecretsManager; bw_member_grant_sm / bw_member_revoke_sm stay registered but always return an error.bw_collection_update rejects a non-empty users list; give members direct access via bw_member_update collections), group accessAll (removed upstream), and filtering events by IP address.For all of these: use the web vault at https:// /#/sm/{orgId}/.
engines.node >=22.12; CI tests 22, 24 and 26).client_id / client_secret) for at least one instance (self-host or cloud).This MCP works on any platform with Node.js 22.12 or newer for all Public API features (members, groups, collections, policies, events, license adjustments).
The Secrets Manager features (bws_project_*, bws_secret_*) depend on @bitwarden/sdk-napi (1.0.0, an optional dependency, not MIT licensed), which ships native Rust binaries as optional per-platform packages. The lockfile contains @bitwarden/sdk-napi-darwin-arm64, -darwin-x64, -linux-x64-gnu and -win32-x64-msvc:
| OS / Arch | SDK binary | SM tools |
|---|---|---|
| macOS Apple Silicon | available | available |
| macOS Intel | available | available |
| Linux x86_64 (glibc) | available | available |
| Windows x86_64 | available | available |
| Linux ARM64 (Raspberry Pi, AWS Graviton) | not available | stubbed |
| Linux Musl / Alpine | not available | stubbed |
| Other | not available | stubbed |
On unsupported platforms the MCP still starts and all Public-API tools work normally. The bws_project_* and bws_secret_* tools stay registered and return "Secrets Manager SDK not available on this platform" at call time; the load error is logged once at startup as a warn line.
If Bitwarden releases an SDK version with binaries for a new platform, updating the dependency and the lockfile picks it up; no code change is needed.
The package is the-real-bitwarden-mcp on npm, published from GitHub Actions with provenance. Its bin is bitwarden-mcp. Configuration is the same for every path (see Configuration).
npx fetches and starts the package; pin a version so an update is a decision, not a side effect of a restart:
npx -y the-real-bitwarden-mcp@<version>
Or install it once and start the bin:
npm install -g the-real-bitwarden-mcp@<version>
bitwarden-mcp
See Connector wiring for client configs.
Install a pinned version with a lockfile and start it with node, without npx and without install scripts. Once, in an empty directory:
npm init -y
npm install --save-exact the-real-bitwarden-mcp@ # writes package-lock.json
Commit or keep package.json and package-lock.json. On every deploy:
npm ci --omit=dev --ignore-scripts
node --env-file=/path/to/.env node_modules/the-real-bitwarden-mcp/dist/index.js
The package has no install script and no runtime dependency in devDependencies, so --omit=dev --ignore-scripts is a complete install. The Secrets Manager SDK binary is an optional per-platform package that npm selects by OS and CPU; it needs no script either.
git clone https://github.com/mguttmann/the-real-bitwarden-mcp.git
cd the-real-bitwarden-mcp npm ci # also pulls the platform-specific SDK binary cp .env.example .env
npm run build node --env-file=.env dist/index.js
The SDK binary is an optional dependency: npm ci succeeds even on unsupported platforms (the binary is simply not present, and SM tools return a clear "not available" message).
npm run refresh-spec pulls the Swagger document of your self-host instance into specs/public-api.spec.json, and npm run generate builds one bw_ _ _raw tool per operation from it. The shipped spec is empty ({"paths": {}}), so a normal build registers 0 generated tools. Generating tools changes the tool list; if the server runs behind a gateway that pins the tool surface, treat that as a deploy change.
All values are environment variables. They come from the process environment (for example node --env-file=.env, or the env block of an MCP client config). When the server is not started with --env-file (or --env-file-if-exists), a .env file in the process working directory is read as well and only fills variables that are not already set; with --env-file it is ignored. At least one instance must be fully configured, otherwise the server refuses to start. A partially configured instance (some but not all four variables) is also fatal, and so is an API base or identity URL that is not an http:// or https:// URL or that has a query or fragment (the error names the variable). Invalid values of the optional numeric and boolean variables fall back to the default.
| Variable | Required when | Purpose |
|---|
Solo se muestra el principio; lee el resto en el repo