Prerequisites
Docker + Compose
Docker Desktop or
docker + docker composeGit
To clone the repository
Git LFS
Required to pull
fhir_concept_graph.binVerify your setup:Install Git LFS via
brew install git-lfs (macOS) or apt install git-lfs (Linux), then run git lfs install once.One-command deploy
Run the deploy script
- Generates a
.envfile withENV=localdband a freshCONFIG_ENCRYPTION_KEY - Creates a default
config.localdb.yaml - Builds the Docker image
- Starts Postgres, Redis, and the Mirobody backend
When you see the backend log line
Uvicorn running on http://0.0.0.0:18080, you’re good.Add at least one LLM API key
Open
config.localdb.yaml and fill in at least one of:config.localdb.yaml
Mirobody includes three agents:
- DeepAgent — single-model tool orchestration, the default
- MixAgent — two-phase fusion (orchestrator + responder) for cost/quality balance
- BaseAgent — direct LLM chat, no tools
(Optional) Configure providers and OAuth
To connect wearables or sign in with Google/Apple, add the corresponding credentials in Full reference: Configuration.
config.localdb.yaml:Open the web app
Visit http://localhost:18080 and sign in with a preset demo account:Other preset accounts (
demo2@mirobody.ai, demo3@mirobody.ai) use the same password by default — see EMAIL_PREDEFINE_CODES in config.localdb.yaml.Once in, you can:- Upload files — lab reports, medical records, photos, audio (see File Processing)
- Chat with the agent — ask anything about your data
- Link providers — Garmin, Whoop, Oura, Renpho, Apple Health (see Using Providers)
(Optional) Use the hosted client instead
Prefer a polished web client over the local UI? Open https://mirobody.ai — it’s our official hosted frontend that talks to your local backend over your machine.
Verify the API
- Health check
- List providers
- MCP tools/list
Endpoints
Web app
Local UI, file upload, chat
MCP server (local)
For Claude Desktop / Cursor
Chat API
OpenAI-compatible chat endpoint
History API
Session history
MCP_PUBLIC_URL=https://yourdomain.com to expose the MCP server publicly over HTTPS — see ChatGPT Apps.
Docker services
| Service | Port | Description |
|---|---|---|
mirobody | 18080 | FastAPI app, MCP server, chart renderer |
pg | 5432 | PostgreSQL with pgvector |
redis | 6379 | Cache and session store |
Common commands
Stop everything
Stop everything
Restart
Restart
Rebuild image after code changes
Rebuild image after code changes
Open the Postgres shell
Open the Postgres shell
Open the Redis CLI
Open the Redis CLI
Troubleshooting
Port 18080 already in use
Port 18080 already in use
Change Then
HTTP_PORT in config.localdb.yaml:docker compose restart mirobody.Postgres connection failed
Postgres connection failed
Redis connection failed
Redis connection failed
PONG.Permission denied on ./deploy.sh
Permission denied on ./deploy.sh
DeepAgent fails to start
DeepAgent fails to start
OPENROUTER_API_KEY is missing or invalid. Fill it in config.localdb.yaml and restart.Next Steps
Configure providers
Set OAuth credentials for Garmin, Whoop, Oura, Renpho, and more
Explore the API
Pulse, Chat, and MCP endpoints
Understand the architecture
How data flows from devices through agents to your screen
Add a new provider
Hook in a new wearable or data source
For production deployment, see Production for security hardening and performance tuning.