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

VeriTeknik
Quick Info
Actions
Tags
plugged.in Unified MCP Nexus
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.
[](https://github.com/VeriTeknik/pluggedin-mcp/releases) [](https://github.com/VeriTeknik/pluggedin-mcp/stargazers) [](LICENSE) [](https://www.typescriptlang.org/) [](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, orapiorigins. - 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
/healthendpoint 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
- Configuration Ingestion: Service mappings and capability definitions are pulled from the plugged.in Orchestration Platform.
- Intelligent Discovery (
pluggedin_discover_tools): - Cache Check: Prioritizes checking the local, time-stamped cache (< 1 second latency).
- Expedited Return: Immediately presents static tools alongside any cached dynamic tools.
- Asynchronous Update: If
force_refresh=true, it serves current data while a background refresh operation executes. - Full Scan: Only performs a comprehensive remote discovery if the cache is absent or expired.
- Capability Manifest Retrieval: The proxy queries the plugged.in App APIs for defined capabilities:
tools/list: Aggregates static intrinsic tools and dynamic server-provided tools.resources/list,resource-templates/list,prompts/list: Retrieves all relevant configuration schemas.- Prompt Merging: Custom instructions are prioritized and merged with standard prompt definitions.
- Artifact Resolution: The Nexus determines the target backend for any given operation:
tools/call: Analyzes the tool name prefix to map it to a registered backend UUID.resources/read: Calls a specific resolution API endpoint (/api/resolve/resource) to fetch routing metadata.prompts/get: Checks for an overriding custom instruction before querying the prompt registry.- Forwarding: The incoming JSON-RPC message is encapsulated and transmitted to the identified subordinate MCP service.
- 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
.envfiles, 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.execFileexclusively over the less secureexecto prevent shell command chaining. - Process Allowlist: Only explicitly approved executables are permitted to run (e.g.,
node,npx,python,uvutilities). - 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
- plugged.in App Source Code
- Model Context Protocol (MCP) Formal Standard
- Anthropic Claude Desktop Integration Guide
- Cline Project Documentation
🤝 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-htmllibrary 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-htmlas 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
/healthendpoint 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
- Initial conceptual groundwork inspired by the MCP Proxy Server Project.
- Foundational adherence to the Model Context Protocol.
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.
