Sign inSign up

servergardens/magic-backend

By servergardens

•Updated about 3 hours ago

Magic Cloud backend: Hyperlambda runtime, secured REST API, RBAC and MCP server on .NET 10

Image
1

10K+

servergardens/magic-backend repository overview

⁠Magic Cloud — backend

The backend half of Magic Cloud⁠: an MIT-licensed, self-hosted platform that builds and runs your entire backend — database, secured REST API, business logic, background jobs, authentication and role-based access control — and exposes all of it to AI agents over MCP.

Pair it with servergardens/magic-frontend⁠, or use the single-container servergardens/magic-aio⁠ instead.

⁠Run it

Both containers, one command:

curl -fsSL https://hyperlambda.dev/docker-compose.yaml | docker compose -f - up

Then open http://localhost:5555⁠, point it at http://localhost:4444⁠, and log in with root / root.

Backend only:

docker run -p 4444:4444 \
  -v magic_data:/magic/files/data \
  -v magic_config:/magic/files/config \
  -v magic_modules:/magic/files/modules \
  -v magic_etc:/magic/files/etc \
  servergardens/magic-backend:latest

⁠What it runs

Hyperlambda — a declarative language whose source is a tree structure rather than free-form text, executed by a compiled .NET runtime. Endpoints are files: the filename encodes the URL and HTTP verb, and each file declares which roles may invoke it. Saving a file makes it live — there is no build or deploy step between writing code and calling it.

Included in the image, so the corresponding Hyperlambda slots work out of the box:

  • Chrome / Chromium — the headless-browser slots, letting agents fill forms and scrape pages
  • Python 3 — generate and execute Python on the fly, and persist scripts as reusable agent tools
  • Git — clone, commit and push from Hyperlambda
  • SQLite with native extension support; MySQL, PostgreSQL, MariaDB and SQL Server connect as external databases with no migration

⁠MCP

The MCP server with OAuth is served at https://<your-host>/magic/modules/mcp/mcp. Every endpoint in your modules folder becomes a tool for Claude, Claude Code, Cursor or Codex — obeying your own RBAC, and able to generate new endpoints on demand. Setup guide: https://docs.ainiro.io/tutorials/how-to-connect-the-mcp-server/⁠

⁠Ports and volumes

Port4444 — API
/magic/files/dataSQLite databases and uploads
/magic/files/configappsettings.json, including the rotated JWT secret
/magic/files/modulesyour endpoints
/magic/files/etcyour files, snippets and static sites

Runs as UID/GID 999 (aligned with Kubernetes fsGroup=999). Multi-arch: linux/amd64 and linux/arm64.

First run: an unconfigured backend ships a placeholder JWT secret, which is what makes root/root work. Complete the setup screen immediately — until you do, anyone who can reach the port can sign in as root.

Tag summary

Content type

Image

Digest

sha256:ae5fc8552…

Size

641.6 MB

Last updated

about 3 hours ago

docker pull servergardens/magic-backend