{"id":30792040,"url":"https://github.com/veriteknik/pluggedin-app","last_synced_at":"2025-10-28T02:47:59.579Z","repository":{"id":284060758,"uuid":"953505475","full_name":"VeriTeknik/pluggedin-app","owner":"VeriTeknik","description":"The Crossroads for AI Data Exchanges. A unified, self-hostable web interface for discovering, configuring, and managing Model Context Protocol (MCP) servers—bringing together AI tools, workspaces, prompts, and logs from multiple MCP sources (Claude, Cursor, etc.) under one roof.","archived":false,"fork":false,"pushed_at":"2025-09-01T17:51:16.000Z","size":39557,"stargazers_count":57,"open_issues_count":1,"forks_count":12,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-09-01T19:31:18.823Z","etag":null,"topics":["ai","mcp","mcp-client","mcp-server","model-context-protocol","model-context-protocol-servers","oauth2","rag","vibe-coding"],"latest_commit_sha":null,"homepage":"https://plugged.in","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"metatool-ai/metatool-app","license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VeriTeknik.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":"ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-23T14:26:23.000Z","updated_at":"2025-08-28T06:17:03.000Z","dependencies_parsed_at":"2025-07-03T00:19:03.080Z","dependency_job_id":"ecd63046-bb27-473e-9759-8b657217597e","html_url":"https://github.com/VeriTeknik/pluggedin-app","commit_stats":null,"previous_names":["veriteknik/pluggedin-app"],"tags_count":25,"template":false,"template_full_name":null,"purl":"pkg:github/VeriTeknik/pluggedin-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeriTeknik%2Fpluggedin-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeriTeknik%2Fpluggedin-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeriTeknik%2Fpluggedin-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeriTeknik%2Fpluggedin-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VeriTeknik","download_url":"https://codeload.github.com/VeriTeknik/pluggedin-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VeriTeknik%2Fpluggedin-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273775032,"owners_count":25165741,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-05T02:00:09.113Z","response_time":402,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","mcp","mcp-client","mcp-server","model-context-protocol","model-context-protocol-servers","oauth2","rag","vibe-coding"],"created_at":"2025-09-05T15:11:29.672Z","updated_at":"2025-10-28T02:47:59.572Z","avatar_url":"https://github.com/VeriTeknik.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# plugged.in 🔌\n\n\u003cdiv align=\"center\"\u003e\n\n![plugged.in Logo](https://plugged.in/_next/image?url=%2Fpluggedin-wl.png\u0026w=256\u0026q=75)\n\n**Turn your AI conversations into permanent organizational memory**\n\n[![Version](https://img.shields.io/badge/version-2.12.0-blue?style=for-the-badge)](https://github.com/VeriTeknik/pluggedin-app/releases)\n[![GitHub Stars](https://img.shields.io/github/stars/VeriTeknik/pluggedin-app?style=for-the-badge)](https://github.com/VeriTeknik/pluggedin-app/stargazers)\n[![License](https://img.shields.io/badge/license-MIT-green?style=for-the-badge)](LICENSE)\n[![Docker](https://img.shields.io/badge/docker-ready-blue?style=for-the-badge\u0026logo=docker)](https://ghcr.io/veriteknik/pluggedin-app)\n\n[🚀 Get Started](#-quick-start) • [📚 Documentation](#-documentation) • [🌟 Features](#-key-features) • [💬 Community](#-community--support)\n\n\u003c/div\u003e\n\n---\n\n## 🎯 The Problem We Solve\n\nEvery day, you have brilliant conversations with AI - strategy sessions with GPT-4, code reviews with Claude, analysis with Gemini. But when you close that chat window, all that knowledge vanishes. **This is the \"AI knowledge evaporation\" problem.**\n\n## 💡 The Solution\n\n**plugged.in is the world's first AI Content Management System (AI-CMS)** - a platform that transforms ephemeral AI interactions into persistent, versioned, and searchable organizational knowledge.\n\nThink of it as **\"Git for AI-generated content\"** meets **\"WordPress for AI interactions\"**.\n\n---\n\n## ✨ What Makes plugged.in Special\n\n### 🧠 **AI Memory That Persists**\nYour AI conversations become permanent assets. Every document is versioned, attributed, and searchable.\n\n### 🤝 **Multi-Model Collaboration**\nClaude writes v1, GPT-4 adds technical specs in v2, Gemini refines in v3 - all tracked and attributed.\n\n### 🔌 **Universal MCP Integration**\nWorks with 1,500+ MCP servers. Connect any tool, any AI, any workflow - all through one interface.\n\n### 🔒 **Enterprise-Grade Security**\nEnd-to-end encryption, OAuth 2.1, rate limiting, and sandboxed execution for your peace of mind.\n\n---\n\n## 📊 Real Platform Statistics\n\n```yaml\nDocuments Managed: 90+ (72% AI-generated)\nIntegrated MCP Servers: 1,568\nActive Versioning: Documents with up to 4 iterations\nModel Attributions: 17 different AI models tracked\nSearch Performance: Sub-second RAG queries\nSecurity: AES-256-GCM encryption, Redis rate limiting\n```\n\n---\n\n## 🚀 Quick Start\n\n### Docker (Recommended - 2 minutes)\n\n```bash\n# Clone and setup\ngit clone https://github.com/VeriTeknik/pluggedin-app.git\ncd pluggedin-app\ncp .env.example .env\n\n# Start with Docker\ndocker compose up --build -d\n\n# Visit http://localhost:12005\n```\n\n### Cloud Version\n\nVisit [plugged.in](https://plugged.in) for instant access - no installation required.\n\n---\n\n## 🌟 Key Features\n\n### 📚 Document Management \u0026 Versioning\n- **Version Control**: Track every change with Git-style history\n- **Model Attribution**: Know which AI contributed what\n- **Smart Search**: Semantic search across all documents\n- **Multiple Formats**: PDF, Markdown, Code, Images, and more\n- **Dual Storage Display**: View both file and RAG vector storage usage\n\n### 🔧 MCP Server Hub\n- **1,500+ Integrations**: Connect to any MCP-compatible tool\n- **Auto-Discovery**: Find and configure servers from GitHub, npm, Smithery\n- **Registry Integration**: Claim and manage servers with GitHub credentials\n- **Unified Interface**: One API key, all your tools\n- **Tool Prefixing**: Automatic namespace management prevents conflicts\n- **OAuth Support**: Server-side OAuth handling for MCP servers\n\n### 🎮 Interactive Playground\n- **Test Any Model**: Claude, GPT-4, Gemini, and more\n- **Live Debugging**: See real-time MCP interactions\n- **RAG Integration**: Use your documents as context\n- **Custom Instructions**: Per-server configuration\n- **Extensive Logging**: Detailed debugging capabilities\n\n### 🔔 Real-Time Intelligence\n- **Activity Tracking**: Monitor all MCP operations\n- **Email Notifications**: Stay informed about important events\n- **Trending Analytics**: See what tools are popular\n- **Audit Logs**: Complete activity history\n- **Bidirectional Notifications**: Send, receive, mark as read\n\n### 🔐 Security First\n- **End-to-End Encryption**: AES-256-GCM for all sensitive data\n- **Per-Profile Encryption**: Isolated encryption keys per workspace\n- **OAuth 2.1**: Modern authentication flows\n- **Sandboxed Execution**: Firejail isolation on Linux\n- **Redis Rate Limiting**: Advanced DDoS protection with fallback\n- **LRU Cache**: Memory-efficient caching with automatic eviction\n- **Enhanced Password Security**: Bcrypt cost factor 14 (16,384 iterations)\n- **Dynamic CSP Nonces**: Cryptographically secure Content Security Policy\n- **Security Headers**: HSTS, X-Frame-Options, X-Content-Type-Options\n\n### 🏢 Hub \u0026 Workspace Management\n- **Multi-Hub Architecture**: Organize projects into separate hubs\n- **Workspace Isolation**: Each hub contains multiple isolated workspaces\n- **Smart Hub Switching**: Automatic workspace selection when switching hubs\n- **Data Scoping**: Hub-level and workspace-level data isolation\n- **Current Hub Display**: Dashboard shows active hub for context awareness\n\n---\n\n## 🏗️ Architecture\n\n\u003cdiv align=\"center\"\u003e\n\n![plugged.in Architecture](./docs/images/pluggedin-architecture.png)\n\n\u003c/div\u003e\n\n### Architecture Overview\n\nplugged.in acts as **the central hub** connecting various AI clients, development tools, and programming languages with your knowledge base and the broader MCP ecosystem. The architecture is designed for maximum flexibility and extensibility.\n\n### 🟢 Production-Ready Integrations (Solid Lines)\n\n#### **MCP Proxy Interface**\nThe MCP Proxy serves as a unified gateway that aggregates multiple MCP servers into a single interface:\n\n- **Claude Code** - Official Anthropic CLI for Claude with native MCP support\n- **Cline** - VS Code extension for AI-assisted development\n- **LM Studio** - Local model execution with MCP integration\n- **Claude Desktop** - Anthropic's desktop application\n\n**How it works**: Each AI client connects via STDIO, receiving access to all your configured MCP servers through one connection. The proxy handles:\n- Tool prefixing to prevent namespace conflicts\n- OAuth authentication for MCP servers\n- Activity logging and notifications\n- Unified error handling\n\n#### **SDK Support - Multi-Language Integration**\nDirect programmatic access through official SDKs:\n\n- **JavaScript/TypeScript SDK** (`@pluggedin/sdk`) - Full-featured SDK for Node.js and browser\n- **Python SDK** (`pluggedin-sdk`) - Pythonic interface for AI workflows\n- **Go SDK** (`pluggedin-go`) - High-performance Go implementation\n\n**Use Cases**:\n```javascript\n// Create documents programmatically\nconst doc = await client.documents.create({\n  title: \"API Analysis\",\n  content: \"...\",\n  source: \"api\"\n});\n\n// Query RAG knowledge base\nconst results = await client.rag.query(\"How do we handle auth?\");\n```\n\n#### **Platform Core Features**\nThe plugged.in web platform provides:\n\n1. **Knowledge Base (RAG)**\n   - Semantic search across all documents\n   - AI-powered question answering\n   - Project-scoped isolation\n   - Sub-second query performance\n\n2. **Document Store**\n   - Version control for AI-generated content\n   - Multi-model attribution tracking\n   - Content hash deduplication\n   - Support for uploads, AI-generated, and API sources\n\n3. **MCP Registry**\n   - 1,500+ curated MCP servers\n   - GitHub verification and claiming\n   - Install tracking and trending\n   - Auto-discovery from npm, GitHub, Smithery\n\n4. **Tools Management**\n   - Discover tools from all connected servers\n   - Test tools in interactive playground\n   - Custom instructions per server\n   - Real-time debugging logs\n\n### 🟡 In Development (Dashed Lines)\n\n#### **Native Connectors**\nDirect integrations bypassing the MCP Proxy for enhanced performance:\n\n- **Plugged.in Connector for Claude Desktop** - Native plugin architecture\n- **Plugged.in Connector for ChatGPT** - OpenAI plugin integration\n- **Mobile App** - iOS and Android native apps\n\n**Why Native Connectors?**\n- Faster response times (no proxy overhead)\n- Richer UI integration\n- Platform-specific features\n- Offline capabilities\n\n#### **Advanced Memory System**\nPersistent memory across sessions:\n\n- **Knowledge + Memory** boxes in the diagram represent:\n  - Session continuity across different AI clients\n  - Automatic context injection based on conversation history\n  - Cross-model memory sharing (Claude remembers what GPT discussed)\n  - Smart context pruning to stay within token limits\n\n**Example Workflow**:\n1. Discuss architecture with Claude Desktop → Memory saved\n2. Switch to ChatGPT connector → Previous context automatically available\n3. Mobile app accesses same conversation history\n4. RAG provides relevant documents automatically\n\n### 📊 Data Flow Example\n\n**User Request Flow**:\n```\n1. User asks question in Claude Desktop\n2. MCP Proxy receives request\n3. Proxy checks RAG for relevant context\n4. Combines context + user question\n5. Routes to appropriate MCP servers\n6. Aggregates responses\n7. Logs activity to database\n8. Returns enriched response to user\n```\n\n**Document Creation Flow**:\n```\n1. AI generates document via SDK\n2. Content processed and sanitized\n3. Model attribution recorded\n4. Version created in Document Store\n5. Vectors generated for RAG\n6. Document searchable immediately\n```\n\n### 🔒 Security Architecture\n\nAll connections use:\n- **End-to-end encryption** (AES-256-GCM)\n- **Per-profile encryption keys** (workspace isolation)\n- **Redis rate limiting** with memory fallback\n- **Sandboxed execution** (Firejail on Linux)\n- **OAuth 2.1** for external services\n\n### 📈 Scalability\n\nThe architecture supports:\n- **Horizontal scaling** of MCP Proxy instances\n- **Database connection pooling** for PostgreSQL\n- **Redis caching** for frequently accessed data\n- **CDN integration** for static assets\n- **Background job processing** for heavy operations\n\n---\n\n## 📚 Documentation\n\nVisit our comprehensive documentation at [docs.plugged.in](https://docs.plugged.in)\n\n### For Users\n- [Getting Started](https://docs.plugged.in/introduction) - Platform overview and quick start\n- [Installation Guide](https://docs.plugged.in/quickstart/installation) - Step-by-step setup instructions\n- [Document Library](https://docs.plugged.in/platform/document-library) - Managing your AI knowledge base\n- [RAG Knowledge Base](https://docs.plugged.in/tutorials/rag-knowledge-base) - Setting up RAG for AI context\n- [Team Collaboration](https://docs.plugged.in/tutorials/team-collaboration) - Working with your team\n\n### For Developers\n- [API Reference](https://docs.plugged.in/api/reference) - Complete API documentation\n- [API Authentication](https://docs.plugged.in/api/authentication) - API key and authentication guide\n- [Self-Hosting Guide](https://docs.plugged.in/tutorials/self-hosting) - Deploy your own instance\n- [Docker Deployment](https://docs.plugged.in/deployment/docker) - Container-based deployment\n- [Security Overview](https://docs.plugged.in/security/overview) - Security best practices\n\n### MCP Integration\n- [MCP Proxy Overview](https://docs.plugged.in/mcp-proxy/overview) - Understanding the proxy architecture\n- [MCP Proxy Installation](https://docs.plugged.in/mcp-proxy/installation) - Setting up the proxy\n- [Custom MCP Servers](https://docs.plugged.in/tutorials/custom-mcp-server) - Building your own servers\n\n---\n\n## 🛠️ Installation Options\n\n### Requirements\n- Node.js 18+ (20+ recommended)\n- PostgreSQL 15+\n- Redis (optional, for rate limiting)\n- Docker \u0026 Docker Compose (for containerized deployment)\n\n### Environment Variables\n\nCreate a `.env` file with:\n\n```bash\n# Core (Required)\nDATABASE_URL=postgresql://user:pass@localhost:5432/pluggedin\nNEXTAUTH_URL=http://localhost:12005\nNEXTAUTH_SECRET=your-secret-key # Generate: openssl rand -base64 32\n\n# Security (Required)\nNEXT_SERVER_ACTIONS_ENCRYPTION_KEY= # Generate: openssl rand -base64 32\n\n# Features (Optional)\nENABLE_RAG=true\nENABLE_NOTIFICATIONS=true\nENABLE_EMAIL_VERIFICATION=true\nREDIS_URL=redis://localhost:6379  # For Redis rate limiting\n\n# Email (For notifications)\nEMAIL_SERVER_HOST=smtp.example.com\nEMAIL_SERVER_PORT=587\nEMAIL_FROM=noreply@example.com\n\n# Performance (Optional)\nRAG_CACHE_TTL_MS=60000  # Cache TTL in milliseconds\n```\n\n### Manual Installation\n\n```bash\n# Install dependencies\npnpm install\n\n# Setup database\npnpm db:migrate:auth\npnpm db:generate\npnpm db:migrate\n\n# Build for production\nNODE_ENV=production pnpm build\n\n# Start the server\npnpm start\n```\n\n---\n\n## 🔌 MCP Proxy Integration\n\nConnect your AI clients to plugged.in:\n\n### Claude Desktop\n\n```json\n{\n  \"mcpServers\": {\n    \"pluggedin\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@pluggedin/pluggedin-mcp-proxy@latest\"],\n      \"env\": {\n        \"PLUGGEDIN_API_KEY\": \"YOUR_API_KEY\"\n      }\n    }\n  }\n}\n```\n\n### Cursor IDE\n\n```bash\nnpx -y @pluggedin/pluggedin-mcp-proxy@latest --pluggedin-api-key YOUR_API_KEY\n```\n\n---\n\n## 🎯 Use Cases\n\n### For Developers\n- **Code Review Memory**: Keep AI code reviews across sessions\n- **Documentation Generation**: Auto-generate and version technical docs\n- **Bug Analysis Archive**: Store AI debugging sessions for future reference\n\n### For Teams\n- **Knowledge Base**: Build institutional memory from AI interactions\n- **Meeting Summaries**: AI-generated summaries with full attribution\n- **Strategy Documents**: Collaborative AI-assisted planning with version control\n\n### For Enterprises\n- **Compliance Tracking**: Full audit trail of AI-generated content\n- **Multi-Model Workflows**: Orchestrate different AIs for complex tasks\n- **Secure Deployment**: Self-host with complete data control\n\n---\n\n## 📊 Why Teams Choose plugged.in\n\n| Feature | plugged.in | Traditional AI Chat | MCP Clients Alone |\n|---------|------------|-------------------|-------------------|\n| Persistent Memory | ✅ Full versioning | ❌ Session only | ❌ No storage |\n| Multi-Model Support | ✅ All models | ⚠️ Single vendor | ✅ Multiple |\n| Document Management | ✅ Complete CMS | ❌ None | ❌ None |\n| Attribution Tracking | ✅ Full audit trail | ❌ None | ❌ None |\n| Team Collaboration | ✅ Built-in | ❌ None | ❌ Limited |\n| Self-Hostable | ✅ Yes | ⚠️ Varies | ✅ Yes |\n| RAG Integration | ✅ Native | ⚠️ Limited | ❌ None |\n\n---\n\n## 🤝 Community \u0026 Support\n\n- **GitHub Discussions**: [Join the conversation](https://github.com/orgs/VeriTeknik/discussions)\n- **GitHub Issues**: [Bug reports and feature requests](https://github.com/VeriTeknik/pluggedin-app/issues)\n- **Reddit**: [r/plugged_in](https://www.reddit.com/r/plugged_in/)\n- **Twitter/X**: [@PluggedIntoAI](https://x.com/PluggedIntoAI)\n- **Email**: team@plugged.in\n\n### Contributing\n\nWe love contributions! See our [Contributing Guide](CONTRIBUTING.md) for details.\n\n```bash\n# Fork the repo, then:\ngit clone https://github.com/YOUR_USERNAME/pluggedin-app.git\ncd pluggedin-app\npnpm install\npnpm dev\n```\n\n---\n\n## 📜 License\n\nMIT License - see [LICENSE](LICENSE) for details.\n\n---\n\n## 🙏 Acknowledgments\n\nBuilt on top of these amazing projects:\n- [Model Context Protocol](https://modelcontextprotocol.io/) by Anthropic\n- [Next.js](https://nextjs.org/) for the web framework\n- [PostgreSQL](https://www.postgresql.org/) for reliable data storage\n- All the MCP server creators in our community\n\n---\n\n## 📝 Release Notes\n\n**Latest Release: v2.12.0** - Enhanced Security \u0026 Performance\n\nView the full changelog and release notes at [docs.plugged.in/releases](https://docs.plugged.in/releases/changelog)\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\n**Ready to give your AI permanent memory?**\n\n[🚀 **Start Now**](https://plugged.in) • [⭐ **Star on GitHub**](https://github.com/VeriTeknik/pluggedin-app/stargazers)\n\n*If you find plugged.in useful, please star the repo - it helps others discover the project!*\n\n\u003c/div\u003e","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveriteknik%2Fpluggedin-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveriteknik%2Fpluggedin-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveriteknik%2Fpluggedin-app/lists"}