Developers
Connected in about five minutes.
There is no CognoDB SDK to learn. CognoDB speaks the Bolt protocol and understands Cypher, so the official Neo4j drivers are the client library: Python, JavaScript, Go, Java, .NET.
- 01
Create an instance
Sign up and create a free c0 instance. It provisions in well under a minute and you pick the region.
- 02
Copy the connection details
You get a bolt+s:// URI and a password. The password is shown exactly once. Store it where your application reads its secrets.
- 03
Point your driver at it
Install the official Neo4j driver for your language if you do not already have it, and change the URI. No other code changes.
- 04
Run Cypher
Create a few nodes, run a traversal, and check the plan with EXPLAIN when it gets interesting.
bolt+s://db-7f3a2c1e.databases.cognodb.cloudEncrypted end to end. The +ssc scheme trusts the endpoint certificate on first use. It is issued by CognoDB's own certificate authority.
from neo4j import GraphDatabase
driver = GraphDatabase.driver(
"bolt+s://db-7f3a2c1e.databases.cognodb.cloud",
auth=("cognodb", DB_PASSWORD),
)
with driver.session() as session:
result = session.run(
"MATCH (p:Person)-[:FOLLOWS]->(f) "
"WHERE p.name = $name RETURN f.name AS name",
name="Ada",
)
for record in result:
print(record["name"])Compatibility
What your driver can rely on.
Bolt 5.0 through 5.4, including the behaviours drivers depend on rather than just the handshake.
- Routing, so cluster-aware drivers connect without special casing
- Transaction functions with driver-side retry on transient errors
- Explicit BEGIN / COMMIT / ROLLBACK and transaction timeouts
- Parameterised queries: never string-concatenate Cypher
- Server-side query plans via EXPLAIN and PROFILE
// Everything a customer touched, two hops out
MATCH (c:Customer {email: $email})-[:PLACED]->(o:Order)
MATCH (o)-[:CONTAINS]->(p:Product)<-[:TAGGED_AS]-(t:Topic)
RETURN t.name AS topic, count(DISTINCT p) AS products
ORDER BY products DESC
LIMIT 10MCP
Let an agent query the graph directly.
CognoDB ships an MCP server exposing two tools: read the schema, and run a query. An agent discovers what is in the graph instead of being limited to the tools you thought to write.
Run it read-only when you want an agent to explore without the ability to write.
{
"mcpServers": {
"cognodb": {
"command": "npx",
"args": ["-y", "@cognodb/mcp"],
"env": {
"COGNODB_URI": "bolt+s://db-7f3a2c1e.databases.cognodb.cloud",
"COGNODB_PASSWORD": "${DB_PASSWORD}"
}
}
}
}Migrate
Move an existing graph over.
If you already run a Bolt-speaking, Cypher graph, moving to CognoDB is a connection change, not a rewrite. Your driver, your queries and your data model come with you.
- Repoint the driver URI, the same official driver, unchanged
- Re-run your Cypher as-is; Bolt 5.0–5.4 and Cypher are the contract
- Load an export with MERGE so replays can't duplicate the graph
- Verify with node and relationship counts against your source
Capabilities the engine doesn't ship (vector search and graph algorithms like PageRank) won't come across. The differences page states exactly what is and isn't here.
# 1 · Point your existing driver at CognoDB — only the URI changes
- driver = GraphDatabase.driver("bolt+s://your-old-endpoint:7687", auth=...)
+ driver = GraphDatabase.driver("bolt+s://db-7f3a2c1e.databases.cognodb.cloud", auth=("cognodb", DB_PASSWORD))
# 2 · Load your export with MERGE so re-runs stay idempotent
UNWIND $rows AS row
MERGE (a:Node {id: row.id})
MERGE (b:Node {id: row.dst})
MERGE (a)-[:REL {at: row.ts}]->(b)
# 3 · Verify parity — counts should match your source
MATCH (n) RETURN count(n) AS nodes;
MATCH ()-[r]->() RETURN count(r) AS relationships;Terraform
Instances as infrastructure code.
The CognoDB provider manages instances as resources, so provisioning a database per tenant or per environment is part of your normal plan and apply.
- cognodb_instance resource and matching data source
- Organization-scoped API keys for authentication
- Name, tier, size and region under version control
- Connection URI available as an output
terraform {
required_providers {
cognodb = {
source = "wexaai/cognodb"
}
}
}
resource "cognodb_instance" "app" {
name = "orders-graph"
tier = "pro"
size = "g8"
region = "us-east4"
}
output "uri" {
value = cognodb_instance.app.uri
}Start now
~98.7%
token efficiency at 3,700 entities (see the footnotes above)
Create an instance and try it.
The free tier is enough to follow this whole page end to end.
First-graph path
LiveCreate a free instance
No card. Ready in about a minute.
Connect your driver
bolt+s:// URI into the driver you already use.
Write two MERGEs
That's the entire shape of agent memory.
Point an agent at it
One MCP config block. No integration code.