1
Manual / agent
Write JSON directly, or open Claude Code in the folder and let it call
put_entity / create_doc_type over MCP.2
Bulk import
Import a file directly, or let an agent write a batch in one call with
put_entities.3
Connectors
connectors/*.py pull from an MCP server on a schedule; run with
open-index ingest <name> or open-index run.4
Agent write-back
A Stop hook that records learnings via
put_entity — the “continuously
improving” loop.Bulk import
- Bare slugs are qualified (
checkout→product:checkout). - CSV scalars are coerced to their declared types.
- A
related_tocolumn takestarget|meaningpairs separated by;. - A bad row is reported and skipped — the rest still land.
--asserted-by/--confidenceattribute the whole batch once instead of per row.
Ways to create entities
Manual entry / upload from the UI
Manual entry / upload from the UI
Create a JSON object representing the entity you want to store, and add it from
the explorer.
Through an agent over CLI / MCP
Through an agent over CLI / MCP
Talk to an agent connected to the brain; it validates and writes for you.
Webhook / API trigger
Webhook / API trigger
A script on your end pushes entities into the brain.
Recurring cron
Recurring cron
A connector defined in the brain configuration runs on a schedule.
Distilling from unstructured documents
To extract or distill information from unstructured documents into entities:- Git repo knowledge bases — connect an agent to the brain via an MCP server and prompt it to extract information from the repo.
- Commercial tools (Notion, Confluence, …) — connect an agent to both the brain (via MCP) and the source tool (via MCP server / CLI).
- Scripted — use a script that connects to the brain via an API and extracts information from documents.