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+ssc:// 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+ssc://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+ssc://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+ssc://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+ssc://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 2,000 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+ssc:// 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.