The Crossroads for AI Data Exchanges
A unified MCP hub that gives your AI Knowledge, Memory, and Tools — not just a proxy. Manage and test all MCP servers from a single connection while powering document-aware and memory-augmented workflows across clients.
[](https://smithery.ai/server/@VeriTeknik/pluggedin-mcp)
[](https://github.com/VeriTeknik/pluggedin-mcp/releases)
[](https://github.com/VeriTeknik/pluggedin-mcp/stargazers)
[](LICENSE)
[](https://www.typescriptlang.org/)
[](https://modelcontextprotocol.io/)
[](https://lobehub.com/mcp/veriteknik-pluggedin-mcp)
## 📋 Overview
The plugged.in MCP Proxy Server is a powerful middleware that aggregates multiple Model Context Protocol (MCP) servers into a single unified interface. It fetches tool, prompt, and resource configurations from the [plugged.in App](https://github.com/VeriTeknik/pluggedin-app) and intelligently routes requests to the appropriate underlying MCP servers.
This proxy enables seamless integration with any MCP client (Claude, Cline, Cursor, etc.) while providing advanced management capabilities through the plugged.in ecosystem.
## Hub Pillars: Knowledge · Memory · Tools · Proxy
**Knowledge (RAG v2 / AI Document Exchange)**
Search and ground model outputs with unified, attribution‑aware document retrieval. MCP servers can create and manage documents in your library with versioning, visibility controls, and model attribution. Use the built‑in RAG to search across all connected sources and return relevant snippets and metadata.
**Memory (Persistent AI Memory)**
Long‑lived, workspace/profile‑scoped memory that survives sessions. The hub integrates with the plugged.in App's persistent memory so agent actions and insights can be stored and recalled across tasks. Built‑in memory tools are on the roadmap to expose low‑friction `get/put/search` patterns under the same auth model.
**Tools**
Aggregate built‑in capabilities with downstream MCP servers (STDIO, SSE, Streamable HTTP). Tool discovery is cached and can be refreshed on demand; hub‑level discovery returns a unified catalog for any MCP client. The hub supports tools, resources, resource templates, and prompts.
**Proxy**
One connection for every client. Run as STDIO (default) or Streamable HTTP with optional API auth and stateless mode. Works with Claude Desktop, Cline, Cursor, MCP Inspector, and more; keep your existing client configs while centralizing policies and telemetry.
> ⭐ **If you find this project useful, please consider giving it a star on GitHub!** It helps us reach more developers and motivates us to keep improving.
## ✨ Key Features
### 🚀 Core Capabilities
- **Built-in AI Playground**: Test your MCPs instantly with Claude, Gemini, OpenAI, and xAI without any client setup
- **Universal MCP Compatibility**: Works with any MCP client including Claude Desktop, Cline, and Cursor
- **Multi-Server Support**: Connect to STDIO, SSE, and Streamable HTTP MCP servers
- **Dual Transport Modes**: Run proxy as STDIO (default) or Streamable HTTP server
- **Unified Document Search**: Search across all connected servers with built-in RAG capabilities
- **AI Document Exchange (RAG v2)**: MCP servers can create and manage documents in your library with full attribution
- **Notifications from Any Model**: Receive real-time notifications with optional email delivery
- **Multi-Workspace Layer**: Switch between different sets of MCP configurations with one click
- **API-Driven Proxy**: Fetches capabilities from plugged.in App APIs rather than direct discovery
- **Full MCP Support**: Handles tools, resources, resource templates, and prompts
- **Custom Instructions**: Supports server-specific instructions formatted as MCP prompts
### 🎯 New in v1.5.0 (RAG v2 - AI Document Exchange)
- **AI Document Creation**: MCP servers can now create documents directly in your library
- Full model attribution tracking (which AI created/updated the document)
- Version history with change tracking
- Content deduplication via SHA-256 hashing
- Support for multiple formats: MD, TXT, JSON, HTML, PDF, and more
- **Advanced Document Search**: Enhanced RAG queries with AI filtering
- Filter by AI model, provider, date range, tags, and source type
- Semantic search with relevance scoring
- Automatic snippet generation with keyword highlighting
- Support for filtering: `ai_generated`, `upload`, or `api` sources
- **Document Management via MCP**:
- Set document visibility: private, workspace, or public
- Parent-child relationships for document versions
- Profile-based organization alongside project-based scoping
- Real-time progress tracking for document processing
### 🎯 Features from v1.4.0 (Registry v2 Support)
- **OAuth Token Management**: Seamless OAuth authentication handling for Streamable HTTP MCP servers
- Automatic token retrieval from plugged.in App
- Secure token storage and refresh mechanisms
- No client-side authentication needed
- **Enhanced Notification System**: Bidirectional notification support
- Send notifications to plugged.in App
- Receive notifications from MCP servers
- Mark notifications as read/unread
- Delete notifications programmatically
- **Trending Analytics**: Real-time activity tracking
- Every tool call is logged and tracked
- Contributes to trending server calculations
- Usage metrics and popularity insights
- **Registry Integration**: Full support for Registry v2 features
- Automatic server discovery from registry
- Installation tracking and metrics
- Community server support
### 📦 Features from v1.1.0
- **Streamable HTTP Support**: Full support for downstream MCP servers using Streamable HTTP transport
- **HTTP Server Mode**: Run the proxy as an HTTP server with configurable ports
- **Flexible Authentication**: Optional Bearer token authentication for HTTP endpoints
- **Session Management**: Choose between stateful (session-based) or stateless operation modes
### 🎯 Core Features from v1.0.0
- **Real-Time Notifications**: Track all MCP activities with comprehensive notification support
- **RAG Integration**: Support for document-enhanced queries through the plugged.in App
- **Inspector Scripts**: Automated testing tools for debugging and development
- **Health Monitoring**: Built-in ping endpoint for connection monitoring
## 🔧 Tool Categories
The proxy provides two distinct categories of tools:
### 🔧 Static Built-in Tools (Always Available)
These tools are built into the proxy and work without any server configuration:
- **`pluggedin_discover_tools`** - Smart discovery with caching for instant results
- **`pluggedin_ask_knowledge_base`** - RAG search across your documents with AI filtering capabilities
- **`pluggedin_send_notification`** - Send notifications with optional email delivery
- **`pluggedin_create_document`** - Create AI-generated documents in your library
- **`pluggedin_list_documents`** - List documents with filtering options
- **`pluggedin_search_documents`** - Search for specific documents by query
- **`pluggedin_get_document`** - Retrieve a specific document's full content by ID
- **`pluggedin_update_document`** - Update or append to an existing document
#### 📋 Clipboard Tools (Memory System)
- **`pluggedin_clipboard_set`** - Set a clipboard entry by name (semantic key) or index
- **`pluggedin_clipboard_get`** - Get clipboard entries by name, index, or list all
- **`pluggedin_clipboard_delete`** - Delete clipboard entries by name, index, or clear all
- **`pluggedin_clipboard_list`** - List all clipboard entries with metadata
- **`pluggedin_clipboard_push`** - Push a value with auto-incrementing index (stack push)
- **`pluggedin_clipboard_pop`** - Pop the highest-indexed entry (LIFO behavior)
### ⚡ Dynamic MCP Tools (From Connected Servers)
These tools come from your configured MCP servers and can be turned on/off:
- Database tools (PostgreSQL, SQLite, etc.)
- File system tools
- API integration tools
- Custom tools from any MCP server
The discovery tool intelligently shows both categories, giving AI models immediate access to all available capabilities.
### 🚀 Discovery Tool Usage
```bash
# Quick discovery - returns cached data instantly
pluggedin_discover_tools()
# Force refresh - shows current tools + runs background discovery
pluggedin_discover_tools({"force_refresh": true})
# Discover specific server
pluggedin_discover_tools({"server_uuid": "uuid-here"})
```
**Example Response:**
```
## 🔧 Static Built-in Tools (Always Available):
1. **pluggedin_discover_tools** - Smart discovery with caching
2. **pluggedin_rag_query** - RAG v2 search across documents with AI filtering
3. **pluggedin_send_notification** - Send notifications
4. **pluggedin_create_document** - (Coming Soon) Create AI-generated documents
## ⚡ Dynamic MCP Tools (8) - From Connected Servers:
1. **query** - Run read-only SQL queries
2. **generate_random_integer** - Generate secure random integers
...
```
### 📋 Clipboard Usage Examples
The clipboard system provides persistent memory for AI workflows:
```bash
# Store a named entry (upserts if exists)
pluggedin_clipboard_set({
"name": "customer_context",
"value": "{\"name\": \"John Doe\", \"account_id\": \"12345\"}",
"contentType": "application/json"
})
# Store an indexed entry for ordered pipelines
pluggedin_clipboard_set({
"idx": 0,
"value": "First pipeline step result",
"createdByTool": "data_processor"
})
# Push to stack (auto-incrementing index)
pluggedin_clipboard_push({
"value": "Analysis result from step 1",
"contentType": "text/plain"
})
# Get a specific entry by name
pluggedin_clipboard_get({"name": "customer_context"})
# Pop from stack (LIFO - returns and removes highest index)
pluggedin_clipboard_pop()
# List all entries with metadata
pluggedin_clipboard_list({"limit": 20})
# Delete specific entry
pluggedin_clipboard_delete({"name": "customer_context"})
# Clear all clipboard entries
pluggedin_clipboard_delete({"clearAll": true})
```
### 📚 RAG v2 Usage Examples
The enhanced RAG v2 system allows MCP servers to create and search documents with full AI attribution:
```bash
# Search for documents created by specific AI models
pluggedin_rag_query({
"query": "system architecture",
"filters": {
"modelName": "Claude 3 Opus",
"source": "ai_generated",
"tags": ["technical"]
}
})
# Search across all document sources
pluggedin_rag_query({
"query": "deployment guide",
"filters": {
"dateFrom": "2024-01-01",
"visibility": "workspace"
}
})
# Future: Create AI-generated documents (Coming Soon)
pluggedin_create_document({
"title": "Analysis Report",
"content": "# Market Analysis\n\nDetailed findings...",
"format": "md",
"tags": ["analysis", "market"],
"metadata": {
"model": {
"name": "Claude 3 Opus",
"provider": "Anthropic"
}
}
})
```
## 🚀 Quick Start
### Prerequisites
- Node.js 18+ (recommended v20+)
- An API key from the plugged.in App (get one at [plugged.in/api-keys](https://plugged.in/api-keys))
### Installation
```bash
# Install and run with npx (latest v1.0.0)
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY
```
### 🔄 Upgrading to v1.0.0
For existing installations, see our [Migration Guide](./MIGRATION_GUIDE_v1.0.0.md) for detailed upgrade instructions.
```bash
# Quick upgrade
npx -y @pluggedin/pluggedin-mcp-proxy@1.0.0 --pluggedin-api-key YOUR_API_KEY
```
### Configuration for MCP Clients
#### Claude Desktop
Add the following to your Claude Desktop configuration:
```json
{
"mcpServers": {
"pluggedin": {
"command": "npx",
"args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
"env": {
"PLUGGEDIN_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
#### Cline
Add the following to your Cline configuration:
```json
{
"mcpServers": {
"pluggedin": {
"command": "npx",
"args": ["-y", "@pluggedin/pluggedin-mcp-proxy@latest"],
"env": {
"PLUGGEDIN_API_KEY": "YOUR_API_KEY"
}
}
}
}
```
#### Cursor
For Cursor, you can use command-line arguments instead of environment variables:
```bash
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY
```
## ⚙️ Configuration Options
### Environment Variables
| Variable | Description | Required | Default |
|----------|-------------|----------|---------|
| `PLUGGEDIN_API_KEY` | API key from plugged.in App | Yes | - |
| `PLUGGEDIN_API_BASE_URL` | Base URL for plugged.in App | No | `https://plugged.in` |
### Command Line Arguments
Command line arguments take precedence over environment variables:
```bash
npx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY --pluggedin-api-base-url https://your-custom-url.com
```
#### Transport Options
| Option | Description | Default |
|--------|-------------|---------|
| `--transport