# System Architecture: LLM-MCP Integration for M/M/1 Queue Simulation
## Overall System Architecture
```mermaid
graph TB
subgraph Users["👥 User Layer"]
U1[Simulation Researchers]
U2[AI/LLM Developers]
U3[Students & Educators]
end
subgraph Interface["💻 Interface Layer"]
Claude[Claude Desktop/CLI]
API[Claude API]
end
subgraph Protocol["🔌 Protocol Layer"]
MCP[Model Context Protocol]
STDIO[STDIO Transport]
end
subgraph Server["🚀 MCP Server: mcp-server-mm1"]
direction TB
Resources["📚 7 Resources
• Schema
• Parameters
• Metrics
• Formulas
• Guidelines
• Examples
• Literature"]
Tools["🔧 5 Tools
• validate_config
• calculate_metrics
• run_simulation
• compare_results
• recommend_parameters"]
Prompts["💬 4 Prompts
• generate_simulation_code
• explain_mm1_theory
• analyze_results
• debug_simulation"]
end
subgraph Core["⚙️ Core Engine"]
SimPy["SimPy
Discrete Event Simulation"]
Theory["Theoretical Metrics
M/M/1 Formulas"]
end
subgraph Distribution["📦 Distribution Channels"]
PyPI["PyPI Registry
pip install mcp-server-mm1"]
Smithery["Smithery Registry
uvx mcp-server-mm1"]
GitHub["GitHub Repository
Source Code"]
end
Users --> Interface
Interface --> Protocol
Protocol --> Server
Server --> Core
Distribution -.-> Server
Resources --> Core
Tools --> Core
Prompts --> Tools
style Server fill:#e1f5ff
style Core fill:#fff4e1
style Distribution fill:#f0e1ff
style Protocol fill:#e1ffe1
```
## Component Interaction Flow
```mermaid
sequenceDiagram
participant User as 👤 User
participant Claude as 🤖 Claude
participant MCP as 🔌 MCP Protocol
participant Server as 🚀 MCP Server
participant SimPy as ⚙️ SimPy Engine
User->>Claude: "Simulate M/M/1 queue with λ=5, μ=8"
Claude->>MCP: Request via STDIO
MCP->>Server: validate_config(5, 8)
Server-->>MCP: ✓ Valid (ρ=0.625)
MCP->>Server: calculate_metrics(5, 8)
Server-->>MCP: Theoretical results
MCP->>Server: run_simulation(5, 8, 10000)
Server->>SimPy: Execute discrete event simulation
SimPy-->>Server: Simulation metrics
Server->>Server: compare_results()
Server-->>MCP: Combined analysis
MCP-->>Claude: Structured response
Claude-->>User: "System utilization: 62.5%..."
```
## MCP Server Architecture
```mermaid
graph LR
subgraph "MCP Server Package"
direction TB
subgraph "Resources Layer"
R1[mm1://schema]
R2[mm1://parameters]
R3[mm1://metrics]
R4[mm1://formulas]
end
subgraph "Tools Layer"
T1[validate_config]
T2[calculate_metrics]
T3[run_simulation]
T4[compare_results]
end
subgraph "Core Layer"
S1[schemas/mm1_schema.py]
S2[simulations/mm1_queue.py]
S3[utils/metrics.py]
end
Resources --> Core
Tools --> Core
Core --> S1
Core --> S2
Core --> S3
end
```
## Technology Stack
```mermaid
mindmap
root((MCP Server
mcp-server-mm1))
Framework
FastMCP
Python 3.10+
Model Context Protocol
Simulation
SimPy 4.0+
NumPy 1.24+
Exponential Distributions
Distribution
PyPI Registry
Smithery Registry
Docker Container
Features
7 Resources
5 Tools
4 Prompts
STDIO Transport
```
## Deployment Architecture
```mermaid
graph TB
subgraph Development
Code[Source Code]
PyProject[pyproject.toml]
Smithery[smithery.yaml]
Docker[Dockerfile]
end
subgraph Build
GitHub[GitHub Actions]
Build[python -m build]
DockerBuild[Docker Build]
end
subgraph Distribution
PyPI[PyPI Registry]
SmitheryReg[Smithery Registry]
Container[Docker Hub]
end
subgraph Installation
PipInstall["pip install mcp-server-mm1"]
UvxInstall["uvx mcp-server-mm1"]
ClaudeDesktop["Claude Desktop Config"]
end
Development --> Build
Build --> Distribution
Distribution --> Installation
style Distribution fill:#e1f5ff
style Installation fill:#e1ffe1
```
## Key Metrics
- **7 MCP Resources**: Comprehensive M/M/1 knowledge base
- **5 MCP Tools**: End-to-end simulation workflow
- **4 MCP Prompts**: AI-assisted code generation and analysis
- **100% PyPI Deployment**: Available worldwide via pip/uvx
- **STDIO Protocol**: Native Claude Desktop/CLI integration