MCP Vaultwarden Connector
Provides a bridge for scripts and AI agents to interact with a self-hosted Vaultwarden instance.
đ 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
Server Terkait
Scout Monitoring MCP
sponsorPut performance and error data directly in the hands of your AI assistant.
Alpha Vantage MCP Server
sponsorAccess financial market data: realtime & historical stock, ETF, options, forex, crypto, commodities, fundamentals, technical indicators, & more
PolyMarket
Access prediction market data from the PolyMarket API.
Raygun
Interact with your crash reporting and real using monitoring data on your Raygun account
MCP Montano Server
A general-purpose server project built with TypeScript.
mcp.shop
A web shop built with MCP, WorkOS AuthKit, and Next.js.
MCP HAR Server
Parses HAR (HTTP Archive) files and displays requests in a simplified format for AI assistants.
SSH Server MCP
An MCP server that provides SSH-based remote management tools, acting as proxy
UIAutomator2 MCP Server
Automate and control Android devices using the UIAutomator2 framework.
Flowise
Integrate with the Flowise API to create predictions and manage chatflows and assistants.
Flutter MCP
A real-time MCP server providing Flutter/Dart documentation and pub.dev package information to AI assistants, supporting over 50,000 packages on demand.
BlenderMCP
Integrates with Blender to enable text and image-based 3D model editing using the Model Context Protocol.