A Neo4j graph database project ingesting the Top 10,000 Peruvian companies dataset, exposed via a Neo4j MCP server for natural language querying.
Bring up Neo4j and the Neo4j MCP server:
docker compose up -dThis starts two containers:
| Container | Purpose | Ports |
|---|---|---|
neo4j |
Neo4j 5.12 database | 7474 (browser), 7687 (bolt) |
neo4j-mcp |
Neo4j MCP HTTP server | 8000 |
The Neo4j browser UI is available at http://localhost:7474 (credentials: neo4j /
password123).
To stop the services:
docker compose downThe ingest script reads the CSV dataset and populates the Neo4j graph.
Install dependencies first (only needed once):
npm installThen copy the environment file and run the ingest:
cp .env.example .env
npm run ingestThe script will create all nodes and relationships as defined in DESIGN.md. It is idempotent — running it multiple times will not create duplicate data.
Make sure the Neo4j container is running before executing the ingest.
Launch the MCP Inspector to explore and test the Neo4j MCP server:
npx @modelcontextprotocol/inspectorOnce the inspector opens in your browser:
- Set the transport type to Streamable HTTP.
- Enter the URL:
http://localhost:8000/mcp - Click Connect.
You can now browse available tools and send Cypher queries to the Neo4j database through the MCP protocol.
Make sure both containers are running (
docker compose up -d) before connecting the inspector.