Skip to content

Introduction

Menatic AI is designed for teams that want to run AI workloads on their own infrastructure without sending data to third-party cloud services.

The platform uses two Kubernetes namespaces:

NamespacePurpose
ftn-aiPlatform services: backend API, frontend, ingress
appsUser workloads: notebooks, MCP servers, Ollama

Jupyter Notebooks Each notebook is deployed as a Kubernetes Deployment with a single replica. Notebooks are accessible via a per-instance token URL proxied through Traefik ingress.

MCP Servers Model Context Protocol servers are also Deployment resources. They expose a JSON-RPC 2.0 Streamable HTTP endpoint and can be connected to AI models to provide tool use capabilities.

Ollama (Local Inference) Ollama runs as a StatefulSet in the apps namespace and manages locally downloaded model weights. Supports GPU acceleration via node selectors and resource limits.

Remote Models Remote inference providers (OpenAI-compatible APIs) are registered in the platform database and proxied by the backend. No weights are stored locally.

The platform uses JWT-based authentication. All API requests require a bearer token obtained from the /api/auth/login endpoint. The frontend stores this token in memory and attaches it to every request.

Permissions are organized into resources (e.g., jupyter, mcp, models) and actions (e.g., read, write, delete, read_own). The read_own action restricts a user to only see objects they own — useful for multi-tenant deployments.

See Roles & Permissions for details.

LayerTechnology
FrontendNext.js 15, Tailwind CSS, shadcn/ui, next-intl (i18n)
BackendGo, standard library HTTP, Kubernetes client-go
InferenceOllama, OpenAI-compatible remote APIs
InfrastructureKubernetes, Traefik, cert-manager, metrics-server
NotebooksJupyterLab (single-user)
ProtocolMCP Streamable HTTP Transport (JSON-RPC 2.0)