
Console | Site | Self-host
Overmind continuously trains & improves your agents, with data from your production traces
The SDK and CLI you install (pip install overmind) are MIT. The platform behind them is AGPL-3.0 and you can self-host it. Details in Licence.
Point it at your agent's codebase and it turns production traces (or any dataset) into a fine-tuned model, benchmarked against the eval metrics you define and served via 1 unified API, with no ML infrastructure to build.
The weights are yours to download, retrain or roll back.
Available from the Console, the overmind CLI, the REST API, and an MCP server for Cursor, Claude Code, OpenCode and Codex. Hosted at console.overmindlab.ai or run it yourself.
Get started
Hosted
Sign up at console.overmindlab.ai, pick your coding agent on Get started — Cursor, Claude Code, OpenCode or Codex — and paste the onboarding prompt into it with your agent's repo open. It installs overmind, runs overmind init and overmind sync, and builds the context graph. From then on everything is a /overmind command in the same chat:
Run it yourself
Self-hosting keeps traces and training data inside your own network. The hosted and self-hosted stacks are the same code.
git clone https://github.com/overmind-core/overmind.git && cd overmind
cp .env.example .env # set the required keys below
docker compose up -d # Postgres, Redis, API on :8000, Console on :5173, Celery workers, beat, Grafana on :3001
On first boot the API runs migrations and seeds the built-in evaluators; Swagger is at /api/docs/. Sign in at http://localhost:5173 with any email and password. docker compose exec api python manage.py seed_demo --owner <your email> loads a full demo workspace.
What the API needs to boot
The API refuses to start until every required key is set, and the error names each missing one. .env.example documents every key.
Fine-tuning and serving also need the Modal workers deployed (modal deploy overbae/modal/modal_vllm_worker.py, register_model.py and modal_sft_worker.py) and a Modal secret named overmind-inference with the AWS keys, INFERENCE_API_KEY and HF_TOKEN.
Send a first trace
pip install "overmind[tracing]"
export OVERMIND_API_KEY=ovr_… # project key from Console → Settings; add OVERMIND_API_URL for self-host
import overmind
overmind.init(
service_name="support-agent", capability_id="<capability-uuid>", providers="auto"
)
@overmind.tool()
def search(query: str) -> list[dict]: ...
def handle(request: dict, session_id: str) -> dict:
with overmind.run(
"support-run", intent=request["question"], conversation_id=session_id
) as run:
answer = agent(request)
run.deliver(answer) # the final output that gets scored
return answer
providers="auto" instruments the LLM SDKs you already use over OpenTelemetry; without a key, tracing is off and nothing breaks. Any OTel exporter can POST /api/v1/traces instead, and existing traces in Langfuse, LangSmith, Braintrust or Galileo can be synced through a connector. Open Observability → Task executions to see the trace and its score.
Connect your coding agent
Overmind ships an MCP server at /api/mcp/ with tools, resources and prompts for the platform's agent workflows. Account API keys and OAuth connections can access every active project their account is authorized to use: call list_projects, then pass the selected project_id on project tools and resource URIs. Membership is checked on every operation. Project API keys remain limited to their configured project. Every tool declares what it costs to run (free, compute, llm, gpu) and none can delete anything.
The optional plugin packages the MCP connection, Overmind branding and nine workflow skills. OAuth connections remain authorized until revoked; access tokens expire after one hour and refresh tokens rotate. Direct MCP connections can use an API key without OAuth or a plugin.
overmind init --ide <cursor|claude|opencode|codex> prepares the local configuration and overmind sync installs the repository's project API key. To configure an API key by hand:
Cursor — .cursor/mcp.json
{
"mcpServers": {
"overmind": {
"url": "https://api.overmindlab.ai/api/mcp/",
"headers": { "X-Api-Key": "ovr_…" }
}
}
}
Claude Code
claude mcp add --transport http overmind https://api.overmindlab.ai/api/mcp/ --header "X-Api-Key: ovr_…"
OpenCode — opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"overmind": {
"type": "remote",
"url": "https://api.overmindlab.ai/api/mcp/",
"enabled": true,
"headers": { "X-Api-Key": "ovr_…" }
}
}
}
Codex — .codex/config.toml
[mcp_servers.overmind]
url = "https://api.overmindlab.ai/api/mcp/"
http_headers = { "X-Api-Key" = "ovr_…" }
What the tools cover
Prompts such as investigate-capability, finetune-capability and ship-model chain the tools into complete workflows.
For a self-hosted instance, replace the host with your API URL (http://localhost:8000 locally). Keys are written to git-ignored files only; overmind sync will not write a key into a tracked file.
Contributing
Open an issue, or a PR from a feature branch using .github/PULL_REQUEST_TEMPLATE.md — main is protected and AGENTS.md describes how we work. Questions go to the Discord.
Telemetry
The SDK and CLI send anonymous usage analytics to PostHog — one cli.invoked event per CLI run and sdk_init on library use; never prompts, trace contents, keys or dataset contents. Opt out with OVERMIND_ANALYTICS_ENABLED=false or DO_NOT_TRACK=1; analytics is also off when CI is set. Your traces go only to your own project.
Licence
This repository contains two licences. The platform (overbae/, frontend/, and everything else outside overmind/) is AGPL-3.0; the root LICENSE file is the verbatim AGPL-3.0 text. The SDK, CLI and client libraries under overmind/ are MIT. Copyright (c) 2026 Overmind Ltd. A commercial licence is a paid alternative from Overmind Ltd if you need different terms — [email protected].
docs.overmindlab.ai · overmindlab.ai