pluggedin-app
Verified Safeby VeriTeknik
Overview
A testing environment for MCP (Model Context Protocol) servers, enabling interaction via a chat interface powered by Large Language Models (LLMs) and LangChain ReAct framework.
Installation
docker-compose -f docker-compose.production.yml up -dEnvironment Variables
- DATABASE_URL
- NEXTAUTH_SECRET
- NEXTAUTH_URL
- NEXT_SERVER_ACTIONS_ENCRYPTION_KEY
- EMAIL_SERVER_HOST
- EMAIL_SERVER_PORT
- EMAIL_SERVER_USER
- EMAIL_SERVER_PASSWORD
- EMAIL_FROM
- ANTHROPIC_API_KEY
- OPENAI_API_KEY
- GOOGLE_API_KEY
- REGISTRY_API_URL
- GITHUB_CLIENT_ID
- GITHUB_CLIENT_SECRET
- PLUGGEDIN_API_KEY
- REDIS_URL
- MCP_ISOLATION_TYPE
- MCP_ISOLATION_FALLBACK
- MCP_ENABLE_NETWORK_ISOLATION
- MCP_PACKAGE_STORE_DIR
- MCP_PNPM_STORE_DIR
- MCP_UV_CACHE_DIR
- UPLOADS_DIR
- RAG_API_URL
- ENABLE_RAG
- CRON_SECRET
- ADMIN_MIGRATION_SECRET
Security Notes
The project demonstrates robust security practices for a complex application that interacts with and executes untrusted external code (MCP servers). Key strengths include: extensive path validation and sanitization (`lib/secure-path-builder.ts`, `lib/path-validation.ts`, `lib/validation-utils.ts`) to prevent path traversal; comprehensive Content Security Policy (CSP) implementation (`lib/csp-nonce.ts`, `middleware.ts`) and HTML sanitization (`lib/sanitization.ts`) to prevent XSS; strict URL validation (`lib/url-validator.ts`, `lib/security/validators.ts`) to mitigate Server-Side Request Forgery (SSRF) and Open Redirect vulnerabilities; strong password management with `bcrypt` (cost factor 14) and brute-force protection (`lib/auth-security.ts`); and secure handling of sensitive credentials via AES-256-GCM encryption with `scrypt` key derivation (`lib/encryption.ts`, `lib/encryption-v2.ts`). Crucially, the application utilizes `firejail` and `bubblewrap` for sandboxing STDIO-based MCP servers on Linux (`lib/mcp/client-wrapper.ts`), isolating processes, network, and filesystem access to prevent malicious server code from affecting the host system. OAuth flows are secured with PKCE, state management, and integrity hashing (`lib/mcp/oauth/*`). Robust rate limiting is applied across API endpoints and server actions. Drizzle ORM provides SQL injection protection. Structured logging and Prometheus metrics are in place for observability of security events. Minor considerations include the reliance on correct host-system setup for `firejail`/`bubblewrap` and the parsing of external JSON (e.g., from LLM outputs, GitHub APIs) within a sandboxed context, though standard JSON parsers are generally robust. Overall, the project shows a high level of security awareness and implementation.
Similar Servers
mcp-documentation-server
A local-first MCP server for document management, semantic search, and AI-powered document intelligence.
scraps
A local CLI tool and Model Context Protocol (MCP) server for managing interconnected Markdown documentation, enabling static site generation, searching, templating, and AI assistant integration for knowledge base interaction.
llms
A centralized configuration and documentation management system for LLMs, providing tools for building skills, commands, agents, prompts, and managing MCP servers across multiple LLM providers.
memory-journal-mcp
Provides persistent project context and knowledge graphs for AI-assisted development, bridging fragmented AI threads by capturing Git, GitHub, and journal activity.