Aller au contenu

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

{
  "mcpServers": {
    "akko-trino": {
      "url": "https://mcp-federation.akko.local/sse"
    }
  }
}

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

{
  "mcpServers": {
    "akko-openmetadata": {
      "url": "https://mcp-catalog.akko.local/sse"
    }
  }
}

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 Trino
  • https://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.