Agent IA conversationnel connecté à une base de données voyages et à une API météo en temps réel, via le protocole MCP (Model Context Protocol). Déployé sur cluster k3s, secrets gérés par Vault.
Interface conversationnelle via Claude Desktop ou API Anthropic. Détecte les besoins et délègue au serveur MCP.
Cœur du système. Expose les outils métier via HTTP/SSE. Tourne dans k3s, exposé sur mcp.ouertani.fr.
Base de données voyages sur Synology. Accès read-only via utilisateur dédié mcp_readonly.
OpenWeatherMap — données météo en temps réel pour enrichir les recommandations de l'agent.
Gestion des secrets Kubernetes. Aucun mot de passe en clair dans les manifests ou le code.
Chaque appel d'outil est tracé dans mcp_audit — sessions, interactions, propositions.
| Outil | Paramètres | Source | Droit requis |
|---|---|---|---|
| rechercher_voyage() | destination, budget, personnes | PostgreSQL | SELECT uniquement |
| get_disponibilites() | hotel_id, date_debut, duree | PostgreSQL | SELECT uniquement |
| get_dossier_client() | client_id | PostgreSQL | SELECT uniquement |
| get_meteo() | ville, date | OpenWeatherMap API | API Key (Vault) |
L'agent ne peut physiquement pas modifier ou supprimer de données. GRANT SELECT uniquement.
Seuls 4 outils sont exposés. Aucun outil d'écriture, de suppression ou d'administration.
Toute action sensible demande une confirmation humaine explicite avant exécution.
Aucun credential en dur. Les secrets sont injectés dans les pods k3s depuis HashiCorp Vault.
Image Java 21 containerisée — eclipse-temurin:21-jre, port 8080, transport HTTP/SSE.
db_password et weather_api_key injectés via Vault Agent dans le pod k3s.
Exposition sur mcp.ouertani.fr via Traefik — TLS automatique, reverse proxy.
Configuration MCP pointant vers https://mcp.ouertani.fr — aucun client local requis.