logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

unified-mcp-gateway

A centralized intermediary layer aggregating numerous Model Context Protocol (MCP) service endpoints. It intelligently orchestrates incoming workload distribution, supports real-time feedback synchronization, and offers deep integration capabilities with diverse large language model ecosystems to significantly streamline software development and operational pipelines.

Author

unified-mcp-gateway logo

VeriTeknik

Apache License 2.0

Quick Info

GitHub GitHub Stars 32
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

mcpllmsveriteknikmcp serversmcp managetools veriteknik

plugged.in Unified MCP Nexus

plugged.in Logo

The Confluence Point for Generative AI Operations

A consolidated control surface for managing all your registered MCP endpoints, featuring an embedded sandbox environment for testing against any supported AI engine.

[![Release Version](https://img.shields.io/badge/release-1.9.0-purple?style=for-the-badge)](https://github.com/VeriTeknik/pluggedin-mcp/releases) [![GitHub Stars](https://img.shields.io/github/stars/VeriTeknik/pluggedin-mcp?style=for-the-badge)](https://github.com/VeriTeknik/pluggedin-mcp/stargazers) [![License Type](https://img.shields.io/github/license/VeriTeknik/pluggedin-mcp?style=for-the-badge)](LICENSE) [![Language Stack](https://img.shields.io/badge/TypeScript-4.9%2B-orange?style=for-the-badge&logo=typescript)](https://www.typescriptlang.org/) [![Protocol Compliance](https://img.shields.io/badge/MCP-Compliant-teal?style=for-the-badge)](https://modelcontextprotocol.io/)

📋 System Overview

The plugged.in MCP Nexus functions as essential middleware, consolidating disparate Model Context Protocol (MCP) backends under one cohesive operational dashboard. It dynamically retrieves capability manifests (tools, prompts, data schemas) from the central plugged.in Orchestration Platform and applies sophisticated logic to route client invocations to the correct subordinate MCP service provider.

This proxy layer ensures complete interoperability with any client adhering to the MCP specification (e.g., Anthropic's client, Cline, Cursor IDE integration) while leveraging the advanced management features of the plugged.in control plane.

Show your support! A GitHub star helps elevate visibility and funding for ongoing maintenance and feature expansion.

✨ Principal Features

🚀 Core Operational Strengths

  • Integrated AI Sandbox: Immediate execution and comparative evaluation of prompts against Claude, Gemini, OpenAI, and xAI engines without external client configuration.
  • Client Agnostic: Operational compatibility with all major MCP interface clients, including Claude Desktop, Cline, and Cursor.
  • Heterogeneous Backend Support: Seamless connectivity across STDIO pipes, Server-Sent Events (SSE), and Streamable HTTP transports.
  • Dual Connectivity Modes: Can operate natively over STDIO (default) or expose itself as a Streamable HTTP endpoint.
  • Federated Knowledge Retrieval (RAG v2): Unified search capability spanning the knowledge bases of all linked services.
  • Attributed Data Exchange (RAG v2): MCP services can now author and manage knowledge artifacts within your central library, with complete lineage tracking.
  • Universal Alerting: Receive asynchronous notifications originating from any connected model, with optional email forwarding.
  • Configuration Context Switching: Instantaneous toggling between distinct sets of MCP service mappings (Workspaces).
  • API-Centric Discovery: Capability metadata is pulled from the plugged.in App APIs, avoiding less reliable direct peer discovery.
  • Full Protocol Adherence: Complete support for handling tools, contextual resources, template schemas, and instructional prompts.
  • Custom Directive Support: Interprets server-specific operational guidelines formatted according to the MCP prompt schema.

🎯 Major Update: v1.5.0 (RAG v2 - Data Contribution & Exchange)

  • Knowledge Artifact Ingestion: MCP services gain the ability to write new data directly into the central document store.
  • Complete audit trail documenting the originating AI engine (attribution).
  • Full version control and differential change tracking.
  • Deduplication enforcement using SHA-256 checksums.
  • Broad format compatibility: Markdown, Plain Text, JSON, XML, PDF, and more.
  • Intelligent Query Refinement: Advanced Retrieval-Augmented Generation (RAG) queries incorporating AI-driven result filtering.
  • Precision filtering by model lineage, provider identity, temporal bounds, custom labels, and data source.
  • Semantic similarity scoring for relevance ranking.
  • Automated context snippet generation with highlight functionality.
  • Source classification support: ai_generated, upload, or api origins.
  • Protocol-Driven Document Governance: Configuration of data lifecycle via MCP calls:
  • Visibility settings: Personal, Workspace-scoped, or Public.
  • Hierarchical structuring for version lineage (parent-child relationships).
  • Organization by user profile alongside project scope boundaries.
  • Granular progress reporting for document ingestion pipelines.

🎯 Major Update: v1.4.0 (Registry v2 Interoperability)

  • OAuth Credential Handling: Native management of OAuth 2.0 tokens for Streamable HTTP connections.
  • Automated token acquisition from the plugged.in Orchestration Platform.
  • Secure persistence and automated token refreshment routines.
  • Eliminates the need for clients to manage secrets.
  • Bi-Directional Communication Bus: Enhanced notification layer:
  • Ability to push system alerts to the plugged.in App.
  • Receiving status updates from remote MCP services.
  • Client-side status tracking (read/unread/acknowledged).
  • Programmatic lifecycle management for alerts.
  • Real-Time Operational Metrics: Comprehensive activity logging and visualization:
  • Every invocation of a registered tool is meticulously logged.
  • Contributes data to aggregate trending popularity scores for services.
  • Provides granular usage statistics and adoption insights.
  • Registry Service Integration: Full support for the next-generation service registry specifications:
  • Automatic resolution of service endpoints based on registry entries.
  • Installation tracking and telemetry reporting.
  • Enablement of community-provided service integration.

📦 Features from v1.1.0

  • Streamable HTTP Protocol Support: Full implementation for connecting to backends utilizing the modern Streamable HTTP transport mechanism.
  • Dedicated HTTP Server Mode: Ability to launch the proxy as a standalone web service with customizable network binding.
  • Credential Flexibility: Optional integration of Bearer token authorization for securing external HTTP endpoints.
  • State Management Options: Choice between maintaining persistent sessions or operating in a stateless, request/response mode.

🎯 Core Capabilities from v1.0.0

  • Asynchronous Alerting: Comprehensive tracking of all MCP interactions via a robust notification framework.
  • RAG Integration: Native support for injecting knowledge context from the plugged.in App's document store into queries.
  • Debugging Scripts: Inclusion of standardized inspection utilities for development and debugging workflows.
  • Connectivity Verification: Dedicated /health endpoint for continuous connection status verification.

🔧 Tool Classification

The Nexus distinguishes between two distinct categories of callable interfaces:

🔧 Intrinsic Tools (Always Operational)

These are hardcoded within the proxy and require no external service registration: - pluggedin_discover_tools - Provides instantaneous, cached capability listings. - pluggedin_rag_query - Executes RAG v2 queries across the managed document corpus, supporting advanced AI filtering. - pluggedin_send_notification - Dispatches custom alerts, optionally routed via email. - pluggedin_create_document - (Upcoming) Mechanism for injecting AI-generated content into the central library.

⚡ Dynamic MCP Artifacts (Discovered from Services)

These interfaces are dynamically populated based on the current configuration of connected MCP endpoints: - Database interaction tools (e.g., SQL interfaces for PostgreSQL, SQLite). - Local file system manipulation utilities. - External API interaction modules. - Any custom functions exposed by registered MCP providers.

The discovery mechanism intelligently merges both sets, ensuring AI agents have immediate access to the full spectrum of available operational capabilities.

🚀 Invoking the Discovery Interface

# Rapid listing - returns immediately from the local cache
pluggedin_discover_tools()

# Forced synchronization - returns current data while initiating an asynchronous background refresh  
pluggedin_discover_tools({"force_refresh": true})

# Targeted query for a specific backend instance
pluggedin_discover_tools({"server_uuid": "a-unique-identifier"})

Illustrative Output Structure:

## 🔧 Intrinsic Utilities (Static):
1. **pluggedin_discover_tools** - Expedited capability retrieval via local caching.
2. **pluggedin_rag_query** - RAG v2 knowledge retrieval with integrated AI filtering logic.  
3. **pluggedin_send_notification** - Transmit system or operational alerts.
4. **pluggedin_create_document** - (Future) Inject new artifacts into the knowledge base.

## ⚡ Dynamic Endpoint Capabilities (Count: 8) - Sourced from Registered Servers:
1. **sql_query_readonly** - Execute non-mutating database queries.
2. **secure_random_number_gen** - Produce cryptographically secure random integers.
...

📚 RAG v2 Interaction Examples

The upgraded RAG v2 architecture facilitates complex data management, allowing services to both retrieve and contribute knowledge, fully cataloged by AI provenance:

# Retrieve data filtered by the generating AI model lineage
pluggedin_rag_query({
  "query": "System architecture blueprint",
  "filters": {
    "modelName": "Claude 3 Opus",
    "source": "ai_generated",
    "tags": ["architecture", "design"]
  }
})

# Broad search across heterogeneous data sources
pluggedin_rag_query({
  "query": "Production rollout procedures",
  "filters": {
    "dateFrom": "2024-01-01",
    "visibility": "workspace"
  }
})

# Future Capability: Programmatically store AI findings (Coming Soon)
pluggedin_create_document({
  "title": "Q3 Performance Review Synthesis",
  "content": "# Market Performance\n\nKey insights and projections...",
  "format": "md",
  "tags": ["finance", "quarterly"],
  "metadata": {
    "model": {
      "name": "Gemini 1.5 Pro",
      "provider": "Google"
    }
  }
})

🚀 Quick Start Guide

Prerequisites

  • Node.js runtime environment (Version 18 minimum; v20+ highly recommended).
  • A valid API credential obtained from the plugged.in Developer Console (plugged.in/api-keys).

Deployment

# Install and execute the latest version directly using npx
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

🔄 Migration Path to v1.0.0

Users migrating from previous versions should consult the comprehensive instructions in our Migration Guide.

# For immediate upgrade to the stable 1.0.0 release
npx -y @pluggedin/pluggedin-mcp-proxy@1.0.0 --pluggedin-api-key YOUR_API_KEY

Client Integration Configuration

Claude Desktop Configuration

Embed the proxy launch command within your Claude Desktop settings:

{
  "mcpServers": {
    "pluggedin_nexus": {
      "command": "npx",
      "args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cline Configuration

Similar configuration structure for Cline integration:

{
  "mcpServers": {
    "pluggedin_nexus": {
      "command": "npx",
      "args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
      "env": {
        "PLUGGEDIN_API_KEY": "YOUR_API_KEY"
      }
    }
  }
}

Cursor IDE Integration

Cursor often prefers direct execution via command-line arguments:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY

⚙️ Operational Parameters

Environment Variables

Variable Functionality Description Mandate Default Value
PLUGGEDIN_API_KEY Authentication credential for the Orchestration Platform Mandatory N/A
PLUGGEDIN_API_BASE_URL Endpoint URL for the Orchestration Platform services Optional https://plugged.in

Command Line Invocation Flags

Arguments supplied on the command line override corresponding environment variables:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url https://internal-api.local

Transport Mode Selection

Flag Purpose Default
--transport <mode> Specifies connection method: stdio or streamable-http stdio
--port <num> Network port binding for HTTP mode 12006
--stateless Enforces sessionless operation for HTTP streams false
--require-api-auth Enforces Bearer token validation on HTTP ingress false

Access the comprehensive parameter reference via:

npx -y @pluggedin/pluggedin-mcp-proxy@latest --help

🌐 Streamable HTTP Service Mode

The Nexus can be deployed as a persistent network service, facilitating remote connections and web-based tooling access.

Basic HTTP Server Launch

# Launch on default port (12006) using STDIO credentials
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --pluggedin-api-key YOUR_API_KEY

# Custom port binding
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --port 8080 --pluggedin-api-key YOUR_API_KEY

# Require API key authentication for all HTTP endpoints
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --require-api-auth --pluggedin-api-key YOUR_API_KEY

# Stateless mode (each request is independent)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --transport streamable-http --stateless --pluggedin-api-key YOUR_API_KEY

Available HTTP Interfaces

  • POST /mcp: Primary endpoint for submitting JSON-RPC requests.
  • GET /mcp: Stream endpoint for receiving server-sent events (optional subscription).
  • DELETE /mcp: Gracefully terminates an active session.
  • GET /health: Service availability check endpoint.

Session Persistence

When operating statefully (default), maintain connection context using the mcp-session-id HTTP header:

# Initiation Request (Session ID established by server)
curl -X POST http://localhost:12006/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"tools/list","id":1}'

# Subsequent Request (Reusing established session ID)
curl -X POST http://localhost:12006/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -H "mcp-session-id: <Retrieved_SESSION_ID>" \
  -d '{"jsonrpc":"2.0","method":"tools/call","params":{"name":"tool_name"},"id":2}'

HTTP Endpoint Authorization

If --require-api-auth is active, authentication must be provided via the Authorization: Bearer scheme:

curl -X POST http://localhost:12006/mcp \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","method":"ping","id":1}'

🐳 Containerized Operation

The proxy is fully deployable via Docker images for consistent environments.

Image Assembly

Ensure Docker is operational, navigate to the project root, and execute:

docker build -t pluggedin-mcp-proxy:latest .

A comprehensive .dockerignore is utilized to minimize the build context size.

Running the Instance

STDIO Mode (For direct client piping)

docker run -it --rm \
  -e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
  -e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
  --name pluggedin-mcp-container \
  pluggedin-mcp-proxy:latest

Streamable HTTP Mode (Exposing the service externally)

docker run -d --rm \
  -e PLUGGEDIN_API_KEY="YOUR_API_KEY" \
  -e PLUGGEDIN_API_BASE_URL="YOUR_API_BASE_URL" \
  -p 12006:12006 \
  --name pluggedin-mcp-http \
  pluggedin-mcp-proxy:latest \
  --transport streamable-http --port 12006

Set YOUR_API_KEY and optionally override the default base URL.

Interacting via MCP Inspector (Docker)

Once the container is running in STDIO mode, the MCP Inspector can pipe directly into its standard streams:

npx @modelcontextprotocol/inspector docker://pluggedin-mcp-container

Termination

Stopping the process via Ctrl+C (for interactive mode) or docker stop <container_name> is sufficient. The --rm flag ensures container cleanup upon exit.

🏗️ Internal Architecture & Data Flow

The plugged.in MCP Nexus serves as the central mediator between clients and distributed MCP backends:

sequenceDiagram
    participant MCPClient as MCP Client (e.g. Claude Desktop)
    participant PluggedinMCP as Unified MCP Nexus
    participant PluggedinApp as plugged.in Orchestration Platform
    participant MCPServers as Downstream MCP Services

    MCPClient ->> PluggedinMCP: Query capabilities (tools, resources, prompts)
    PluggedinMCP ->> PluggedinApp: Fetch manifest metadata via API
    PluggedinApp ->> PluggedinMCP: Return consolidated capability list

    MCPClient ->> PluggedinMCP: Execute artifact operation (tool call/read/prompt)
    alt Standardized Resolution
        PluggedinMCP ->> PluggedinApp: Resolve artifact to target service endpoint
        PluggedinApp ->> PluggedinMCP: Deliver service routing information
        PluggedinMCP ->> MCPServers: Forward request to designated service
        MCPServers ->> PluggedinMCP: Transmit result data
    else Custom Operational Directive
        PluggedinMCP ->> PluggedinApp: Retrieve specific custom instruction set
        PluggedinApp ->> PluggedinMCP: Return contextually formatted messages
    end
    PluggedinMCP ->> MCPClient: Final response delivery

    alt Capability Discovery Invocation
        MCPClient ->> PluggedinMCP: Invoke pluggedin_discover_tools
        alt Cache Hit
            PluggedinMCP ->> PluggedinApp: Verify cache freshness
            PluggedinApp ->> PluggedinMCP: Return cached metadata
            PluggedinMCP ->> MCPClient: Immediate response (static + dynamic data)
        else Cache Miss or Refresh Requested
            PluggedinMCP ->> PluggedinApp: Initiate background background data fetch
            PluggedinMCP ->> MCPClient: Return current known capabilities + background status
            PluggedinApp ->> MCPServers: Parallel discovery process initiated
            MCPServers ->> PluggedinApp: Submit fresh service telemetry
        end
    end

🔄 Operational Sequence

  1. Configuration Ingestion: Service mappings and capability definitions are pulled from the plugged.in Orchestration Platform.
  2. Intelligent Discovery (pluggedin_discover_tools):
  3. Cache Check: Prioritizes checking the local, time-stamped cache (< 1 second latency).
  4. Expedited Return: Immediately presents static tools alongside any cached dynamic tools.
  5. Asynchronous Update: If force_refresh=true, it serves current data while a background refresh operation executes.
  6. Full Scan: Only performs a comprehensive remote discovery if the cache is absent or expired.
  7. Capability Manifest Retrieval: The proxy queries the plugged.in App APIs for defined capabilities:
  8. tools/list: Aggregates static intrinsic tools and dynamic server-provided tools.
  9. resources/list, resource-templates/list, prompts/list: Retrieves all relevant configuration schemas.
  10. Prompt Merging: Custom instructions are prioritized and merged with standard prompt definitions.
  11. Artifact Resolution: The Nexus determines the target backend for any given operation:
  12. tools/call: Analyzes the tool name prefix to map it to a registered backend UUID.
  13. resources/read: Calls a specific resolution API endpoint (/api/resolve/resource) to fetch routing metadata.
  14. prompts/get: Checks for an overriding custom instruction before querying the prompt registry.
  15. Forwarding: The incoming JSON-RPC message is encapsulated and transmitted to the identified subordinate MCP service.
  16. Response Relay: The response from the backend is unwrapped and forwarded back to the initiating MCP Client.

🔒 Security Framework

The plugged.in MCP Nexus incorporates layered defenses against common web and execution vulnerabilities to safeguard the host environment:

Data Validation and Purity

  • Injection Safeguards: Rigorous validation and sanitization applied to all incoming command strings and arguments.
  • Environment Handling: Secure parsing routines for .env files, correctly managing quoted and multi-line parameters.
  • Credential Integrity: Strict pattern matching for API keys and session identifiers (e.g., 32-64 character hexadecimal strings).

Network Layer Defenses

  • SSRF Mitigation: Extensive URL validation blocks connection attempts to:
  • All loopback/localhost interfaces (127.0.0.1, ::1).
  • Private network blocks (RFC 1918 ranges).
  • Link-local addressing (169.254.x.x).
  • Known multicast/reserved IP space.
  • Common internal service ports (e.g., database, SSH).
  • HTTP Header Hardening: Protection against injection vectors:
  • Blacklisting of known dangerous header names/values.
  • Validation against RFC 7230 compliance for names.
  • Strict control character filtering.
  • Enforced maximum header size (8KB).
  • Traffic Throttling: Implemented rate limits to prevent abuse:
  • Tool invocation rate: Capped at 60 requests per minute.
  • Orchestration API rate: Capped at 100 requests per minute.
  • Information Leakage Prevention: Error messages are rigorously sanitized to omit internal stack traces or configuration details.

Execution Environment Security

  • Safe Process Invocation: Utilizes child_process.execFile exclusively over the less secure exec to prevent shell command chaining.
  • Process Allowlist: Only explicitly approved executables are permitted to run (e.g., node, npx, python, uv utilities).
  • Argument Scrubbing: All arguments passed to child processes undergo cleaning to strip shell metacharacters.
  • Environment Isolation: Fine-grained control over which environment variables are propagated to spawned processes.

Streamable HTTP Security Enhancements

  • Discovery Exception: Tool discovery (listing capabilities) remains unauthenticated to maximize client compatibility.
  • Session Integrity: Session identifiers are generated using cryptographic randomness.
  • Web Access Control: Configurable Cross-Origin Resource Sharing (CORS) policies.
  • Payload Limits: Implemented limits on request body sizes to counter denial-of-service (DoS) attempts.

Core Security Module

A dedicated module (security-utils.ts) centralizes: - Bearer token parsing and verification. - SSRF-protected URL canonicalization. - Comprehensive command argument scrubbing. - Environment variable schema enforcement. - Rate limiting middleware implementation. - Error response standardization.

Refer to SECURITY.md for the complete technical specification of security controls.

🧩 Synergy with the plugged.in Orchestration Platform

The Unified MCP Nexus is architecturally dependent on the capabilities provided by the central plugged.in App:

  • Centralized configuration management via a web UI.
  • Global capability cataloging (Tools, Resources, Prompt Definitions).
  • RAG v2 Knowledge Repository: Secure, centralized storage for data artifacts, featuring AI-level attribution tracking.
  • Management of system-wide custom instructions.
  • Support for multiple isolated configuration environments (Workspaces).
  • An integrated, model-agnostic testing sandbox.
  • Secure API key and identity management for the entire ecosystem.
  • AI Data Contribution Pipeline: Enabling models to curate and enrich the central knowledge base.

📚 Essential References

🤝 Collaboration Guidelines

We welcome external contributions. Please review our contribution guidelines and submit your enhancements via a standard Pull Request.

📝 Revision History

Version 1.9.0 (Projected Sep 2025) - Security Hardening Milestone

🔒 Advanced Content Sanitization

  • Library Migration: Switched from custom regex filtering to the industry-validated sanitize-html library for HTML content.
  • XSS Vulnerability Closure: Comprehensive defense against all known Cross-Site Scripting vectors.
  • Contextual Safety: Enhanced sanitization specifically targeting HTML attribute contexts (e.g., quote escaping, entity encoding).
  • Logging Integrity: Remediation of potential format string injection flaws within logging routines.
  • Verification: Integrated security testing specifically to validate XSS prevention mechanisms.

🛡️ General Security Patches

  • CodeQL Resolution: Addressed and closed all critical/high findings reported by GitHub CodeQL static analysis.
  • Input Fences: Strengthened validation rules across all external input interfaces.
  • Dependency Refresh: Incorporation of sanitize-html as a key security dependency.
  • Test Augmentation: Expanded the security regression suite to cover boundary conditions.

Version 1.5.0 (Jan 2025) - RAG v2 Implementation

🤖 Knowledge Contribution Framework

  • Service-Side Creation: Enabled MCP services to persist new documents directly into the shared artifact library.
  • Provenance Tracking: Detailed lineage metadata capturing the specific AI model responsible for content generation/modification.
  • Sophisticated Retrieval: Introduction of AI-assisted query filtering based on source, model, time, and user-defined metadata.
  • Version Control: Automatic creation of version snapshots and diff tracking for generated content.
  • Format Agnosticism: Support for ingesting and serving a wide array of file types.

🔍 Enhanced RAG Performance

  • Semantic Indexing: Leveraging optimized database features (e.g., PostgreSQL FTS) for improved relevance matching.
  • Granular Filtering: Ability to filter searches based on data ownership (visibility) and AI origin.
  • Contextual Snippeting: Automatic generation of search result previews with query term highlighting.
  • Efficiency Gains: Significant optimization in indexing and query execution speed.

Version 1.2.0 (Dec 2024)

🔒 Security Hardening

  • SSRF Defense Update: Refined validation logic to block private/reserved IP space access universally.
  • Execution Control: Strictly enforced allowlisting for all executable binaries invoked.
  • Header Injection Defense: Implemented strict parsing and validation for all incoming network headers.
  • Smithery Compatibility: Implemented 'lazy authentication' to decouple initial capability discovery from mandatory credential checks.

🚀 Performance Boosts

  • Docker Image Optimization: Adoption of multi-stage build patterns for production images.
  • Footprint Reduction: Production images now exclude development assets and large test suites.
  • Resource Footprint: Codebase tuned for efficiency in low-resource hosting environments.

🔧 Technical Refinements

  • Improved exception handling within the Streamable HTTP transport module.
  • Enhanced memory management and session cleanup routines.
  • Comprehensive update to TypeScript definitions for improved developer experience.

Version 1.1.0 (Dec 2024)

🚀 New Network Capabilities

  • Streamable HTTP Interoperability: Full support for communicating with backends using the modern, streaming HTTP protocol.
  • Web Service Mode: Option to expose the proxy gateway via a configurable HTTP server interface.
  • Session Flexibility: Introduces the choice between maintaining stateful, long-lived sessions or running in a stateless, transaction-based manner.
  • HTTP Security: Optional implementation of Bearer token authorization for external HTTP access points.

🔧 Code Maintenance

  • MCP SDK updated to v1.13.1 compliance.
  • Integration of Express.js framework for robust HTTP server handling.
  • Refactoring for enhanced TypeScript type safety.

Version 1.0.0 (June 2025)

🎯 Core Feature Rollout

  • Real-Time Alerting: Introduction of a comprehensive, bi-directional notification system for tracking all service activities.
  • RAG Integration: Initial framework for integrating document context retrieval via the plugged.in App into queries.
  • Debugging Toolset: Release of standard inspector scripts for automated system validation.
  • Operational Health Check: Addition of a dedicated /health endpoint for connectivity status reporting.

🔒 Security Launch

  • Input Fences: Implementation of industry-standard input validation and sanitization pipelines.
  • Network Boundary Checks: Enhanced validation targeting Server-Side Request Forgery (SSRF) risks.
  • Environment Security: Secure handling and parsing of configuration secrets via environment variables.
  • Error Disclosure Control: Sanitization layer applied to all outgoing error payloads.

🐛 Stabilization Fixes

  • Resolved JSON-RPC interaction conflicts between standard output and error streams.
  • Fixed edge cases in localhost URL validation for local testing environments.
  • Improved connection stability and addressed memory leaks identified during load testing.

🔧 Developer Experience

  • New suite of debugging scripts for automated pipeline verification.
  • Clarity improvements across error reporting mechanisms.
  • Adoption of structured logging output standards.
  • Deepening of TypeScript type definitions across the codebase.

See Release Notes for a complete feature breakdown.

🧪 Quality Assurance and Development

Local Development Cycle

Tests are bundled for development sanity checks but are excluded from production Docker images to maintain minimal size.

# Execute full test suite locally
npm test
# OR use the dedicated shell script
./scripts/test-local.sh

# Run tests continuously during modification
npm run test:watch

# Execute tests with visual interface access
npm run test:ui

Optimized Container Assembly

The Docker build process utilizes multi-stage construction: - Ensures only production runtime assets are present in the final image layer. - Excludes all testing frameworks and development dependencies. - Optimized specifically for lean deployment on constrained compute resources.

# Build the slimmed-down image
docker build -t pluggedin-mcp .

# Verify the minimized image size
docker images pluggedin-mcp

📄 Licensing

This software is distributed under the permissive MIT License; refer to the LICENSE file for full terms.

🙏 Gratitude

WIKIPEDIA SYNTHESIS: Business administration implements tools spanning departmental needs—from data input and process control to strategic decision support. The rapid technological evolution necessitates managers select and tailor solutions strategically, rather than adopting the newest trend blindly. Modern software evolved from MIS to ERP/CRM, now cloud-centric, emphasizing that effective implementation and careful selection are paramount to realizing IT value. Tools tailored for Small and Medium Enterprises (SMEs) are crucial for cost-effective scaling and efficiency gains.

See Also

`