Getting Started
Quickstart
Build the Mirobody C++ engine with SQLite and run it locally.
You’ll build the C++ engine, add one LLM key, enable local demo login, and verify the server — all on the self-contained SQLite backend, so there is no PostgreSQL to provision.
1. Clone and install dependencies
Section titled “1. Clone and install dependencies”git clone https://github.com/thetahealth/mirobody.gitcd mirobodysudo apt install build-essential cmake ninja-build pkg-config \ libwebsockets-dev libcurl4-openssl-dev libssl-dev \ rapidjson-dev libyaml-cpp-dev libhiredis-dev libsqlite3-dev \ libjpeg-dev libpng-dev libtiff-dev libwebp-devbrew install cmake ninja pkg-config libwebsockets curl openssl@3 \ rapidjson yaml-cpp hiredis sqlite \ jpeg-turbo libpng libtiff webpsudo dnf install gcc-c++ cmake ninja-build pkgconf-pkg-config \ libwebsockets-devel libcurl-devel openssl-devel \ rapidjson-devel yaml-cpp-devel hiredis-devel sqlite-devel \ libjpeg-turbo-devel libpng-devel libtiff-devel libwebp-devel2. Build the SQLite binary
Section titled “2. Build the SQLite binary”./build.sh sqliteThe command creates build-sqlite/mirobody. Each backend gets its own directory, so builds coexist; the default PostgreSQL one goes to build/mirobody.
3. Configure the local server
Section titled “3. Configure the local server”cp config.example.yml config.ymlEdit config.yml:
# Configure at least one hosted model:GOOGLE_API_KEY: 'AIza...' # or OPENAI_API_KEY: 'sk-...'
# Local demo login. Keep this disabled on any reachable deployment.EMAIL_PREDEFINE_CODES: demo1@mirobody.ai: '777777'4. Run and sign in
Section titled “4. Run and sign in”Run the binary from the repository root so it can read ./config.yml and res/:
./build-sqlite/mirobodyOpen http://localhost:8080 and sign in with:
demo1@mirobody.ai777777You can now upload a health document, chat with the built-in agent, or connect a data provider.
5. Verify the server
Section titled “5. Verify the server”# Livenesscurl http://localhost:8080/api/health
# Public FHIR R4 capability statementcurl http://localhost:8080/fhir/metadata
# MCP discoverycurl -X POST http://localhost:8080/mcp \ -H "Content-Type: application/json" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'The health endpoint returns ok; the other two commands return JSON.
Next steps
Section titled “Next steps”Configure models, authentication, storage, and remote MCP access.
Understand the C++ core, FHIR store, vendors, agent, and MCP tools.
Build the production image and connect it to PostgreSQL.
Build tests, use debug CLIs, and navigate the source tree.