xmmarcotte/marcotte-dev
If you are the rightful owner of marcotte-dev and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to dayong@mcphub.com.
The mcp-server-qdrant is a Model Context Protocol server designed to integrate with the Qdrant vector search engine, providing a semantic memory layer for storing and retrieving information.
marcotte-dev
Infrastructure and services for my Oracle Cloud Always Free instance.
Tailscale IP: <TAILSCALE_IP> (private mesh network - see GitHub Secrets)
Public IP: <PUBLIC_IP> (Oracle Cloud - see GitHub Secrets)
Domain: marcotte.dev (future)
Services
Semantic memory and codebase intelligence MCP server for Cursor IDE.
Status: ✅ Production (deployed and running)
Endpoint: http://<TAILSCALE_IP>:3856/mcp
Tech: Python, FastMCP, Qdrant, FastEmbed
Features:
- Persistent memory across all machines
- Semantic memory search across all projects
- Architectural decision tracking
- Code pattern recognition and storage
- Pure memory-first workflow (no codebase indexing)
- Cursor integration for local code intelligence
See for details.
Infrastructure
Oracle Cloud Always Free
- Instance: VM.Standard.A1.Flex
- CPU: 4 ARM cores (Ampere Altra)
- RAM: 24GB
- Storage: 200GB boot volume
- Cost: $0/month (free forever)
Networking
- Tailscale: Private mesh VPN for secure access
- Public IP: Only for initial setup, then Tailscale-only
- Firewall: iptables + Oracle Cloud security lists
Backups
- Primary: Automated daily rsync to local machine via Tailscale
- Location:
~/.marcotte-dev-backup/on your laptop/desktop - Schedule: Daily at 2:00 AM (with catch-up on boot if missed)
- Method: Systemd timer (runs on your local machine)
- Retention: Single current mirror (fast recovery)
- Scripts: See
Quick Start
🎯 Option 1: GitHub Actions CI/CD (Manual Trigger)
Deploy from GitHub Actions:
- Set up GitHub Secrets (see )
- Go to Actions → Deploy to Oracle Cloud → Run workflow
- Choose action and click Run workflow
- GitHub Actions handles everything automatically!
Benefits:
- ✅ No local setup required
- ✅ Data preservation during redeploys
- ✅ Full infrastructure automation
- ✅ Run on-demand when you're ready
See for details.
🚀 Option 2: Local Automated Provisioning
First time setup:
- Configure Terraform (see )
- Run full provisioning:
This automatically:
./scripts/provision.sh- Provisions infrastructure (VM, networking, security)
- Installs Docker, Tailscale, and system updates
- Restores data from backup (if exists)
- Deploys all services
Redeploy after updates:
# Just run the same command - it handles everything including data preservation!
./scripts/provision.sh
Manual Deployment (If Instance Already Exists)
# Deploy all services
./scripts/deploy.sh <oracle-tailscale-ip>
# Deploy specific service
./scripts/deploy.sh <oracle-tailscale-ip> spot-mcp-server
Set Up Backups
Run on your local machine (laptop/desktop):
# Systemd timer - runs daily at 2 AM, catches up on boot if missed
./scripts/setup-systemd-backup.sh <TAILSCALE_IP> ~/.marcotte-dev-backup
Why this works:
- ✅ Runs missed backups when you boot up (laptop was off at 2 AM? No problem!)
- ✅ Prevents duplicate runs if you reboot multiple times
- ✅ Pulls data from Oracle instance via Tailscale (secure)
- ✅ Easy to monitor with
systemctl --user list-timers
Monitoring
# SSH to instance (via Tailscale - recommended)
ssh ubuntu@<TAILSCALE_IP>
# Or via public IP
ssh ubuntu@<PUBLIC_IP>
# Check all services
docker ps
# Check specific service
docker logs -f spot-mcp-server
# Check resources
htop
df -h
Documentation
- - How to use Spot with Cursor IDE
- - Automated deployments from GitHub
- - Quick guide to configure CI/CD secrets
- - System design and components
- - Infrastructure as Code
Adding a New Service
- Create
services/your-service/directory - Add Dockerfile and service code
- Add to
services/docker-compose.ymlif it should orchestrate with others - Update this README
- Test locally, then deploy with
./scripts/deploy.sh
Current Status
Instance: ✅ Deployed and running Services: ✅ Spot MCP Server operational Backups: ✅ Automated daily backups configured Cost: $0/month (Always Free tier)
Oracle Cloud Always Free includes:
- 2 VM.Standard.A1.Flex instances (4 OCPUs, 24GB RAM total)
- 200GB boot volumes
- 10TB/month outbound data transfer
- Permanent (not trial-based)
Future Plans
- Host at
marcotte.devdomain - Add monitoring dashboard (Grafana?)
- Add more services as needed
- Consider multi-region backup
License
Apache 2.0