# MCP Server Project Architecture
This project implements a robust MCP (Multi-Component Platform) system, supporting both custom and public-facing deployments with integrated monitoring and analytics.
## Architecture Diagram
```mermaid
graph TB
subgraph "MCP Server Project"
style MCP Server Project fill:#1a1a1a,stroke:#ffffff,stroke-width:0px
subgraph "Custom MCP Implementation"
style Custom MCP Implementation fill:#6a3093,stroke:#a8a8a8,stroke-width:2px
CM[Custom MCP Server]
MC[MCP Controller]
CT[Custom Tools]
CM --> MC
MC --> CT
end
subgraph "Public MCP Implementation"
style Public MCP Implementation fill:#a8dadc,stroke:#a8a8a8,stroke-width:2px
PM[Public MCP Server]
GC[Gemini Client]
AC[Agent Config]
PM --> GC
PM --> AC
end
subgraph "Frontend"
style Frontend fill:#00b894,stroke:#a8a8a8,stroke-width:2px
SD[Streamlit Dashboard]
SD -->|Stats API| CM
SD -->|Stats API| PM
end
subgraph "API Endpoints"
direction LR
style API Endpoints fill:#f9bc60,stroke:#a8a8a8,stroke-width:2px
CE1["/task"]
CE2["/task/{id}/run"]
CE3["/stats"]
CM --> CE1
CM --> CE2
CM --> CE3
PE1["/public/task"]
PE2["/public/run"]
PE3["/public/stats"]
PM --> PE1
PM --> PE2
PM --> PE3
end
end
Client1[Client Applications] -->|HTTP Requests| CE1
Client1 -->|HTTP Requests| CE2
Client2[Monitoring Systems] -->|HTTP Requests| CE3
Client3[Public API Users] -->|HTTP Requests| PE1
Client3 -->|HTTP Requests| PE2
style Client1 fill:#f4a261,stroke:#a8a8a8,stroke-width:2px
style Client2 fill:#f4a261,stroke:#a8a8a8,stroke-width:2px
style Client3 fill:#f4a261,stroke:#a8a8a8,stroke-width:2px
classDef neon fill:#ffffff,stroke:#ffffff,stroke-width:0px
classDef line fill:#ffffff,stroke:#ffffff,stroke-width:2px
```
---
## Overview
### Custom MCP Implementation
- **Custom Server**: Implements core MCP logic (`server.py`).
- **MCP Controller**: Handles task management and orchestration.
- **Custom Tools**: Supports integration of user-defined tools.
- **API Endpoints**: Exposes RESTful APIs for task creation and execution.
### Public MCP Implementation
- **Public MCP Server**: Public-facing server (`server_public.py`).
- **Gemini Client**: Integrates with Google Gemini API for extended capabilities.
- **Agent Configuration**: Uses YAML files for agent and environment setup.
- **Public API Endpoints**: Similar APIs as custom MCP, but accessible to external clients.
### Frontend Integration
- **Streamlit Dashboard**: Provides a real-time dashboard for monitoring.
- **Dual Connectivity**: Interfaces with both custom and public MCP servers.
- **Statistics & Monitoring**: Displays live system statistics and task execution info.
---
## Key Features
- **Task Creation & Execution**: Seamless management of tasks through REST APIs.
- **Real-Time Statistics**: Live tracking of system and execution metrics.
- **Environment Configuration**: Flexible setup via environment variables and YAML.
- **Logging & Error Handling**: Robust system for debugging and reliability.
- **API Security**: Secure endpoints for both internal and public-facing APIs.
---
## Usage Scenarios
- **Custom MCP**: For specialized use cases requiring tailored tools and workflows.
- **Public MCP**: For external clients wanting to leverage standardized task and agent execution.
- **Unified Monitoring**: Streamlit dashboard provides unified visibility across both implementations.
---