Skip to content

Release Notes

A summary of features, improvements, and fixes shipped in each release of Menatic AI.

Initial public release of the Menatic AI platform.

  • Real-time cluster overview with per-node CPU, memory, and GPU metrics
  • Stats cards for active models, MCP servers, notebooks, and batch jobs
  • Activity feed showing recent events across the platform
  • Workload metrics with time-series charts per namespace
  • Local models — deploy and manage Ollama models directly on the cluster; pull new models from the UI
  • Remote models — connect OpenAI, Google Gemini, or any OpenAI-compatible inference provider
  • Per-model MCP server assignment (controls which tools a model can call)
  • GPU resource configuration for the Ollama StatefulSet
  • OpenAI-compatible API (/api/v1/chat/completions, /api/v1/models) for SDK compatibility
  • One-click JupyterLab deployment as Kubernetes Deployments
  • Resource presets: Standard (1 CPU / 2Gi), Medium (2 CPU / 4Gi), Large (4 CPU / 8Gi), and fully custom
  • Optional GPU allocation per notebook
  • Token-secured auto-login URLs — no manual token entry
  • Pre-installed openai, requests, ipywidgets, and papermill libraries
  • Pre-injected environment variables: FTN_BASE_URL, FTN_API_KEY, FTN_PROJECT_ID
  • Example notebook pre-seeded showing OpenAI SDK usage against the platform API
  • Submit any notebook from the shared workspace as an unattended Kubernetes Job via Papermill
  • Parameterised execution — inject key-value pairs into tagged notebook cells at runtime
  • Resubmit jobs with one click
  • Per-job logs streamed in the UI
  • Output notebooks written to shared/batch_outputs/<jobID>/ and browsable from JupyterLab
  • Shared workspace PVC (10Gi RWX) auto-provisioned and mounted across all notebooks in a project
  • Generate a fully deployed MCP server from any OpenAPI specification using LLM-assisted code generation
  • Four-stage async pipeline: code generation → Kaniko image build → container registry push → Kubernetes deployment
  • Real-time generation logs in the UI
  • Per-server health status monitoring
  • Admin Chat integration: create and list MCP servers via natural language
  • Upload PDF and plain-text documents per project
  • Automatic text extraction, chunking (1 800-character chunks, 200-character overlap), and embedding via nomic-embed-text
  • Per-project vector collections stored in Qdrant with cosine similarity search
  • Semantic search API (/api/rag/search) returning scored, ranked chunks
  • Full document lifecycle: upload (multipart or JSON), list, inspect, delete
  • Delete removes both metadata and all associated vectors
  • Usage stats endpoint aggregating document and chunk counts per project
  • Three-level hierarchy: Organization → Department → Project
  • Each project gets a dedicated Kubernetes namespace with enforced ResourceQuota (CPU, memory, storage, GPU)
  • Per-project API tokens for programmatic access from notebooks and external services
  • Per-project MCP server allow-list
  • Cascading deletes across the hierarchy
  • Token consumption tracking on every chat completion (prompt, completion, total tokens)
  • Tracked per model, provider, and project
  • Time-series report with daily/hourly buckets (24h, 7d, 30d, 90d presets)
  • Hierarchical report with org → department → project drilldown
  • Multi-turn AI assistant powered by a configurable platform model
  • Full suite of cluster management tools: get cluster status, list pods/deployments, configure Ollama, pull models, create notebooks and MCP servers
  • MCP protocol (SSE + JSON-RPC) for tool invocation
  • JWT-based authentication with configurable TTL
  • Built-in roles: admin, operator, viewer
  • Custom roles with fine-grained resource:action permissions
  • Project API tokens (no expiry) for service-to-service auth
  • Object-level access control for Jupyter notebooks (jupyter:read_own)