Serveurs MCP — Intégration agents IA¶
Présentation¶
AKKO fournit des serveurs Model Context Protocol (MCP) qui permettent aux agents IA (Claude, Cursor, VS Code Copilot) d'interagir avec la plateforme de données.
C'est un différenciateur clé : AKKO est la seule plateforme souveraine open-source offrant une intégration MCP avec SQL + fonctions IA + découverte du catalogue de données.
AKKO embarque deux serveurs MCP, tous deux exposés via un Ingress Kubernetes et conteneurisés dans le pipeline des 12 images :
| Serveur | Image | Objectif |
|---|---|---|
akko-mcp-trino |
akko-mcp-trino:2026.03 |
SQL fédéré + fonctions IA SQL |
akko-mcp-openmetadata |
akko-mcp-openmetadata:2026.03 |
Découverte catalogue, lineage, glossaire |
Serveur MCP Trino (8 outils)¶
Permet aux agents IA d'interroger les données et d'appeler des fonctions IA via le langage naturel.
Outils¶
| Outil | Description |
|---|---|
list_catalogs() |
Lister tous les catalogues Trino (iceberg, postgresql, tpch...) |
list_schemas(catalog) |
Lister les schémas d'un catalogue |
list_tables(catalog, schema) |
Lister les tables d'un schéma |
describe_table(catalog, schema, table) |
Décrire les colonnes d'une table |
execute_query(sql) |
Exécuter une requête SQL en lecture seule (max 100 lignes) |
akko_ai_sentiment(text) |
Analyser le sentiment avec AKKO AI (Ollama local) |
akko_ai_summarize(text) |
Résumer un texte avec AKKO AI |
akko_ai_ask(question, context) |
Poser une question avec contexte optionnel |
Sécurité¶
- Mode lecture seule par défaut (rejette INSERT/UPDATE/DELETE/DROP)
- Protection contre l'injection SQL via échappement paramétré
- Fonctionne à l'intérieur du cluster K8s (aucun appel API externe)
- 100 % souverain : requêtes Trino → Service IA → Ollama (tout en local)
Configuration¶
| Variable | Défaut | Description |
|---|---|---|
TRINO_HOST |
akko-trino |
Coordinateur Trino |
TRINO_PORT |
8080 |
Port Trino |
TRINO_USER |
mcp-trino |
Utilisateur Trino |
TRINO_READ_ONLY |
true |
Rejeter les DML/DDL |
TRINO_MAX_ROWS |
100 |
Nombre max de lignes par requête |
Utilisation avec Claude Desktop¶
Ou en local : kubectl port-forward svc/akko-akko-mcp-trino 3000:3000 -n akko
Serveur MCP OpenMetadata¶
Permet aux agents IA de découvrir les jeux de données, d'inspecter le lineage et d'explorer le catalogue AKKO.
Outils¶
| Outil | Description |
|---|---|
search_datasets(query) |
Recherche plein texte dans le catalogue OpenMetadata |
get_table_metadata(fqn) |
Récupérer schéma, tags, propriétaires, description d'une table |
get_lineage(fqn) |
Lineage amont/aval (jusqu'à N sauts) |
list_glossary_terms() |
Énumérer les entrées du glossaire métier |
list_dashboards() |
Dashboards Superset référencés dans OpenMetadata |
Sécurité¶
- Authentification via JWT de service (aucun flux navigateur)
- Lecture seule sur l'API du catalogue (
/api/v1/...) - Déployé dans le même namespace que MCP Trino (
akko)
Configuration¶
| Variable | Défaut | Description |
|---|---|---|
OPENMETADATA_HOST |
openmetadata |
Serveur OpenMetadata |
OPENMETADATA_PORT |
8585 |
Port OpenMetadata |
OPENMETADATA_JWT |
(secret) | JWT de service (stocké dans un Secret K8s) |
Utilisation avec Claude Desktop¶
Ou en local : kubectl port-forward svc/akko-akko-mcp-openmetadata 3001:3000 -n akko
Ingress¶
Les deux serveurs MCP sont joignables via Traefik Ingress (Sprint 14) :
https://mcp-trino.<domaine>→ Serveur MCP Trinohttps://mcp-openmetadata.<domaine>→ Serveur MCP OpenMetadata
Le TLS est terminé par le secret akko-tls partagé. Seules les méthodes GET/POST sont autorisées côté Ingress — les outils en écriture restent protégés par le serveur.
Licence¶
MCP SDK : MIT (Anthropic). Code serveur : Apache 2.0.