When to self-host
Self-hosting is the right choice when:- You need your data to stay on your own infrastructure
- You have compliance or privacy requirements that require data residency control
Prerequisites
Before you start, make sure you have:Setup
Create a Convex project
Go to dashboard.convex.dev and create a new project. Note your deployment name — it looks like
your-project-123.Deploy the schema and functions
Run Replace
convex deploy with your deployment name. This pushes the Memory Crystal schema and backend functions to your Convex project.your-project-123 with your actual Convex deployment name.Set environment variables
Add your deployment URL and key to Your Convex URL follows the pattern
mcp-server/.env and your shell environment:https://<deployment-name>.convex.cloud.Verifying the connection
After setup, run a smoke test to confirm the plugin can reach your backend:Important: fallback behavior
Troubleshooting
Ifcrystal:doctor reports issues:
- Confirm
CONVEX_URLandCONVEX_DEPLOYMENTare set in your shell and inmcp-server/.env - Re-run bootstrap to repair any missing wiring:
npm run crystal:bootstrap - Check that the Convex deploy succeeded without errors in the previous step
