Skip to content

How to run the Neo4j team mode

Arun Soman edited this page Aug 31, 2026 · 1 revision

How-to: run the Neo4j team mode

For teams and multi-project graphs. Everything here is config from cie/config.py::Neo4jConfig.from_env — read from the code.

Configure (env, no flags needed)

export NEO4J_URI="neo4j+s://xxx.databases.neo4j.io"   # or bolt://host:7687
export NEO4J_USERNAME="neo4j"
export NEO4J_PASSWORD="..."

Legacy CIE_NEO4J_URI/CIE_NEO4J_USER/CIE_NEO4J_PASSWORD override when cie's graph should live in a different database than your app's. Per-operation timeouts are env-tunable too (CIE_NEO4J_QUERY_TIMEOUT_S, ..._WRITE_TIMEOUT_S, ..._SCHEMA_TIMEOUT_S, pool/connect bounds) — and wall-clock budgets are enforced around every query, so a stuck instance can't hang a CLI call forever.

Load projects into the shared graph

cie load backend/src --project protobox-self
cie load frontend/src --project protobox-self

Projects are namespaces: nodes get a project property and queries filter per namespace (neo4j_repository.py:451) — one database, many repos, no collisions.

Serve

cie-mcp /checkout --backend neo4j --project protobox-self --policy readonly

Honest limits

  • The embedded↔Neo4j sync tools require a non-empty --project ("the two-graph model requires a non-empty project") — Neo4j mode is project-scoped by design.
  • Cross-repo edges (calls from one repo into another) don't exist yet — first-class workspaces are roadmap R28, gated on a real multi-repo user.

Clone this wiki locally