# Architecture
## Overview
Agentic Workbench acts as a Meta-MCP-Server that orchestrates multiple tools through a single interface.
```
Claude Code
|
v
[execute_task] <-- Single MCP tool
|
v
Agentic Workbench
|
+-- Tool Selection (LLM: Cerebras/Gemini)
| |
| v
| Hierarchical Navigation
| Category -> Service -> Tool
|
+-- Tool Execution (MCP)
|
v
MCP Server (Slack, GitHub, etc.)
```
## Two-Step Process
### Step 1: Tool Selection
Uses fast, cheap LLMs (Cerebras, Gemini) to navigate the catalog:
1. User provides a task description
2. LLM selects the appropriate category
3. LLM selects the service within the category
4. LLM selects the specific tool
5. LLM extracts parameters from the task
**Adaptive Depth**: If a level has only one option, it's automatically selected.
### Step 2: Tool Execution
Once a tool is selected:
1. Start the appropriate MCP server (if not running)
2. Call the tool with extracted parameters
3. Return the result to Claude Code
## Context Sharding
Instead of showing 100+ tools at once, the catalog is organized hierarchically:
```
catalog/
├── communication/ # Category
│ ├── slack/ # Service
│ │ ├── send_message.yaml
│ │ └── list_channels.yaml
│ └── email/
│ └── send_email.yaml
├── database/
│ └── postgres/
└── files/
└── gdrive/
```
At each level, the LLM only sees ~5-10 options, reducing context usage.
## Stateless Design
- Claude Code maintains conversation context
- Agentic Workbench is stateless per request
- MCP servers are started on-demand
## Components
### Workbench
Core orchestrator that coordinates navigation and execution.
### Navigator
Handles hierarchical catalog traversal using the LLM.
### Executor
Manages MCP server lifecycle and tool execution.
### Catalog
YAML-based tool definitions with metadata.