Base API infrastructure for Composable AI Agents built on LangGraph and powered by the MCP & A2A protocols by Enso Labs. The goal of Enso is the enrich the lives of the curious. Those who seek to buy back their time and compound their personal growth. Those who build and don't wait for IT to be built for them.
This project includes tools for running shell commands and Docker container operations. For detailed information, please refer to the following documentation:
- Docker Installed
- Python 3.11 or higher
- Access to OpenAI API (for GPT-4o model) or Anthropic API (for Claude 3.5 Sonnet)
-
Environment Variables:
Create a
.env
file in the root directory and add your API key(s):# Backend cd <project-root>/backend cp .example.env .env # Frontend cd <project-root>/frontend cp .example.env .env
Ensure that your
.env
file is not tracked by git by checking the.gitignore
: -
Start Docker Services
Below will start the database, and the GUI for viewing the Postgres DB.
cd <project-root> docker compose up postgres pgadmin
-
Setup Server Environment
Assumes you're using astral uv. See
./backend/scripts
directory for other dev utilities.# Change directory cd <project-root>/backend # Generate virtualenv uv venv # Activate source .venv/bin/activate # Install uv pip install -r requirements.txt -r requirements-dev.txt # Run bash scripts/dev.sh # Select "no" when prompted.
-
Setup Client Environment
# Change Directory cd <project-root>/frontend # Install npm install # Run npm run dev
This project uses Alembic for database migrations. Here's how to work with migrations:
-
Create the database (if not exists):
cd backend alembic upgrade head
python -m seeds.user_seeder
-
Create new
alembic revision -m "description_of_changes"
### Appliy Next alembic upgrade +1 ### Speicif revision alembic upgrade <revis_id> ### Appliy Down alembic downgrade -1 ### Appliy Down alembic downgrade <revis_id> ### History alembic history
-
Start Ngrok on port 8931
ngrok http 8931
-
Run MCP server
npx @playwright/mcp@latest \ --port 8931 \ --executable-path $HOME/.cache/ms-playwright/chromium-<version>/chrome-linux/chrome \ --vision