May 19, 2025 in architecture, mcp, open-source by Simon Cariou, Alban Capitant and Dimitri Tombroff6 minutes
Fred is now capable of serving and consuming components over the Model Context Protocol (MCP). Discover how this unlocks new architectures and makes Fred a live testbed for building interoperable AI agents.
The Fred project has always aimed to stay ahead of the curve in agentic design — and this week, we’ve added another key building block to our architecture: support for the Model Context Protocol (MCP).
In this post, we’ll walk through:
The Model Context Protocol (MCP) is a standard for communication between independent agentic services. It allows different components — like retrieval systems, planners, tools, or reasoning engines — to talk to each other over HTTP or other transports, while respecting a common contract (message-passing, streaming, etc.).
In simpler terms: MCP lets you wire up agent brains and tools like LEGO bricks, even across different codebases or servers.
To better understand how this works, let’s look at a first diagram showing a basic interaction between the Fred backend, knowledge-flow, and a Kubernetes tool — all communicating through MCP.
The diagram below illustrates a typical flow where the Fred agentic backend connects to multiple MCP-enabled services. The React UI communicates with the Fred backend via WebSocket or REST, and Fred, in turn, reaches out to components like knowledge-flow and a Kubernetes MCP server using MCP.
flowchart TD
%% Section: User Interface
subgraph UI [🧑💻 User Interface]
ChatUI["💬 Chat UI"]
KnowledgeUI["📚 Knowledge Flow UI"]
end
%% Section: Fred Agentic Backend
subgraph FredBackend [🧠 Fred Agentic Backend]
subgraph LangGraph [🤖 LangGraph Agents]
subgraph Coordinator [🥭 Coordinator Agent]
LeaderAgent["🥭 Leader Agent"]
end
subgraph Specialized [🎯 Specialized Agents]
DocumentExpert["📄 Document Expert"]
K8SExpert["📦 K8s Expert"]
GeneralistExpert["🧠 Generalist Expert"]
end
Coordinator --> Specialized
end
end
%% Section: Knowledge Flow (Internal)
subgraph KnowledgeFlowMCP ["📚 Knowledge Flow MCP Server"]
DocAPI["🗂️ Vector & Document API"]
end
%% Section: External Infrastructure (External MCP)
subgraph ExternalMCP [☁️ External MCP Server]
K8Server["🔧 K8s Cluster"]
end
%% Interactions
ChatUI -->|"🔌 multi-agent"| LeaderAgent
ChatUI -->|"🔌 mono-agent"| DocumentExpert
ChatUI -->|"🔌 mono-agent"| K8SExpert
ChatUI -->|"🔌 mono-agent"| GeneralistExpert
KnowledgeUI -->|"🔍 Ingestion"| DocAPI
DocumentExpert -->|"🔍 Vector Search (MCP)"| KnowledgeFlowMCP
K8SExpert -->|"🛁 Analysis Request (MCP)"| ExternalMCP
%% Styles
style ChatUI fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style KnowledgeUI fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style LeaderAgent fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style DocumentExpert fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style K8SExpert fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style GeneralistExpert fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style DocAPI fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style KnowledgeFlowMCP font-size:14px, fill:#c6f6d5,stroke:#333,stroke-width:1.5px
style ExternalMCP fill:#fdebc8,stroke:#333,stroke-width:1.5px
This layout showcases the decoupling of logic: the core agents can talk to external tools over MCP, enabling scalability and composability.
This week, we made two big strides:
knowledge-flow-app now exposes an MCP server endpoint, making its document and vector APIs accessible to any external MCP client (like agents).Dominic), for example, now queries knowledge-flow via MCP — cleanly separating agent logic from data logic.This brings not only simplicity but also genericity as explained in the following blog:
“.. an AI agent could, for instance, call a vector_search tool via MCP to find related information in a vector DB, achieving retrieval-augmented generation (RAG) in a standardized way.”
Another key strength of MCP is how it enables multi-agent delegation: one orchestrator agent (like LeaderAgent) can route tasks to various specialized agents, each connected to a different backend or domain.
In this diagram, LeaderAgent delegates work to a set of registered MCP-aware expert agents: Dominic (for document tasks), Explainer (for K8s analysis), and FinanceBot (for projections). Each of these experts communicates with its own backend via MCP.
flowchart TD
subgraph FredBackend [Fred Agentic Backend]
LeaderAgent[Leader Agent]
end
subgraph AgentRegistry [Registered Agent Components]
Dominic[Dominic - Document Expert]
Explainer[Explainer - K8s Expert]
FinanceBot[FinanceBot - Cashflow Expert]
end
subgraph MCPServers [External MCP Servers]
KnowledgeFlow[KnowledgeFlow MCP Server]
K8sServer[K8s MCP Server]
FinanceService[Finance MCP Endpoint]
end
LeaderAgent -->|MCP call: search documents| Dominic
LeaderAgent -->|MCP call: analyze K8s| Explainer
LeaderAgent -->|MCP call: cashflow prediction| FinanceBot
Dominic -->|Uses| KnowledgeFlow
Explainer -->|Uses| K8sServer
FinanceBot -->|Uses| FinanceService
style LeaderAgent fill:#ffe5cc,stroke:#333,stroke-width:1.5px
style Dominic fill:#e2ffe2,stroke:#333,stroke-width:1.5px
style Explainer fill:#e2ffe2,stroke:#333,stroke-width:1.5px
style FinanceBot fill:#e2ffe2,stroke:#333,stroke-width:1.5px
style KnowledgeFlow fill:#f8f8f8,stroke:#888,stroke-dasharray: 5,5
style K8sServer fill:#f8f8f8,stroke:#888,stroke-dasharray: 5,5
style FinanceService fill:#f8f8f8,stroke:#888,stroke-dasharray: 5,5
This setup reflects a real-world orchestration pattern where Fred delegates specialized reasoning to the right expert, and each expert can evolve independently.
Fred is not just a chatbot. It’s a modular orchestration lab for experimenting with:
You can explore and test architectures like:
flowchart LR
User[User] -->|Starts chat| Fred[LangGraph Agent]
Fred -->|MCP call| KnowledgeFlow[Knowledge Flow]
KnowledgeFlow -->|Returns result| Fred
Fred -->|Streams response| User
flowchart LR
user[user]
fred[langgraph agent]
analyzer[k8s analyzer - mcp tool]
user -->|start chat| fred
fred -->|mcp call| analyzer
analyzer -->|result| fred
fred -->|stream reply| user
flowchart TB
leader[leader agent - orchestrator]
dominic[dominic - retrieval expert]
explainer[explainer - k8s expert]
cashflowbot[cashflowbot - finance expert]
leader -->|mcp call| dominic
leader -->|mcp call| explainer
leader -->|mcp call| cashflowbot
These changes push Fred further as a reference architecture for modular AI systems:
Fred is not just an app — it’s a framework for testing the future of LLM infrastructure.
Want to plug your own expert agent into the ecosystem? Come join the experiment.
Stay tuned for:
Fred is evolving fast — and it’s never been easier to jump in. Do not hesitate joining us.