Neocarta is distributed as a single PyPI package (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/neo4j-labs/neocarta/llms.txt
Use this file to discover all available pages before exploring further.
neocarta) with a modular set of optional extras. The core install is all you need to run connectors and generate embeddings in Python. Add [cli] for the command-line tool, [mcp] for the MCP server, [performance] for Rust-accelerated Neo4j writes, and [databricks] for the Databricks governed-tags connector. Extras can be combined freely.
Core install
Neocarta requires Python 3.10 or higher.Optional extras
| Extra | Install command | What it adds |
|---|---|---|
cli | pip install "neocarta[cli]" | The neocarta Click-based CLI — neocarta bigquery schema, neocarta csv ingest, neocarta tool list-schemas, and all other noun-verb commands. Also needed for neocarta mcp serve. |
mcp | pip install "neocarta[mcp]" | The neocarta-mcp MCP server built on FastMCP. Exposes the semantic graph as retrieval tools over stdio. |
performance | pip install "neocarta[performance]" | neo4j-rust-ext — replaces the pure-Python serialisation layer of the Neo4j Python driver with a compiled Rust extension. Delivers 60–90% faster throughput for bulk loads. Requires Python 3.11+. |
databricks | pip install "neocarta[databricks]" | The Databricks SDK (databricks-sdk), required by the Databricks governed-tags connector. |
Neo4j setup
Neocarta requires a running Neo4j instance. Choose the option that fits your workflow:- AuraDB (cloud)
- Neo4j Desktop
- Docker
Neo4j AuraDB is a fully-managed cloud service. The free tier gives you a persistent instance at no cost — no credit card required.
- Go to console.neo4j.io and create a free instance.
- Copy the Connection URI (format:
neo4j+s://xxxxxxxx.databases.neo4j.io). - Note the auto-generated password shown at creation time.
- Add both to your
.envfile (see Environment variables below).
Environment variables
All Neocarta connectors and the MCP server read configuration from environment variables. The recommended approach is a.env file in your project root — it is loaded automatically at runtime.
Copy the block below into a
.env file and fill in the values for your environment. Variables marked as optional can be omitted if you are not using the corresponding feature..env
Full variable reference
| Variable | Required for | Description |
|---|---|---|
NEO4J_URI | All connectors | Bolt or neo4j+s:// URI of your Neo4j instance |
NEO4J_USERNAME | All connectors | Neo4j username (default: neo4j) |
NEO4J_PASSWORD | All connectors | Neo4j password |
NEO4J_DATABASE | All connectors | Target database name (default: neo4j) |
OPENAI_API_KEY | Embeddings (OpenAI) | OpenAI API key for embedding generation |
EMBEDDING_MODEL | Embeddings | LiteLLM model identifier, e.g. text-embedding-3-small |
EMBEDDING_DIMENSIONS | Embeddings (optional) | Vector dimension override for truncation-capable models |
EMBEDDING_BATCH_SIZE | Embeddings (optional) | Nodes per batch during ingest (default 100) |
GCP_PROJECT_ID | BigQuery, Dataplex | GCP project ID |
BIGQUERY_DATASET_ID | BigQuery connector | BigQuery dataset to ingest |
.env.example file in the Neocarta repository and the individual connector READMEs.