-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
dev-mondoshawan edited this page Feb 3, 2026
·
1 revision
MCPShield uses a three-tier architecture with a Python agent for discovery, FastAPI backend for processing, and Next.js frontend for visualization.
┌─────────────────────────────────────────────────────────────────────┐
│ MCPShield Architecture │
├─────────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Machine 1 │ │ Machine 2 │ │ Machine N │ │
│ │ │ │ │ │ │ │
│ │ ┌──────────┐ │ │ ┌──────────┐ │ │ ┌──────────┐ │ │
│ │ │ Agent │ │ │ │ Agent │ │ │ │ Agent │ │ │
│ │ └────┬─────┘ │ │ └────┬─────┘ │ │ └────┬─────┘ │ │
│ └──────┼───────┘ └──────┼───────┘ └──────┼───────┘ │
│ │ │ │ │
│ └────────────────────┼────────────────────┘ │
│ │ HTTPS │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ MCPShield API │ │
│ │ (FastAPI/Python) │ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Database │ │
│ │ (PostgreSQL/SQLite)│ │
│ └──────────┬──────────┘ │
│ │ │
│ ▼ │
│ ┌─────────────────────┐ │
│ │ Frontend Dashboard │ │
│ │ (Next.js/React) │ │
│ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────────────┘
- Scans for MCP configuration files
- Detects running MCP server processes
- Reports discovered servers to backend
- Stores configuration locally
- RESTful API endpoints
- JWT authentication for users
- API key authentication for agents
- Risk scoring engine
- Multi-tenant data isolation
- Server-side rendered React
- Real-time dashboard
- Server management UI
- Alert notifications
- PostgreSQL (production)
- SQLite (development)
- 5 core tables: Organizations, Users, Agents, MCPServers, Alerts
-
Agent Installation: User installs agent via
pip install -e . - Configuration: Agent configured with API key from dashboard
- Discovery: Agent scans known MCP config locations
- Reporting: Agent sends server data via POST /mcp/report
- Risk Assessment: Backend calculates risk scores
- Visualization: Dashboard displays servers and alerts
- All API communication over HTTPS
- JWT tokens expire in 30 minutes
- API keys scoped to single agent
- Organization-level data isolation
- Password hashing with bcrypt
Getting Started
User Guide
Technical
Development