keepassmcp
🔐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 pykeepassRelated 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_entriessearch_entriesget_entry
list_entries и search_entries никогда не возвращают пароль или текст заметки; они сообщают заголовки, пути групп, имена пользователей, URL-адреса и флаги has_password и has_notes. search_entries действительно ищет внутри заметок и имён собственных свойств, поэтому длинная документация, хранящаяся в записи, остаётся доступной для поиска. Только get_entry возвращает конфиденциальные значения отдельной записи.
тесты
composer install
vendor/bin/phpunitтестовый набор использует фиктивный читатель и никогда не открывает настоящую базу данных.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseBqualityDmaintenanceA secure, read-only MCP server for browsing and searching files in a specified directory with path traversal protection and .gitignore support.3MIT
- FlicenseAqualityCmaintenanceA 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
- AlicenseNot gradedqualityCmaintenanceMCP server for the Nextcloud Passwords app, enabling reading and managing password entries (list, search, create, update, delete) with strong security guarantees.MIT
- AlicenseAqualityBmaintenanceRead-only MCP server that connects to multiple IMAP accounts, enabling cross-account email listing, search, and retrieval without modifying mailboxes.4MIT
Related MCP Connectors
2,000+ MCP servers read at source level. Know what one does before you connect. Free, no key.
Read-only MCP server for ClassQuill, a tutoring-business-management platform.
Federated commerce search across independent WooCommerce merchants. Keyless, read-only MCP server.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/vielhuber/keepassmcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server