This guide walks you through running ContextForge on your local machine using a virtual environment or directly via Python. ---
Install to Claude Code
npx -y skills add tools-only/X-Skills --skill 3020-local_93c0d987 --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of 3020 Local 93c0d987?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/tools-only-3020-local-93c0d987)More formats (shields.io, HTML) on the badges page.
# 🐍 Local Deployment
This guide walks you through running ContextForge on your local machine using a virtual environment or directly via Python.
---
## 🚀 One-Liner Setup
The easiest way to start the server in development mode:
```bash
make venv install-dev serve
```
This does the following:
1. Creates a `.venv/` virtual environment
2. Installs all dependencies (including dev tools)
3. Launches **Gunicorn** on `http://localhost:4444`
---
## 🧪 Development Mode with Live Reload
If you want auto-reload on code changes:
```bash
make dev # hot-reload (Uvicorn) on :8000
# or:
./run.sh --reload --log debug
```
> Ensure your `.env` file includes:
>
> ```env
> DEV_MODE=true
> RELOAD=true
> DEBUG=true
> ```
---
## 🗄 Database Configuration
By default, ContextForge uses SQLite for simplicity. You can configure alternative databases via the `DATABASE_URL` environment variable:
=== "SQLite (Default)"
```bash
# .env file
DATABASE_URL=sqlite:///./mcp.db
```
=== "MariaDB"
```bash
# .env file
DATABASE_URL=mysql+pymysql://mysql:changeme@localhost:3306/mcp
```
!!! info "MariaDB Setup"
Install and configure MariaDB server:
```bash
# Ubuntu/Debian
sudo apt update && sudo apt install mariadb-server
# Create database and user
sudo mariadb -e "CREATE DATABASE mcp;"
sudo mariadb -e "CREATE USER 'mysql'@'localhost' IDENTIFIED BY 'changeme';"
sudo mariadb -e "GRANT ALL PRIVILEGES ON mcp.* TO 'mysql'@'localhost';"
sudo mariadb -e "FLUSH PRIVILEGES;"
```
=== "MySQL"
```bash
# .env file
DATABASE_URL=mysql+pymysql://mysql:changeme@localhost:3306/mcp
```
!!! info "MySQL Setup"
Install and configure MySQL server:
```bash
# Ubuntu/Debian
sudo apt update && sudo apt install mysql-server
# Create database and user
sudo mysql -e "CREATE DATABASE mcp;"
sudo mysql -e "CREATE USER 'mysql'@'localhost' IDENTIFIED BY 'changeme';"
sudo mysql -e "GRANT ALL PRIVILEGES ON mcp.* TO 'mysql'@'localhost';"
sudo mysql -e "FLUSH PRIVILEGES;"
```
=== "PostgreSQL"
```bash
# .env file
DATABASE_URL=postgresql+psycopg://postgres:changeme@localhost:5432/mcp
```
!!! tip "MariaDB & MySQL Full Compatibility"
MariaDB and MySQL are **fully supported** with:
- **36+ database tables** working perfectly with MariaDB 10.6+ and MySQL 8.0+
- All **VARCHAR length issues** resolved for MariaDB/MySQL compatibility
- Complete feature parity with SQLite and PostgreSQL
---
## 🧪 Health Test
```bash
curl http://localhost:4444/health
```
Expected output:
```json
{"status": "healthy"}
```
---
## 🔐 Admin UI
Visit [http://localhost:4444/admin](http://localhost:4444/admin) and login using your `PLATFORM_ADMIN_EMAIL` and `PLATFORM_ADMIN_PASSWORD` from `.env`.
---
## 🔁 Quick JWT Setup
```bash
export MCPGATEWAY_BEARER_TOKEN=$(python3 -m mcpgateway.utils.create_jwt_token -u admin@example.com)
curl -H "Authorization: Bearer $MCPGATEWAY_BEARER_TOKEN" http://localhost:4444/tools
```
Scanned 6/1/2026
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!