Crate pulseengine_mcp_security

Source
Expand description

Security middleware and validation for MCP servers

This crate provides comprehensive security features for MCP servers including:

  • Input validation and sanitization
  • Rate limiting and request throttling
  • CORS policy management
  • Request size limits
  • SQL injection and XSS protection

§Quick Start

use pulseengine_mcp_security::{SecurityMiddleware, SecurityConfig};

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    // Create security configuration
    let config = SecurityConfig {
        validate_requests: true,
        rate_limiting: true,
        max_requests_per_minute: 60,
        cors_enabled: true,
        cors_origins: vec!["https://example.com".to_string()],
    };

    // Create security middleware
    let security = SecurityMiddleware::new(config);

    // The middleware automatically validates and rate-limits
    // requests when integrated with your MCP server

    Ok(())
}

§Features

  • Input validation: Comprehensive request validation with schemas
  • Rate limiting: Per-IP and per-user rate limiting
  • CORS management: Configurable cross-origin policies
  • Size limits: Prevent DoS through large requests
  • Injection protection: SQL injection and script injection prevention
  • Production hardened: Battle-tested security measures

Re-exports§

pub use config::SecurityConfig;
pub use middleware::SecurityMiddleware;
pub use validation::RequestValidator;

Modules§

config
Security configuration
middleware
Security middleware implementation
validation
Request validation utilities

Functions§

default_config
Default security configuration