Lab 1: Deploying an AIFabric
This lab guides you through deploying an AIFabric resource in the MX-AI ecosystem. An AIFabric enables multiple AI agents to collaborate with each other and use tools from MCP servers.
By the end of this lab, you will be able to:
- Deploy an AIFabric
- Define agents and their roles
- Connect agents to MCP servers and LLMs
- Interact with the system through a UI component
AIFabric Custom Resource
An AI Fabric can be created by defining its specification in a YAML file. The specification is composed of three main sections:
- MCP: list of MCP servers that are needed by the agents of the AI Fabric. For each MCP server, access rights to the SMO and RIC can be specified (read, write, exec)
- LLMs: list of LLM endpoints in terms of model name, provider, url and API key. The API key is specified as a reference to the Kubernetes Secret containing the key.
- Agents: list of Agents. For each agent, access rights to the SMO and RIC can be specified (read, write, exec). Furthermore, each agents needs to point to one of the specified LLMs and to provide a list of the utilized MCP servers.
The AI Fabric also allows to specify the agents topology. The currently supported topologies are
- supervised:
- One supervisor agent can talk to all the other domain specific agents. The domain specific agents cannot talk among them.
- When this topology is selected, each agent must specify a role. It is required to have one agent with the role supervisor and all the other agents with the role worker.
- custom:
- Each agent can potentially talk to all the other agents.
- Each agent must specify a list of dependencies to other agents. If agent A depends on agent B, then A can send requests to B.
- A supervisor topology can be obtained as a custom topology where the supervisor has dependencies on all the domain specific agents, while the domain specific agents have no dependencies.
The following YAML defines an AIFabric with:
- 1 MCP server exposing observability tools for the resources deployed by the SMO (Networks, Terminals)
- 1 OpenAI LLM (check Prerequisites to configure your API key secret).
- 3 agents in a custom topology
- A Supervisor Agent: creates an execution plan and forwards request to domain specific agents. It depends only on the SMO Agent.
- An SMO Agent: solves network management related tasks.
- An API Agent: allows the SMO Agent to directly send requests to the Network SMO (Athena Base Operator).
Note: each MCP server, LLM or agent is a "named" entity, meaning that it needs you to specify a value for the name field. This name is then used in the YAML file to specify dependencies:
- which LLM an agent is using
- which MCP servers an agent is using
- which agents an agent can call
network-assistant.yaml
apiVersion: orama.trirematics.io/v1
kind: AIFabric
metadata:
name: network-assistant
namespace: trirematics
spec:
mcp:
- name: observability-db
image: hub.bubbleran.com/mx-ai-emerald/mcp/observability-db
smoAccess:
- read
llms:
- name: openai-model
provider: openai
model: gpt-4.1-mini
apiKeySecretRef:
name: openai-api-key
key: OPENAI_API_KEY
topology: custom
agents:
- name: supervisor-agent
role: worker
image: hub.bubbleran.com/mx-ai-emerald/agents/supervisor-v2
llm: openai-model
dependencies:
- smo-agent
icp: a2a
- name: smo-agent
role: worker
image: hub.bubbleran.com/mx-ai-emerald/agents/smo-agent-v2
llm: openai-model
mcpServers:
- observability-db
dependencies:
- api-agent
icp: a2a
- name: api-agent
role: worker
image: hub.bubbleran.com/mx-ai-emerald/agents/hermes
llm: openai-model
smoAccess:
- read
- write
icp: a2a
Deploy the AIFabric
Create the resource with:
brc install aifabric network-assistant.yaml
The Orama Operator will deploy all the components defined in the AIFabric specification and generate their configuration files.
Wait until all pods in the trirematics namespace reach a Running state. This typically takes a few seconds up to one minute, depending on the number of components and dependencies.
⚠️ During startup, some pods may be restarted while waiting for required dependencies to become available. This behavior is expected.
Interacting with the Agents
- Open MX-UI and navigate to the MX-AI / Fabrics section: verify that the AIFabric is running
- Navigate to the MX-AI / Chats section and select the Supervisor Agent.
- Send a prompt in the chat (find some example prompts below).
Note: in the MX-AI / Chats section, select the SMO Agent and try to send the same prompt to it. You will probably get the same response but in less time and with a lower token utilization.
This happens because the Supervisor Agent forwards the task to the only agent it has available, which is the SMO Agent. In fact, the Supervisor Agent is not needed for this AI Fabric, but it was added just for the sake of the example.
The Supervisor Agent becomes fundamental when you connect it to multiple domain specific agents, because it can decompose a complex task in domain-specific subtasks to delegate to different sub-agents.
Example Prompts
After deploying a Network and one or more Terminals, try:
- "What is the TDD configuration of the network?"
- "How many UEs are available?"
- "What is the IMSI of the UE named
ue1?"
The SMO Agent uses a RAG pipeline to answer some of the queries, so you should try to include keywords present in the Network or Terminal configuration YAML files to get the best performance out of it.
You can also start without any deployment, and use the agents to deploy something:
- "Deploy an OAI network called
testnetwith one access network namedan. - "Deploy a UE called
userand attach it to the access networkan.testnet.
What You Learned
- Deploy an AIFabric resource in the MX-AI ecosystem
- Configure agents, their topology and roles
- Configure an LLM in an AIFabric
- Attach MCP servers to agents
- Use MX-AI to monitor the AIFabric and chat with the agents