Important
Project status (October 2026): open source, community-driven. plugged.in, the hosted service, is moving to a new, separately developed platform. After that move, this repository will no longer run plugged.in. The code stays open source under its current license and continues with open collaboration: issues, pull requests, forks and new maintainers are welcome, and self-hosting remains supported. The cutover date will be announced here at least 60 days in advance. What this means
Enhanced MCP Registry Proxy with PostgreSQL backend, rating system, and admin synchronization with the official MCP Registry at registry.modelcontextprotocol.io.
- PostgreSQL Migration: Complete migration from MongoDB to PostgreSQL for better performance and ACID compliance
- Rating & Review System: 5-star ratings and written reviews for MCP servers
- Admin Sync: Synchronize with official registry.modelcontextprotocol.io
- Security Hardening: SQL injection prevention, input validation, authentication middleware
- Enhanced Admin UI: Server management, status control, search & filter, pagination
- Performance Optimizations: Database indexes, connection pooling, efficient caching
See CHANGELOG for complete release notes.
.
├── proxy/ # Main proxy service (Go)
├── admin/ # Admin web interface (Go + JavaScript)
├── main/ # Deployment infrastructure
│ ├── docker-compose.yml # PostgreSQL, Traefik, services
│ └── enhancement_schema.sql # Database schema
├── registry/ # Upstream MCP Registry (submodule)
└── docs/ # Documentation
The central deployment directory containing:
-
docker-compose.yml: Core infrastructure services
- Traefik (reverse proxy with SSL)
- PostgreSQL (primary database)
- Proxy Service (Enhanced MCP Registry API)
- Admin Service (Management interface)
-
Scripts:
start-all.sh- Starts all servicesstop-all.sh- Stops all services
-
Configuration:
traefik/acme.json- Let's Encrypt SSL certificates
Clean fork of the official MCP registry from modelcontextprotocol/registry.
- Purpose: Provides the official registry API
- Modifications: Minimal, to stay compatible with upstream
- API: Available at https://registry.plugged.in
┌─────────────────┐
│ Internet │
└────────┬────────┘
│
┌────▼────┐
│ Traefik │ (SSL, Routing, Load Balancing)
└────┬────┘
│
┌────▼─────────────────────────────────┐
│ Proxy Service (Port 8090) │
│ • Server listings & search │
│ • Rating & review system │
│ • Stats & analytics │
│ • Sync with official registry │
└────┬──────────────────────────────────┘
│
┌────▼─────────────────────────────────┐
│ Admin Service (Port 8091) │
│ • Server management UI │
│ • Sync preview & execution │
│ • Status management │
│ • Import/Export tools │
└────┬──────────────────────────────────┘
│
┌────▼──────────┐
│ PostgreSQL │ (Primary Database)
│ • servers │ (Server metadata with versioning)
│ • server_stats │ (Ratings, installs, reviews)
│ • server_ratings │ (Individual user ratings)
│ • server_reviews │ (User reviews)
└───────────────┘
- Registry API: https://registry.plugged.in
- Traefik Dashboard: http://localhost:8080 (local only)
cd /home/pluggedin/main
./start-all.shcd /home/pluggedin/main
./stop-all.shdocker psPostgreSQL is the primary database (migrated from MongoDB in v1.0.0):
- Container: postgres
- Port: 5432
- Database: pluggedin
- User: postgres
Core Tables:
servers- Server metadata with versioning supportserver_stats- Installation counts, ratings, and analyticsserver_ratings- Individual user ratings (1-5 stars)server_reviews- Written reviews with timestamps
# Connect to database
docker exec -it postgres psql -U postgres -d pluggedin
# View servers
SELECT server_name, version, status FROM servers WHERE is_latest = true LIMIT 10;
# View ratings
SELECT server_id, AVG(rating) as avg_rating, COUNT(*) as total_ratings
FROM server_ratings GROUP BY server_id;See POSTGRES_MIGRATION_PLAN.md for complete migration guide.
SSL certificates are managed by Traefik using Let's Encrypt:
- Location:
/home/pluggedin/main/traefik/acme.json - Domains: Automatically provisioned for configured hosts
- Renewal: Automatic
-
Pull upstream changes:
cd /home/pluggedin/registry git fetch upstream git merge upstream/main -
Rebuild if needed:
docker compose -f docker-compose.local.yml build
-
Restart services:
cd /home/pluggedin/main ./stop-all.sh ./start-all.sh
-
Check Docker logs:
docker logs <container-name>
-
Verify networks exist:
docker network ls
-
Check port conflicts:
netstat -tulpn | grep -E '(80|443|8080|27017)'
-
Check Traefik logs:
docker logs traefik
-
Verify DNS points to server
-
Check acme.json permissions (should be 600)
The plan is to evolve toward:
┌──────────────┐ ┌─────────────────┐ ┌──────────────┐
│ plugged.in │────▶│ Community API │────▶│ Community DB │
│ Frontend │ │ (Your Backend) │ │ (Your Data) │
└──────┬───────┘ └─────────────────┘ └──────────────┘
│
▼
┌──────────────┐
│ MCP Registry │ (Official registry.modelcontextprotocol.io)
└──────────────┘
This separation allows:
- Independent development of community features
- Easy migration when official registry launches
- Clean upstream compatibility
Previously provided search and analytics features. Deprecated due to:
- High maintenance overhead
- Complex infrastructure (Elasticsearch, Kibana, Redis)
- Upstream registry evolving rapidly
Data and code archived for reference.
- All services run in Docker containers
- MongoDB is not exposed externally (only via Docker network)
- SSL/TLS enforced for all public endpoints
- Traefik dashboard only accessible locally
- Monitor service health
- Check disk space for MongoDB
- Review Docker logs for errors
- Update Docker images if needed
- Review and update dependencies
- Check SSL certificate renewal
- Backup MongoDB data
Major Features:
- Complete PostgreSQL migration with optimized schema
- Rating & review system for MCP servers
- Admin sync with official registry
- Comprehensive security hardening
- Enhanced admin interface
Breaking Changes:
- MongoDB no longer supported (PostgreSQL required)
- New environment variables required (see .env.example)
- Admin authentication now mandatory
See full release notes for details.
For issues or questions:
- GitHub Issues: https://github.com/VeriTeknik/registry-proxy/issues
- Documentation: See DEPLOYMENT_COMPLETE.md and POSTGRES_MIGRATION_PLAN.md
- Official Registry: https://registry.modelcontextprotocol.io
Version: 1.0.0 Last Updated: October 28, 2025 License: MIT