|
| 1 | +--- |
| 2 | +title: Architecture Overview |
| 3 | +description: Complete architectural overview of DeployStack's Control Plane / Data Plane system for enterprise MCP management |
| 4 | +sidebar: Architecture |
| 5 | +icon: Network |
| 6 | +--- |
| 7 | + |
| 8 | +import { Callout } from 'fumadocs-ui/components/callout'; |
| 9 | +import { Card, Cards } from 'fumadocs-ui/components/card'; |
| 10 | +import { Zap, Shield, Monitor, Cloud, Settings, Users } from 'lucide-react'; |
| 11 | + |
| 12 | +# DeployStack Architecture |
| 13 | + |
| 14 | +DeployStack transforms MCP from individual developer tools into enterprise-ready infrastructure through a sophisticated **Control Plane / Data Plane architecture**. Our platform eliminates configuration complexity, provides secure credential management, and offers complete organizational visibility for teams of any size. |
| 15 | + |
| 16 | +## The Problem: MCP Without Management |
| 17 | + |
| 18 | +<div style={{backgroundColor: '#000', padding: '2rem', borderRadius: '0.75rem', marginBottom: '2rem'}}> |
| 19 | + <img |
| 20 | + src="https://deploystack.io/img/architecture-without-deploystack.webp" |
| 21 | + alt="Traditional MCP architecture showing direct connection between Agent (VS Code) and MCP Server" |
| 22 | + style={{maxWidth: '100%', height: 'auto', display: 'block', margin: '0 auto'}} |
| 23 | + /> |
| 24 | +</div> |
| 25 | + |
| 26 | +Traditional MCP implementation creates significant organizational challenges: |
| 27 | + |
| 28 | +### Configuration Hell |
| 29 | +- **Manual Setup**: Developers spend hours configuring each MCP server with complex JSON files |
| 30 | +- **Environment Variables**: API keys and tokens scattered across local `.env` files and shell configurations |
| 31 | +- **Inconsistent Environments**: "Works on my machine" problems due to configuration drift across team members |
| 32 | + |
| 33 | +### Security & Compliance Gaps |
| 34 | +- **Credential Sprawl**: API keys shared via Slack, email, or committed to version control |
| 35 | +- **Zero Visibility**: Organizations have no insight into which MCP tools are being used or by whom |
| 36 | +- **No Access Control**: Anyone can run any MCP server locally without oversight |
| 37 | + |
| 38 | +### Operational Chaos |
| 39 | +- **Onboarding Friction**: New team members need days to set up all required MCP tools |
| 40 | +- **Tool Discovery**: Developers waste time finding and configuring tools individually |
| 41 | +- **No Standardization**: No central catalog or approved tool list for organizational use |
| 42 | + |
| 43 | +## The Solution: Enterprise Control Plane |
| 44 | + |
| 45 | +<div style={{backgroundColor: '#000', padding: '2rem', borderRadius: '0.75rem', marginBottom: '2rem'}}> |
| 46 | + <img |
| 47 | + src="https://deploystack.io/img/architecture-with-deploystack.webp" |
| 48 | + alt="DeployStack architecture showing cloud control plane managing local gateway and MCP servers" |
| 49 | + style={{maxWidth: '100%', height: 'auto', display: 'block', margin: '0 auto'}} |
| 50 | + /> |
| 51 | +</div> |
| 52 | + |
| 53 | +DeployStack introduces a **Control Plane / Data Plane architecture** that brings enterprise-grade management to the MCP ecosystem while maintaining the performance and flexibility developers expect. |
| 54 | + |
| 55 | +## Core Components |
| 56 | + |
| 57 | +<Cards> |
| 58 | + <Card |
| 59 | + icon={<Cloud />} |
| 60 | + title="Control Plane" |
| 61 | + > |
| 62 | + **cloud.deploystack.io** - Centralized management platform for teams, credentials, and MCP server configurations |
| 63 | + </Card> |
| 64 | + |
| 65 | + <Card |
| 66 | + icon={<Shield />} |
| 67 | + title="Data Plane" |
| 68 | + > |
| 69 | + **DeployStack Gateway** - Local secure proxy managing persistent MCP server processes with credential injection |
| 70 | + </Card> |
| 71 | + |
| 72 | + <Card |
| 73 | + icon={<Monitor />} |
| 74 | + title="Developer Interface" |
| 75 | + > |
| 76 | + **Agent Integration** - VS Code, CLI tools, and other MCP clients connect seamlessly through the gateway |
| 77 | + </Card> |
| 78 | +</Cards> |
| 79 | + |
| 80 | +### Control Plane: cloud.deploystack.io |
| 81 | + |
| 82 | +The cloud-based control plane provides centralized management for all MCP infrastructure: |
| 83 | + |
| 84 | +#### Team & Access Management |
| 85 | +- **Role-Based Access Control**: [Define teams](/teams), [roles, and permissions](/roles) for MCP server access |
| 86 | +- **Centralized User Management**: Single source of truth for team membership and access rights |
| 87 | +- **Policy Enforcement**: Granular control over which teams can access which MCP servers |
| 88 | + |
| 89 | +#### Secure Credential Vault |
| 90 | +- **Encrypted Storage**: All API keys and tokens stored with [enterprise-grade encryption](/security) |
| 91 | +- **Zero-Exposure Model**: Developers never directly handle credentials |
| 92 | + |
| 93 | +#### MCP Server Catalog |
| 94 | +- **Configuration Management**: [Store and manage all MCP server configurations](/mcp-catalog) including commands, arguments, and environment variables |
| 95 | +- **Version Control**: Track changes to MCP server configurations over time (coming soon) |
| 96 | + |
| 97 | +#### Analytics & Governance (Coming soon) |
| 98 | +- **Usage Analytics**: Track which developers use which MCP servers and how frequently |
| 99 | +- **Cost Tracking**: Monitor expensive API usage across teams and optimize spending |
| 100 | +- **Audit Trails**: Complete logging of all MCP server interactions for compliance |
| 101 | + |
| 102 | +### Data Plane: DeployStack Gateway |
| 103 | + |
| 104 | +The local gateway acts as an intelligent proxy and process manager running on each developer's machine: |
| 105 | + |
| 106 | +#### Persistent Process Management |
| 107 | +- **Background Processes**: All configured MCP servers run as [persistent background processes](/development/gateway/process-management) when the gateway starts |
| 108 | +- **Instant Availability**: Tools are immediately available without process spawning delays |
| 109 | +- **Language Agnostic**: Supports MCP servers written in Node.js, Python, Go, Rust, or any language |
| 110 | + |
| 111 | +#### Dual Transport Architecture |
| 112 | +The gateway implements sophisticated transport protocols for maximum compatibility: |
| 113 | + |
| 114 | +**SSE Transport (VS Code Compatibility)**: |
| 115 | +``` |
| 116 | +VS Code → GET /sse → DeployStack Gateway |
| 117 | + ← SSE Stream with session endpoint |
| 118 | +VS Code → POST /message?session=xyz → Gateway → MCP Server (stdio) |
| 119 | + ← JSON-RPC response via SSE |
| 120 | +``` |
| 121 | + |
| 122 | +**stdio Transport (CLI Compatibility)**: |
| 123 | +``` |
| 124 | +CLI Tool → DeployStack Gateway → MCP Server (stdio) |
| 125 | + ← Direct JSON-RPC over stdio |
| 126 | +``` |
| 127 | + |
| 128 | +#### Secure Credential Injection |
| 129 | +- **Runtime Injection**: Credentials are injected directly into MCP server process environments at startup |
| 130 | +- **Zero Disk Exposure**: No credentials written to disk in plain text |
| 131 | +- **Process Isolation**: Each MCP server runs in its own isolated environment |
| 132 | + |
| 133 | +## Protocol Flow |
| 134 | + |
| 135 | +### 1. Developer Authentication |
| 136 | +```bash |
| 137 | +deploystack login |
| 138 | +``` |
| 139 | +- Gateway authenticates with cloud.deploystack.io using OAuth2 |
| 140 | +- Downloads team configurations and access policies |
| 141 | +- Caches encrypted configurations locally |
| 142 | + |
| 143 | +### 2. Gateway Startup |
| 144 | +```bash |
| 145 | +deploystack start |
| 146 | +``` |
| 147 | +- **Configuration Sync**: Downloads latest team MCP server configurations |
| 148 | +- **Process Spawning**: Starts all configured MCP servers as background processes |
| 149 | +- **Credential Injection**: Securely injects team credentials into process environments |
| 150 | +- **Service Discovery**: Discovers and caches all available tools from running processes |
| 151 | +- **HTTP Server**: Starts local server at `http://localhost:9095/sse` for client connections |
| 152 | + |
| 153 | +### 3. Client Connection |
| 154 | +**VS Code Configuration**: |
| 155 | +```json |
| 156 | +{ |
| 157 | + "mcpServers": { |
| 158 | + "deploystack": { |
| 159 | + "url": "http://localhost:9095/sse" |
| 160 | + } |
| 161 | + } |
| 162 | +} |
| 163 | +``` |
| 164 | + |
| 165 | +**Connection Flow**: |
| 166 | +1. **SSE Establishment**: VS Code connects to `/sse` endpoint |
| 167 | +2. **Session Creation**: Gateway generates cryptographically secure session ID |
| 168 | +3. **Tool Discovery**: Client calls `tools/list` to discover available MCP servers |
| 169 | +4. **Request Routing**: All tool requests routed through gateway to persistent MCP processes |
| 170 | + |
| 171 | +### 4. Request Processing |
| 172 | +``` |
| 173 | +Client Request → Gateway Session Validation → Route to MCP Process → Return Response |
| 174 | +``` |
| 175 | + |
| 176 | +## Security Architecture |
| 177 | + |
| 178 | +DeployStack implements enterprise-grade security across all components of the platform. For comprehensive security details including credential management, access control, and compliance features, see our [Security Documentation](/security). |
| 179 | + |
| 180 | +Key security principles: |
| 181 | +- **Zero-Trust Credential Model**: Credentials never stored on developer machines |
| 182 | +- **Process Isolation**: Each MCP server runs in complete isolation |
| 183 | +- **Cryptographic Sessions**: 256-bit entropy for all client connections |
| 184 | + |
| 185 | +## Performance Optimization |
| 186 | + |
| 187 | +### Persistent Process Model |
| 188 | +Unlike on-demand spawning, DeployStack uses persistent background processes: |
| 189 | + |
| 190 | +- **Zero Latency**: All tools immediately available from running processes |
| 191 | +- **Resource Efficiency**: No spawn/cleanup overhead during development workflows |
| 192 | +- **Memory Stability**: Consistent resource usage patterns |
| 193 | +- **Parallel Processing**: Concurrent handling of multiple requests across processes |
| 194 | + |
| 195 | +### Caching Strategy |
| 196 | +DeployStack implements sophisticated caching mechanisms to optimize performance and enable offline operation. For detailed information about the caching architecture, implementation, and team isolation strategies, see our [Gateway Caching System Documentation](/development/gateway/caching-system). |
| 197 | + |
| 198 | +## Enterprise Features |
| 199 | + |
| 200 | +### Organizational Visibility |
| 201 | +- **Real-Time Analytics**: Live dashboard showing MCP server usage across the organization |
| 202 | +- **Cost Optimization**: Track expensive API usage and identify optimization opportunities |
| 203 | +- **Resource Planning**: Understand which tools drive the most value for different teams |
| 204 | + |
| 205 | +### Compliance & Governance |
| 206 | +- **Audit Logging**: Complete trails of all MCP server interactions |
| 207 | +- **Policy Enforcement**: Centralized policies automatically enforced at the gateway level |
| 208 | +- **Access Reviews**: Regular reviews of team access to sensitive MCP servers |
| 209 | + |
| 210 | +### Operational Controls |
| 211 | +- **Centralized Updates**: Push MCP server configuration changes to all team members |
| 212 | +- **Emergency Disable**: Instantly disable problematic MCP servers across the organization |
| 213 | +- **Health Monitoring**: Real-time monitoring of MCP server performance and availability |
| 214 | + |
| 215 | +## Team Context Switching |
| 216 | + |
| 217 | +DeployStack supports multiple team memberships with seamless context switching: |
| 218 | + |
| 219 | +```bash |
| 220 | +# List available teams |
| 221 | +deploystack teams |
| 222 | + |
| 223 | +# Switch to different team |
| 224 | +deploystack teams --switch 2 |
| 225 | +``` |
| 226 | + |
| 227 | +**Context Switch Process**: |
| 228 | +1. **Graceful Shutdown**: Stop all current team's MCP server processes |
| 229 | +2. **Configuration Refresh**: Download new team's configurations and credentials |
| 230 | +3. **Process Restart**: Start all MCP servers for the new team |
| 231 | +4. **State Synchronization**: Update local cache and runtime state |
| 232 | + |
| 233 | +## Deployment Models |
| 234 | + |
| 235 | +### Cloud-Native (Default) |
| 236 | +- **Control Plane**: Hosted at cloud.deploystack.io |
| 237 | +- **Data Plane**: Local gateway on developer machines |
| 238 | +- **Benefits**: Zero infrastructure management, automatic updates, shared team configurations |
| 239 | + |
| 240 | +### Self-Hosted Enterprise |
| 241 | +- **Control Plane**: Deployed in customer's infrastructure |
| 242 | +- **Data Plane**: Local gateways connect to private control plane |
| 243 | +- **Benefits**: Complete data sovereignty, custom compliance requirements, air-gapped environments |
| 244 | + |
| 245 | +## Development Workflow |
| 246 | + |
| 247 | +### Before DeployStack |
| 248 | +```bash |
| 249 | +# Developer manually configures each MCP server |
| 250 | +1. Find MCP server documentation |
| 251 | +2. Install server individually (npm install @github/mcp) |
| 252 | +3. Obtain API credentials from various sources |
| 253 | +4. Configure complex JSON in VS Code settings |
| 254 | +5. Debug configuration issues |
| 255 | +6. Repeat for each team member |
| 256 | +``` |
| 257 | + |
| 258 | +### After DeployStack |
| 259 | +```bash |
| 260 | +# One-time setup for entire team |
| 261 | +1. npm install -g @deploystack/gateway |
| 262 | +2. deploystack login |
| 263 | +3. # Done! All authorized tools available immediately |
| 264 | +``` |
| 265 | + |
| 266 | +**VS Code Configuration**: |
| 267 | +```json |
| 268 | +{ |
| 269 | + "mcpServers": { |
| 270 | + "deploystack": { |
| 271 | + "url": "http://localhost:9095/sse" |
| 272 | + } |
| 273 | + } |
| 274 | +} |
| 275 | +``` |
| 276 | + |
| 277 | +## Monitoring & Observability (comming soon) |
| 278 | + |
| 279 | +### Gateway Metrics |
| 280 | +- **Process Health**: Real-time status of all MCP server processes |
| 281 | +- **Request Throughput**: Performance metrics for tool usage |
| 282 | +- **Error Rates**: Failure detection and automatic recovery |
| 283 | +- **Resource Usage**: CPU, memory, and network consumption |
| 284 | + |
| 285 | +### Cloud Metrics |
| 286 | +- **Team Activity**: Organization-wide usage patterns and trends |
| 287 | +- **Cost Analysis**: API usage costs and optimization recommendations |
| 288 | +- **Security Events**: Authentication, authorization, and policy violations |
| 289 | +- **Performance Analytics**: Gateway and MCP server performance across teams |
| 290 | + |
| 291 | +## Benefits Summary |
| 292 | + |
| 293 | +### For Developers |
| 294 | +- **Zero Configuration**: One command setup, then everything works |
| 295 | +- **Instant Access**: All team tools immediately available |
| 296 | +- **Consistent Environment**: Identical setup across all team members |
| 297 | +- **No Credential Management**: Never handle API keys or tokens |
| 298 | + |
| 299 | +### for Organizations |
| 300 | +- **Complete Visibility**: Know what MCP tools are used, by whom, and how often |
| 301 | +- **Security Control**: Centralized credential management and access policies |
| 302 | +- **Cost Optimization**: Track and optimize expensive API usage |
| 303 | +- **Compliance Ready**: Full audit trails and governance controls |
| 304 | + |
| 305 | +### For Administrators |
| 306 | +- **Central Management**: Single dashboard for entire MCP ecosystem |
| 307 | +- **Policy Enforcement**: Granular control over tool access by team and role |
| 308 | +- **Instant Deployment**: Push configuration changes to all team members |
| 309 | +- **Operational Insights**: Real-time monitoring and analytics |
| 310 | + |
| 311 | +<Callout type="info"> |
| 312 | + **Enterprise Transformation**: DeployStack transforms MCP from individual developer tools into enterprise-ready infrastructure, providing the security, governance, and operational control that organizations need while maintaining the developer experience that teams love. |
| 313 | +</Callout> |
| 314 | + |
| 315 | +--- |
| 316 | + |
| 317 | +**Next Steps**: Explore our [Quick Start Guide](/quick-start) to experience the architecture in action, or dive into the [Development Documentation](/development) to understand implementation details. |
0 commit comments