Host-Based Routing
Noorle routes requests to different services based on the hostname:Virtual Hosts
| Host | Service | Purpose | Protocol |
|---|---|---|---|
console.noorle.com | Console | Web UI for managing gateways, agents, and capabilities | HTTP/HTTPS |
api.noorle.com | Admin API | REST endpoints for account/agent/capability management | HTTP/REST |
mcp-{id}.noorle.com | MCP Gateway | Exposes capabilities via MCP protocol | MCP (SSE/HTTP) |
agent-{id}.noorle.com | Agent Gateway | A2A protocol for agent-to-agent communication | A2A |
Layered Architecture
Noorle’s architecture consists of three layers:Layer Responsibilities
Interface Layer- Routes incoming requests to appropriate handlers
- Manages session state and WebSocket connections
- Handles protocol translation (HTTP/REST → MCP, A2A)
- Unified authentication across all services
- Capability service: manages builtin, plugin, and connector access
- Agent runtime: executes agents with tool integration
- Memory and knowledge services: vector search, embeddings, conversational memory
- Plugin runtime: secure WebAssembly sandbox for custom tools
- Capability store: registry and metadata for all tools
- LLM integration: model selection and prompt routing across multiple providers
- Object storage: plugin artifacts, knowledge bases, exports
- PostgreSQL: relational data (agents, gateways, capabilities, etc.)
- Redis: caching and session management
- Vector database: embeddings for semantic search
Request Flow Example
How a request flows through the system:Key Architectural Decisions
Unified Capability Model
All capabilities (builtin, plugin, connector) are accessed through the sameCapabilityService, ensuring consistent tool discovery and execution regardless of type.
Protocol Translation
MCP Gateway and Agent Gateway translate between their respective protocols (MCP, A2A) and the internal capability model, providing a clean separation of concerns.Multi-Tenancy by Design
Account-based resource isolation is enforced at the service layer. Every operation includes anaccount_id to prevent cross-account data leaks.
Stateless Services
Gateway services are stateless and can be horizontally scaled. Conversation state, memory, and session data are persisted in Redis and PostgreSQL.Performance Characteristics
- Latency: Sub-100ms capability access via multi-tier caching
- Concurrency: Async runtime supports thousands of concurrent connections
- Storage: PostgreSQL handles millions of capabilities; vector database scales semantic search
- Cost Control: Optional work budgets constrain execution costs at runtime
Next: Explore Use Cases to see Noorle in action.