A self-hosted CRM for humans and AI agents. Keep the story moving.
Overdrive keeps your pipeline, relationships, next steps and deal context together. People work in a compact web interface; agents use the same permissions through an authenticated MCP server. Your existing agents write proposals and pricing; Overdrive stores their work without prescribing how they produce it.
- Six-stage pipeline with drag and drop, won/lost outcomes and reversible archiving.
- Business units with membership-based access and shared contacts and organizations.
- Deal so far: an editable Markdown summary alongside notes and an audit trail.
- Tasks, source tracking, files and links, Markdown/PDF previews and outdated markers.
- Inline editing, contextual drawers and keyboard shortcuts.
- Pipeline analytics based on observed history, with gaps in imported data made explicit.
- MCP over Streamable HTTP with browser authorization, PKCE and revocable tokens.
Built with Python, FastAPI, Jinja/HTMX and SurrealDB 3.2.0. Files use a persistent filesystem volume. The Python SDK version is 2.0.0; that is separate from the database server version.
Requires Docker Compose and Python 3 to generate configuration. This starts a fresh workspace with real local-password authentication:
git clone https://github.com/lfnovo/overdrive.git
cd overdrive
python3 scripts/configure_local.py --admin-email you@example.com --docker
docker compose up -d --wait
docker compose run --rm --no-deps overdrive python scripts/activate_user.py \
--email you@example.com --expect-ns overdrive --expect-db appOpen the one-use activation link printed by the last command, choose your password, then sign in at http://localhost:18765 with your email. The Compose port binds to loopback only. Credentials are generated locally; existing .env files are never overwritten.
Release images are available at ghcr.io/lfnovo/overdrive:0.1.2 and :latest, for Linux AMD64 and ARM64. The Compose example pins the application and SurrealDB versions. To build the application yourself, use docker compose up -d --build --wait.
Both database records and uploaded files survive container recreation through named volumes. docker compose down preserves them; docker compose down -v deletes them.
Local email/password sign-in is built in. Generate a one-use activation link for the initial administrator with scripts/activate_user.py, then invite teammates through Settings. Google sign-in is optional. See authentication and account recovery. For a shared installation, set APP_URL to the public HTTPS origin and disable both development-login flags.
See installation and Google setup, including reverse-proxy guidance. This is an early release: automated tests cover application authorization and the MCP OAuth exchange, but a real Google-provider login still needs deployment-specific validation.
Add https://your-overdrive.example/mcp as a remote MCP server in a client that supports Streamable HTTP and OAuth. The client opens a browser for login and consent. Agents inherit the signed-in user's access, including business-unit isolation.
See MCP usage for tools, version checks, idempotency and file transfers.
Use version 0.1.1 or newer for MCP through a public domain. Version 0.1.0 could complete OAuth but reject the MCP connection with HTTP 421.
- Authentication and account recovery
- Using Overdrive
- Configuration and installation
- Portainer with an existing database
- Database connections and migrations
- Backup, restore and upgrades
- Development and tests
- Contributing · Security · Changelog
The initial version is intentionally opinionated: one company per installation, one fixed pipeline, local or Google identity, BRL values and São Paulo date handling. It does not host or run AI agents. See the documentation index for current boundaries.
MIT © Luis Novo. Vendored frontend license notices are included in third_party.