Skip to content

MCP Servers — AI Agent Integration

Overview

AKKO provides Model Context Protocol (MCP) servers that allow AI agents (Claude, Cursor, VS Code Copilot) to interact with the data platform.

This is a key differentiator: AKKO is the only open-source sovereign platform offering MCP integration with SQL + AI functions + data catalog discovery.

AKKO ships two MCP servers, both exposed via Kubernetes Ingress and containerised as part of the 11-image build pipeline:

Server Image Purpose
akko-mcp-trino akko-mcp-trino:2026.03 Federated SQL + AI SQL UDFs
akko-mcp-openmetadata akko-mcp-openmetadata:2026.03 Catalog discovery, lineage, glossary

MCP Server Trino (8 tools)

Enables AI agents to query data and call AI functions via natural language.

Tools

Tool Description
list_catalogs() List all Trino catalogs (iceberg, postgresql, tpch...)
list_schemas(catalog) List schemas in a catalog
list_tables(catalog, schema) List tables in a schema
describe_table(catalog, schema, table) Describe table columns
execute_query(sql) Execute read-only SQL query (max 100 rows)
akko_ai_sentiment(text) Analyze sentiment using AKKO AI (local Ollama)
akko_ai_summarize(text) Summarize text using AKKO AI
akko_ai_ask(question, context) Ask a question with optional context

Security

  • Read-only mode by default (rejects INSERT/UPDATE/DELETE/DROP)
  • SQL injection protection via parameterized escaping
  • Runs inside the K8s cluster (no external API calls)
  • 100% sovereign: queries Trino → AI Service → Ollama (all local)

Configuration

Variable Default Description
TRINO_HOST akko-trino Trino coordinator
TRINO_PORT 8080 Trino port
TRINO_USER mcp-trino Trino user
TRINO_READ_ONLY true Reject DML/DDL
TRINO_MAX_ROWS 100 Max rows per query

Usage with Claude Desktop

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

Or locally: kubectl port-forward svc/akko-akko-mcp-trino 3000:3000 -n akko

MCP Server OpenMetadata

Enables AI agents to discover datasets, inspect lineage, and explore the AKKO data catalog.

Tools

Tool Description
search_datasets(query) Full-text search across the OpenMetadata catalog
get_table_metadata(fqn) Fetch schema, tags, owners, description for a table
get_lineage(fqn) Upstream/downstream lineage (up to N hops)
list_glossary_terms() Enumerate business glossary entries
list_dashboards() Superset dashboards registered in OpenMetadata

Security

  • Authenticates against OpenMetadata via service JWT (no browser flow)
  • Read-only against the catalog API (/api/v1/...)
  • Runs alongside MCP Trino in the same namespace (akko)

Configuration

Variable Default Description
OPENMETADATA_HOST openmetadata OpenMetadata server
OPENMETADATA_PORT 8585 OpenMetadata port
OPENMETADATA_JWT (secret) Service JWT (stored in a K8s Secret)

Usage with Claude Desktop

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

Or locally: kubectl port-forward svc/akko-akko-mcp-openmetadata 3001:3000 -n akko

Ingress

Both MCP servers are reachable through Traefik Ingress (Sprint 14):

  • https://mcp-trino.<domain> → MCP Server Trino
  • https://mcp-openmetadata.<domain> → MCP Server OpenMetadata

TLS is terminated by the shared akko-tls secret. Only GET/POST are allowed at the Ingress level — all mutation tools remain guarded by the server.

License

MCP SDK: MIT (Anthropic). Server code: Apache 2.0.