Skip to main content
Glama
vielhuber
by vielhuber

build status GitHub Tag Code Style License Last Commit PHP Version Support Packagist Downloads

🔐keepassmcp🔐

keepassmcp es un asistente de PHP y un servidor MCP que lee una base de datos KeePass local: entradas, notas, propiedades personalizadas y contraseñas.

es de solo lectura por diseño: nada en la base de datos se escribe o cambia jamás.

keepassmcp requiere PHP 8.5 o superior y Python 3 con pykeepass. el descifrado en sí se delega a pykeepass porque ninguna biblioteca de PHP lee KDBX 4.x de forma fiable; por lo tanto, se admiten todas las variantes de KDBX, incluida la derivación de claves Argon2.

instalación

composer require vielhuber/keepassmcp
pip install pykeepass

Related MCP server: vault-kv-mcp

configuración

copia .env.example a .env o proporciona las mismas variables a través del entorno del proceso:

KEEPASS_DATABASE=/path/to/passwords.kdbx
KEEPASS_PASSWORD_FILE=/dev/shm/keepass.pass
MCP_TOKEN=

la contraseña maestra se puede dar directamente como KEEPASS_PASSWORD o, preferiblemente, a través de un archivo nombrado en KEEPASS_PASSWORD_FILE. un archivo mantiene la contraseña fuera del entorno del proceso, donde de otro modo sería heredada por cada proceso hijo y permanecería legible en /proc/<pid>/environ. cualquiera que sea el canal utilizado, el valor se elimina del entorno tan pronto como se ha leído, y se entrega al lector a través de stdin para que nunca aparezca en un argumento de proceso.

KEEPASS_PYTHON opcionalmente apunta a un intérprete específico, por ejemplo uno dentro de un virtualenv.

PHP

use vielhuber\keepassmcp\keepassmcp;
$vault = new keepassmcp();
$vault->listEntries();
$vault->searchEntries('api-key');
$vault->getEntry('7f9c…');

servidor MCP

vendor/bin/mcp-server.php

herramientas disponibles:

  • list_entries

  • search_entries

  • get_entry

list_entries y search_entries nunca devuelven una contraseña o un cuerpo de nota; informan títulos, rutas de grupo, nombres de usuario, urls y los indicadores has_password y has_notes. search_entries sí busca dentro de notas y nombres de propiedades personalizadas, por lo que la documentación de formato largo almacenada en una entrada permanece localizable. solo get_entry devuelve los valores confidenciales de una sola entrada.

pruebas

composer install
vendor/bin/phpunit

la suite de pruebas utiliza un lector falso y nunca abre una base de datos real.

Related MCP Connectors

Related MCP Servers

  • F
    license
    A
    quality
    D
    maintenance
    A read-only MCP server that provides tools to read, list, and inspect secrets from HashiCorp Vault's KV secrets engine (versions 1 and 2) using a Vault token.
    5
    -
  • A
    license
    A
    quality
    A
    maintenance
    MCP server for the Nextcloud Passwords app, enabling reading and managing password entries (list, search, create, update, delete) with strong security guarantees.
    14
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Read-only MCP server that connects to multiple IMAP accounts, enabling cross-account email listing, search, and retrieval without modifying mailboxes.
    4
    MIT