Overview

Gestalt

gestaltd is a self-hosted integration server. You describe your platform in one YAML file, and gestaltd turns that file into a running server with authentication, token storage, integration execution, an optional MCP endpoint, optional bindings, and an embedded web UI served from the same HTTP port.

What Actually Ships

PieceWhat it does
gestaltdThe server binary. It loads config, bootstraps plugins, serves the HTTP API, serves the web UI, and mounts /mcp when MCP is enabled.
config.yamlThe declarative control plane. This is where you define auth, datastore, secrets, providers, bindings, and egress policy.
gestalt.lock.json and .gestalt/Optional prepared state written by gestaltd init. Use it for deterministic startup when you depend on remote OpenAPI, GraphQL, or packaged plugins.
Deploy assetsserver/Dockerfile, client/Dockerfile, and a Helm chart for production deployment paths.

The Four Foundations

Configuration

Your YAML file declares the feature sets that make up a Gestalt deployment: platform auth, token storage, secret resolution, providers, bindings, and egress rules.

Prepared State

If your config points at remote OpenAPI specs, GraphQL endpoints, or packaged plugins, gestaltd init resolves them and writes lock state next to the config. Production deployments normally start from that prepared state with gestaltd serve --locked.

Providers And Invocation

Each configured provider becomes a runtime provider. All request surfaces share the same invocation broker, so token lookup, refresh, connection mode, instance selection, and auditing work the same way everywhere.

Surfaces

The same provider graph can be reached through the HTTP API, the embedded web UI, /mcp, webhook bindings, and proxy bindings.

Deployment Paths

ModeDescription
No configLocal-only, auto-generated config, auth.provider: none, SQLite, and a generated encryption key.
DockerSingle container, single HTTP port, config mounted into /etc/gestalt/config.yaml.
Helm on KubernetesOne Deployment for gestaltd, optional init container for locked startup.
Bare binarygestaltd, gestaltd serve, gestaltd init, and gestaltd validate.

Start Here