Secure MCP-gRPC
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Secure MCP-gRPCshow me the recent security events"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Secure MCP-gRPC
A secure gRPC transport layer for Model Context Protocol (MCP) with advanced security features, comprehensive telemetry, and real-time visualization.
Developed by Matthew Stanton & Claude AI
🌟 Overview
The Model Context Protocol (MCP) enables AI models to communicate with external tools and data sources. This project adds a secure gRPC transport layer for MCP, providing:
Enhanced Security: Zero-trust architecture with mutual TLS, token-based authentication, and fine-grained authorization
Comprehensive Telemetry: Detailed insights into model interactions, performance metrics, and security events
Visual Traffic Analysis: Real-time visualization of traffic patterns and model communication graphs
Enterprise-Grade Features: Rate limiting, audit logging, anomaly detection, and more
📋 Table of Contents
✨ Features
🔒 Security Features
Mutual TLS Authentication: Secure client-server identification with certificate validation
Token-based Authentication: Support for JWT and OAuth 2.0
Fine-grained Authorization: Role-based access control for specific model capabilities
Rate Limiting: Protection against DoS attacks with per-client limits
Anomaly Detection: Identification of unusual patterns and potential threats
Audit Logging: Comprehensive event tracking for compliance requirements
Secure Defaults: All security features enabled by default with sensible configurations
📊 Telemetry Capabilities
Performance Monitoring: Response times, throughput, and resource utilization tracking
Security Event Logging: Authentication attempts, authorization failures, and suspicious activities
Usage Analytics: Understanding how models are being used and by whom
Health Monitoring: Real-time status of all system components
Anonymous Reporting: Privacy-preserving aggregated insights
🔍 Interaction Tracing
Request/Response Capture: Full payload logging with configurable sanitization
Connection Metadata: Detailed information about clients and sessions
Path Traversal: Tracking of multi-model interaction chains
Data Lineage: Understanding how data flows between models
Timing Analysis: Performance bottleneck identification
📈 Visualization Dashboard
Traffic Flow Diagrams: Sankey diagrams showing request patterns
Model Interaction Networks: Graph visualization of model communication
Security Event Heatmaps: Temporal analysis of security incidents
Latency Distribution Charts: Performance profiles across different methods
Real-Time Monitoring: Live updates on system status and metrics
🏗️ Architecture
The Secure MCP-gRPC system consists of several core components:
┌───────────────────┐ ┌───────────────────┐ ┌───────────────────┐
│ │ │ │ │ │
│ AI Model with │ │ Secure MCP-gRPC │ │ AI Model with │
│ MCP Client │◄───►│ Server │◄───►│ MCP Client │
│ │ │ │ │ │
└───────────────────┘ └─────────┬─────────┘ └───────────────────┘
│
▼
┌─────────────────┐
│ Interaction │
│ Tracer │
└─────────┬───────┘
│
▼
┌───────────────────┐ ┌─────────────────┐ ┌───────────────────┐
│ │ │ │ │ │
│ Prometheus │◄───►│ Telemetry │◄───►│ Dashboard │
│ │ │ Dashboard │ │ │
└───────────────────┘ └─────────────────┘ └───────────────────┘Key Components:
Secure MCP-gRPC Server: Core server that handles authentication, authorization, and request processing
Interaction Tracer: Captures detailed information about model interactions
Telemetry Dashboard: Web-based visualization of traffic patterns and metrics
MCP Clients: AI models that communicate with the server
Prometheus/Grafana: Additional monitoring and alerting tools
📋 Prerequisites
Docker and Docker Compose
Python 3.9+ (for development)
OpenSSL (for certificate generation)
Git
Pre-commit (optional, for development)
🚀 Quick Start
Clone the repository:
git clone https://github.com/yourusername/secure-mcp-grpc.git cd secure-mcp-grpcRun the setup script:
./setup.shStart the services:
docker-compose -f docker/docker-compose.yml up -dAccess the services:
gRPC Server: localhost:50051
Dashboard: http://localhost:8050
Grafana: http://localhost:3000
Prometheus: http://localhost:9090
🐳 Docker Deployment
Production Deployment
Build and start all services:
docker-compose -f docker/docker-compose.yml up -dView logs:
docker-compose -f docker/docker-compose.yml logs -fStop services:
docker-compose -f docker/docker-compose.yml down
Service Details
MCP Server: Secure gRPC server with mTLS authentication
Dashboard: Real-time visualization of traffic and metrics
Prometheus: Metrics collection and storage
Grafana: Advanced metrics visualization and alerting
Resource Management
Each service has resource limits and reservations:
MCP Server: 1 CPU, 1GB RAM
Dashboard: 0.5 CPU, 512MB RAM
Prometheus: 0.5 CPU, 1GB RAM
Grafana: 0.5 CPU, 512MB RAM
⚙️ Configuration
Environment Variables
Key environment variables for the MCP server:
MCP_SERVER_HOST=0.0.0.0
MCP_SERVER_PORT=50051
MCP_AUTH_TYPE=mtls
MCP_CERT_PATH=/app/certs/server.crt
MCP_KEY_PATH=/app/certs/server.key
MCP_CA_PATH=/app/certs/ca.crtConfiguration Files
Server config:
config/server.yamlPrometheus config:
config/prometheus/prometheus.ymlGrafana config:
config/grafana/provisioning/
🔒 Security
Certificate Management
Generate certificates:
./scripts/generate_certs.shUpdate certificates:
./scripts/update_certs.sh
Security Best Practices
Use strong passwords for Grafana
Keep certificates secure and regularly rotated
Monitor security events in Grafana
Use rate limiting for all clients
Enable audit logging
📊 Monitoring
Metrics
Key metrics available in Prometheus:
Request rate
Response time
Error rates
Resource utilization
Security events
Dashboards
Pre-configured Grafana dashboards:
Traffic Overview
Performance Metrics
Security Events
Resource Usage
👩💻 Development
Local Development
Install development dependencies:
pip install -e ".[dev]"Run tests:
pytest tests/Run benchmarks:
pytest tests/benchmarks/
Code Style
Use Ruff for linting and formatting (replaces Black, isort, and flake8)
Use mypy for type checking
Follow PEP 8 guidelines
Install pre-commit hooks:
pre-commit install
Run linting and formatting:
# Format code
ruff format .
# Lint and auto-fix
ruff check --fix .
# Type check
mypy secure_mcp_grpc🤝 Contributing
Fork the repository
Create a feature branch
Make your changes
Run tests and linting
Submit a pull request
See CONTRIBUTING.md for detailed guidelines.
📄 License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
🙏 Acknowledgments
Matthew Stanton: Lead architect and security expert
Claude AI: Co-creator and documentation contributor
Anthropic for their work on Model Context Protocol (MCP)
The gRPC team for their excellent communication framework
For more detailed information, please refer to the documentation.
Security issues should be reported according to our security policy.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/mstanton/secure-mcp-grpc'
If you have feedback or need assistance with the MCP directory API, please join our Discord server