55 <h3 >The Crossroads for AI Data Exchanges</h3 >
66 <p >A unified interface for managing all your MCP servers with real-time notifications</p >
77
8- [ ![ Version] ( https://img.shields.io/badge/version-1.1 .0-blue?style=for-the-badge )] ( https://github.com/VeriTeknik/pluggedin-mcp/releases )
8+ [ ![ Version] ( https://img.shields.io/badge/version-1.2 .0-blue?style=for-the-badge )] ( https://github.com/VeriTeknik/pluggedin-mcp/releases )
99 [ ![ GitHub Stars] ( https://img.shields.io/github/stars/VeriTeknik/pluggedin-mcp?style=for-the-badge )] ( https://github.com/VeriTeknik/pluggedin-mcp/stargazers )
1010 [ ![ License] ( https://img.shields.io/github/license/VeriTeknik/pluggedin-mcp?style=for-the-badge )] ( LICENSE )
1111 [ ![ TypeScript] ( https://img.shields.io/badge/TypeScript-4.9+-blue?style=for-the-badge&logo=typescript )] ( https://www.typescriptlang.org/ )
@@ -30,14 +30,26 @@ This proxy enables seamless integration with any MCP client (Claude, Cline, Curs
3030- ** Full MCP Support** : Handles tools, resources, resource templates, and prompts
3131- ** Custom Instructions** : Supports server-specific instructions formatted as MCP prompts
3232
33- ### 🔔 New in v1.0.0
33+ ### 🔔 New in v1.2.0
34+
35+ - ** Enhanced Security Validations** : Comprehensive URL validation with SSRF protection, command allowlisting, and header sanitization
36+ - ** Lazy Authentication** : Tool discovery without API keys for better Smithery compatibility
37+ - ** Improved Session Management** : Better handling of session lifecycle in Streamable HTTP mode
38+ - ** Production Optimizations** : Lightweight Docker builds optimized for resource-constrained environments
39+
40+ ### 📦 Features from v1.1.0
41+
42+ - ** Streamable HTTP Support** : Full support for downstream MCP servers using Streamable HTTP transport
43+ - ** HTTP Server Mode** : Run the proxy as an HTTP server with configurable ports
44+ - ** Flexible Authentication** : Optional Bearer token authentication for HTTP endpoints
45+ - ** Session Management** : Choose between stateful (session-based) or stateless operation modes
46+
47+ ### 🎯 Core Features from v1.0.0
48+
3449- ** Real-Time Notifications** : Track all MCP activities with comprehensive notification support
3550- ** RAG Integration** : Support for document-enhanced queries through the plugged.in App
36- - ** Enhanced Security** : Industry-standard input validation and sanitization
3751- ** Inspector Scripts** : Automated testing tools for debugging and development
3852- ** Health Monitoring** : Built-in ping endpoint for connection monitoring
39- - ** Streamable HTTP Support** : Connect to modern Streamable HTTP MCP servers
40- - ** HTTP Server Mode** : Run the proxy as an HTTP server for web-based access
4153
4254## 🚀 Quick Start
4355
@@ -313,23 +325,48 @@ sequenceDiagram
313325The plugged.in MCP Proxy implements comprehensive security measures to protect your system and data:
314326
315327### Input Validation & Sanitization
328+
316329- ** Command Injection Prevention** : All commands and arguments are validated against allowlists before execution
317330- ** Environment Variable Security** : Secure parsing of ` .env ` files with proper handling of quotes and multiline values
318331- ** Token Validation** : Strong regex patterns for API keys and authentication tokens (32-64 hex characters)
319332
320333### Network Security
321- - ** SSRF Protection** : URL validation blocks access to localhost and private IP ranges
334+
335+ - ** SSRF Protection** : URL validation blocks access to:
336+ - Localhost and loopback addresses (127.0.0.1, ::1)
337+ - Private IP ranges (10.x, 172.16-31.x, 192.168.x)
338+ - Link-local addresses (169.254.x)
339+ - Multicast and reserved ranges
340+ - Common internal service ports (SSH, databases, etc.)
341+ - ** Header Validation** : Protection against header injection with:
342+ - Dangerous header blocking
343+ - RFC 7230 compliant header name validation
344+ - Control character detection
345+ - Header size limits (8KB max)
322346- ** Rate Limiting** :
323347 - Tool calls: 60 requests per minute
324348 - API calls: 100 requests per minute
325349- ** Error Sanitization** : Prevents information disclosure by sanitizing error messages
326350
327351### Process Security
352+
328353- ** Safe Command Execution** : Uses ` execFile() ` instead of ` exec() ` to prevent shell injection
354+ - ** Command Allowlist** : Only permits execution of:
355+ - ` node ` , ` npx ` - Node.js commands
356+ - ` python ` , ` python3 ` - Python commands
357+ - ` uv ` , ` uvx ` , ` uvenv ` - UV Python tools
329358- ** Argument Sanitization** : Removes shell metacharacters and control characters from all arguments
330359- ** Environment Variable Validation** : Only allows alphanumeric keys with underscores
331360
361+ ### Streamable HTTP Security
362+
363+ - ** Lazy Authentication** : Tool discovery doesn't require authentication, improving compatibility
364+ - ** Session Security** : Cryptographically secure session ID generation
365+ - ** CORS Protection** : Configurable CORS headers for web access
366+ - ** Request Size Limits** : Prevents DoS through large payloads
367+
332368### Security Utilities
369+
333370A dedicated ` security-utils.ts ` module provides:
334371- Bearer token validation
335372- URL validation with SSRF protection
@@ -364,17 +401,40 @@ Contributions are welcome! Please feel free to submit a Pull Request.
364401
365402## 📝 Recent Updates
366403
367- ### Version 1.1.0 (January 2025)
404+ ### Version 1.2.0 (January 2025)
405+
406+ #### 🔒 Security Enhancements
407+
408+ - ** URL Validation** : Comprehensive SSRF protection blocking private IPs, localhost, and dangerous ports
409+ - ** Command Allowlisting** : Only approved commands (node, npx, python, etc.) can be executed
410+ - ** Header Sanitization** : Protection against header injection attacks
411+ - ** Lazy Authentication** : Improved Smithery compatibility with auth-free tool discovery
412+
413+ #### 🚀 Performance Improvements
414+
415+ - ** Optimized Docker Builds** : Multi-stage builds for minimal container footprint
416+ - ** Production Dependencies Only** : Test files and dev dependencies excluded from Docker images
417+ - ** Resource Efficiency** : Designed for deployment in resource-constrained environments
418+
419+ #### 🔧 Technical Improvements
420+
421+ - Enhanced error handling in Streamable HTTP transport
422+ - Better session cleanup and memory management
423+ - Improved TypeScript types and code organization
424+
425+ ### Version 1.1.0 (December 2024)
368426
369427#### 🚀 New Features
428+
370429- ** Streamable HTTP Support** : Connect to downstream MCP servers using the modern Streamable HTTP transport
371430- ** HTTP Server Mode** : Run the proxy as an HTTP server for web-based access
372431- ** Flexible Session Management** : Choose between stateless or stateful modes
373432- ** Authentication Options** : Optional Bearer token authentication for HTTP endpoints
374433- ** Health Monitoring** : ` /health ` endpoint for service monitoring
375434
376435#### 🔧 Technical Improvements
377- - Updated MCP SDK to v1.13.0 for latest protocol support
436+
437+ - Updated MCP SDK to v1.13.1 for latest protocol support
378438- Added Express.js integration for HTTP server functionality
379439- Enhanced TypeScript types for better developer experience
380440
0 commit comments