Skip to main content
Glama
vielhuber
by vielhuber

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

🔐keepassmcp🔐

keepassmcp — это PHP-хелпер и MCP-сервер, который читает локальную базу данных KeePass: записи, заметки, собственные свойства и пароли.

По замыслу он доступен только для чтения: ничего в базе данных никогда не записывается и не изменяется.

keepassmcp требует PHP 8.5 или новее и Python 3 с pykeepass. Сама расшифровка делегируется pykeepass, поскольку ни одна PHP-библиотека не читает KDBX 4.x надёжно; поэтому поддерживается каждый вариант KDBX, включая вывод ключей через Argon2.

установка

composer require vielhuber/keepassmcp
pip install pykeepass

Related MCP server: vault-kv-mcp

конфигурация

скопируйте .env.example в .env или передайте те же переменные через окружение процесса:

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

мастер-пароль можно задать либо напрямую через KEEPASS_PASSWORD, либо, что предпочтительнее, через файл, указанный в KEEPASS_PASSWORD_FILE. Файл хранит пароль вне окружения процесса, где в противном случае он был бы унаследован каждым дочерним процессом и оставался бы читаемым в /proc/<pid>/environ. Какой бы канал ни использовался, значение удаляется из окружения, как только оно было прочитано, и передаётся читателю через stdin, так что оно никогда не появляется в аргументах процесса.

KEEPASS_PYTHON опционально указывает на конкретный интерпретатор, например, внутри виртуального окружения.

PHP

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

MCP-сервер

vendor/bin/mcp-server.php

доступные инструменты:

  • list_entries

  • search_entries

  • get_entry

list_entries и search_entries никогда не возвращают пароль или текст заметки; они сообщают заголовки, пути групп, имена пользователей, URL-адреса и флаги has_password и has_notes. search_entries действительно ищет внутри заметок и имён собственных свойств, поэтому длинная документация, хранящаяся в записи, остаётся доступной для поиска. Только get_entry возвращает конфиденциальные значения отдельной записи.

тесты

composer install
vendor/bin/phpunit

тестовый набор использует фиктивный читатель и никогда не открывает настоящую базу данных.

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