MCP Vaultwarden Server
Enables AI agents and automation scripts to securely interact with self-hosted Vaultwarden instances through the Bitwarden CLI, automatically managing vault sessions and providing tools to read, create, update, and delete secrets programmatically.
README
đ MCP Vaultwarden Server
Un serveur MCP (Model-Context-Protocol) qui expose une interface simple et robuste pour interagir avec une instance Vaultwarden auto-hébergée. Il agit comme un wrapper autour de la CLI officielle de Bitwarden (bw), permettant à des agents IA ou des scripts d'automatisation de gérer des secrets de maniÚre programmatique.
đ€ Pourquoi ce projet ?
Vaultwarden est une alternative populaire et lĂ©gĂšre Ă Bitwarden, mais son automatisation peut ĂȘtre complexe. La CLI officielle (bw) nĂ©cessite une gestion manuelle de la session (login, unlock, etc.), ce qui n'est pas idĂ©al pour une utilisation par des agents IA ou dans des scripts non-interactifs.
Ce MCP résout ce problÚme en :
- Gérant automatiquement la session : Il déverrouille le coffre à la demande et maintient la session active en cache.
- Exposant des outils simples : Fournit des fonctions claires (
get_secret,list_secrets, etc.) via le protocole MCP. - Prévenant les blocages : IntÚgre des timeouts et un systÚme de verrouillage pour gérer les accÚs concurrents de maniÚre fiable.
⚠Fonctionnalités
- Auto-dĂ©verrouillage : Le coffre est dĂ©verrouillĂ© Ă la premiĂšre requĂȘte et la clĂ© de session est mise en cache.
- Gestion des Conflits : Un mĂ©canisme de "lock" empĂȘche les dĂ©verrouillages multiples et concurrents.
- API ComplÚte : Supporte la lecture, la création, la mise à jour et la suppression de secrets.
- ModÚles de Secrets : Fournit des templates JSON pour créer de nouveaux éléments facilement.
- Sécurité : S'appuie sur la CLI
bwofficielle pour toutes les opérations cryptographiques.
â ïž PrĂ©requis
Pour que ce serveur fonctionne, la machine qui l'exécute doit avoir la CLI Bitwarden (bw) installée et accessible dans le PATH.
Suivez les instructions d'installation officielles : Installer la CLI Bitwarden.
đŠ Installation
Méthode 1 : Via NPM (Recommandé)
C'est la méthode la plus simple pour une utilisation avec un client MCP comme gemini-cli.
Configurez votre client pour qu'il lance le serveur via npx :
{
"mcpServers": {
"vaultwarden": {
"command": "npx",
"args": [
"mcp-vaultwarden-server"
],
"env": {
"BITWARDEN_HOST": "https://votre-instance.vaultwarden.com",
"BW_CLIENTID": "user.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"BW_CLIENTSECRET": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"BW_MASTER_PASSWORD": "votre-mot-de-passe-maitre"
}
}
}
}
Méthode 2 : Depuis les Sources (Git)
-
Clonez le dépÎt :
git clone https://github.com/fkom13/mcp-vaultwarden.git cd mcp-vaultwarden -
Installez les dépendances :
npm install -
Configurez et lancez : Créez un fichier
.envĂ partir de.env.exampleet remplissez-le, puis lancez le serveur.cp .env.example .env nano .env node server.js
đ Configuration & SĂ©curitĂ©
La configuration se fait via des variables d'environnement.
BITWARDEN_HOST: L'URL de votre instance Vaultwarden.BW_CLIENTID: Votre Client ID d'API.BW_CLIENTSECRET: Votre Client Secret d'API.BW_MASTER_PASSWORD: Votre mot de passe principal.
AVERTISSEMENT DE SĂCURITĂ :
La gestion du BW_MASTER_PASSWORD est critique.
- Ne jamais commiter votre fichier
.envou vos secrets dans un dépÎt Git. - Pour une utilisation en production, préférez des méthodes de gestion de secrets plus robustes, comme les secrets de votre orchestrateur (Kubernetes Secrets, Docker Secrets) ou un service dédié (HashiCorp Vault).
- Ce MCP est conçu pour ĂȘtre exĂ©cutĂ© dans un environnement contrĂŽlĂ© et sĂ©curisĂ©.
𧰠Référence des Outils (API)
Voici les outils exposés par ce MCP, avec des exemples d'appels.
get_secret
RécupÚre un secret par son nom ou son ID.
{
"tool": "get_secret",
"arguments": {
"name": "API Key - OpenAI"
}
}
list_secrets
Recherche des secrets contenant un terme.
{
"tool": "list_secrets",
"arguments": {
"search_term": "database"
}
}
get_secret_template
Obtient un modÚle JSON pour créer un nouveau secret.
{
"tool": "get_secret_template",
"arguments": {
"type": "login"
}
}
Types valides : login, note, card, identity.
create_secret
Crée un nouvel élément. Utilisez d'abord get_secret_template.
{
"tool": "create_secret",
"arguments": {
"item_json": "{\\\"type\\\":1,\\\"name\\\":\\\"Mon Nouveau Login\\\",\\\"notes\\\":\\\"Ceci est une note secrĂšte.\\\",\\\"favorite\\\":false,\\\"login\\\":{\\\"username\\\":\\\"monuser\\\",\\\"password\\\":\\\"MonP@ssw0rd!\\\",\\\"uris\\\":[{\\\"uri\\\":\\\"https://example.com\\\"}]}}"
}
}
Note : Le JSON doit ĂȘtre une chaĂźne de caractĂšres Ă©chappĂ©e.
update_secret
Met Ă jour un secret existant par son ID.
{
"tool": "update_secret",
"arguments": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"item_json": "{\\\"name\\\":\\\"Ancien Login (Mis Ă jour)\\\"}"
}
}
delete_secret
Supprime un secret par son ID.
{
"tool": "delete_secret",
"arguments": {
"id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
}
}
sync
Force la synchronisation du coffre local avec le serveur distant.
{
"tool": "sync",
"arguments": {}
}
đ€ Contribution
Les contributions sont les bienvenues ! N'hésitez pas à forker le projet et à ouvrir une Pull Request.
đ Licence
MIT
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
E2B
Using MCP to run code via e2b.