Back openDesk Edu for a sovereign, open-source education β every vote counts.
Vote nowTeaser: Every Neo4j Aura instance now ships with a built-in MCP server β Cypher querying, schema discovery, graph traversal, and vector search exposed as standardised tools that any MCP-compatible agent can call. This article breaks down the architecture, the six core tools, and three practical patterns for connecting AI agents to knowledge graphs without custom connector code.
In July 2026, Neo4j announced MCP for Aura β a hosted Model Context Protocol (MCP) server built directly into every Aura instance. The move is significant: it turns every Neo4j cloud database into an MCP endpoint that AI agents can discover, authenticate to, and query without custom connector code.
For teams building agentic AI systems, this closes a persistent gap. While MCP has gained traction as the open standard for connecting LLMs to tools and data sources, graph databases have largely been accessible only through bespoke integrations or REST API wrappers. MCP for Aura changes that by exposing Cypher query execution, schema introspection, and knowledge graph traversal as standard MCP tools.
This article examines the architecture of MCP for Aura, explores what it enables for AI agents, and walks through practical patterns for using knowledge graph MCP tools in production.
The Model Context Protocol, originally introduced by Anthropic in late 2024, defines a standardised interface between LLM hosts (clients) and external tools or data sources (servers). An MCP server exposes a set of tools β typed functions with descriptions and parameter schemas β that the LLM can invoke dynamically based on context.
Before MCP for Aura, connecting an AI agent to a Neo4j database required one of:
| Approach | Drawback |
|---|---|
| Custom Cypher generator via LLM prompt | Hallucinated syntax, no schema awareness |
| REST API wrapper with LangChain/LlamaIndex | Framework lock-in, maintenance overhead |
| GraphRAG pipeline with pre-computed embeddings | Static, no ad-hoc traversal |
MCP for Aura replaces all of these with a single, standardised endpoint. The agent negotiates capabilities at connection time, discovers available tools (query, schema, traversal), and invokes them with validated parameters. The MCP server handles authentication, rate-limiting, and error recovery.
MCP for Aura is not a separate service β it runs as a lightweight sidecar within each Aura instance's control plane. Every Aura database (both AuraDB Professional and AuraDB Enterprise) now includes an MCP server endpoint accessible at:
mcp://<instance-id>.aura-neo4j.io/mcp
The architecture follows a layered design:
βββββββββββββββββββββββββββββββββββββββββββ
β AI Agent (Host) β
β βββββββββββββββββββββββββββββββββββββ β
β β MCP Client (SDK) β β
β β β’ Tool discovery β β
β β β’ Tool invocation β β
β β β’ Context management β β
β ββββββββββββ¬βββββββββββββββββββββββββ β
βββββββββββββββΌβββββββββββββββββββββββββββββ
β MCP Protocol (JSON-RPC)
β over SSE or WebSocket
βββββββββββββββΌβββββββββββββββββββββββββββββ
β Aura MCP β Server Layer β
β ββββββββββββ΄βββββββββββββββββββββββββ β
β β Tool Registry β β
β β βββββββββββββββββββββββββββββββ β β
β β β query_cypher β β β
β β β get_schema β β β
β β β traverse_graph β β β
β β β run_graph_algorithm β β β
β β β vector_search β β β
β β βββββββββββββββββββββββββββββββ β β
β ββββ Authentication β β
β β β’ OAuth 2.0 client credentials β β
β β β’ API key (AuraDB Pro) β β
β ββββ Rate Limiting & Quotas β β
β β β’ Per-tool token budgets β β
β β β’ Query complexity scoring β β
β βββββββββββββββββββββββββββββββββββββ β
β β
β Neo4j Aura Control Plane β
βββββββββββββββββββββββββββββββββββββββββββ
MCP for Aura supports two authentication modes:
The MCP server validates credentials at session startup and applies per-tool access controls mapped to the authenticated principal's database permissions.
The MCP for Aura server exposes six core tools:
| Tool | Description | Parameters |
|---|---|---|
query_cypher | Execute a Cypher query with parameter binding | query: string, params: object, max_rows: int |
get_schema | Retrieve the graph schema (node labels, relationship types, property keys) | include_indexes: boolean |
traverse_graph | BFS/DFS traversal from a starting node | start_id: string, `direction: "in" |
run_graph_algorithm | Execute a GDS algorithm via MCP | algorithm: string, config: object |
vector_search | Semantic search over node embeddings | query_text: string, embedding_model: string, top_k: int |
list_tools | Discover available tools and their schemas | (none) |
Each tool includes a full JSON Schema description of its parameters, enabling the LLM to construct valid invocations without prior knowledge of the database schema.
The most immediately useful pattern is schema-guided query generation. Instead of prompting an LLM to write Cypher from scratch (which produces hallucinated node labels and relationship types 30β40% of the time), the agent first calls get_schema to retrieve the actual graph structure:
sequenceDiagram
Agent->>MCP Server: get_schema()
MCP Server-->>Agent: Node labels: [Person, Company, Contract],<br/>Rels: [OWNS, EMPLOYS, SIGNS]
Agent->>MCP Server: query_cypher("MATCH (p:Person)-[:EMPLOYS]->(c:Company) RETURN c.name, count(p)")
MCP Server-->>Agent: [{"c.name": "Acme Corp", "count(p)": 42}]
This two-step pattern eliminates hallucinated labels and produces accurate queries on the first attempt.
AI agents often need to answer questions that require walking the graph across multiple relationships. The traverse_graph tool handles this natively:
# Agent discovers: "What contracts does Alice have exposure to?"
traversal = mcp_client.call_tool("traverse_graph", {
"start_id": "Person:alice-123",
"direction": "out",
"max_depth": 3,
"relationship_types": ["EMPLOYS", "SIGNS", "OWNS"]
})
The agent can chain traversal results with query_cypher for filtering, or use run_graph_algorithm for path analysis.
Aura already supports vector indexes for embedding storage. MCP for Aura's vector_search tool lets agents perform semantic search directly against the knowledge graph:
results = mcp_client.call_tool("vector_search", {
"query_text": "supply chain disruptions in semiconductor manufacturing",
"embedding_model": "text-embedding-3-large",
"top_k": 10
})
This turns graph-based RAG into a first-class MCP tool, eliminating the need for a separate vector database or embedding pipeline.
| Feature | MCP for Aura | Custom REST API | LangChain GraphCypherQAChain | Neo4j GraphRAG Python |
|---|---|---|---|---|
| Standard protocol | β MCP | β Proprietary | β LangChain-only | β Framework-only |
| Schema discovery | β Built-in | β Manual | β Auto (labelled) | β Auto |
| Auth | β OAuth 2.0 / API Key | β Custom | β Embedded credential | β Embedded credential |
| Vector search | β Native | β | β | β |
| Graph algorithms | β via GDS | β | β | β |
| Rate limiting | β Per-tool budgets | β | β | β |
| Framework agnostic | β | β | β LangChain only | β Python only |
| Multi-agent support | β Concurrent sessions | β | β | β |
To use MCP for Aura, you need an Aura instance with the MCP feature enabled (currently in public preview, available on all AuraDB Professional and Enterprise instances created after July 15, 2026).
From the Aura Console, navigate to Settings β MCP and generate an API key. The key is scoped to the instance and inherits the database permissions of the creating user.
Using the official MCP client SDK (Python example):
from mcp import MCPClient
client = MCPClient(
server_url="mcp://myinstance.aura-neo4j.io/mcp",
api_key="aura-mcp-key-xxxx"
)
# Discover tools
tools = client.list_tools()
for tool in tools:
print(f"{tool.name}: {tool.description}")
# Query the graph
result = client.call_tool("query_cypher", {
"query": "MATCH (n) RETURN labels(n), count(*) AS count",
"max_rows": 20
})
Many MCP hosts now support MCP for Aura natively. In Claude Desktop, add to your mcp_servers.json:
{
"mcpServers": {
"neo4j-aura": {
"type": "sse",
"url": "mcp://myinstance.aura-neo4j.io/mcp",
"headers": {
"X-API-Key": "${AURA_MCP_API_KEY}"
}
}
}
}
For VS Code Copilot and Cline, the MCP for Aura server can be registered through their MCP configuration panels.
MCP for Aura is in public preview, and several limitations should be considered for production use:
list_tools endpoint ensures forward compatibility.MCP for Aura represents a pragmatic convergence of two trends: the standardisation of AI-tool communication via MCP, and the recognition that knowledge graphs are a natural substrate for agentic reasoning. By turning every Aura instance into an MCP server, Neo4j eliminates the integration tax that has historically separated graph databases from the AI agent ecosystem.
For teams building agentic systems, this means you can now treat a knowledge graph as a first-class tool β query it, traverse it, search it semantically, and analyse it algorithmically β all through a single, framework-agnostic protocol. The era of custom connectors for every data source is ending. MCP for Aura is a glimpse of what comes next: a web of interoperable, knowledge-rich tools that agents can discover and compose at runtime.
Start exploring with the MCP client SDK linked from the Neo4j Aura Console, or dive into the MCP for Aura documentation (live as of July 2026).