neo4j-mcp-skill

Installs and configures the official Neo4j MCP server for MCP-compatible editors.

Updated Aug 25, 2026
One-click install
npx skills add https://github.com/cardox6/steuer-graph --skill neo4j-mcp-skill-cardox6
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: neo4j-mcp-skill
Source: https://github.com/cardox6/steuer-graph/tree/main/.agents/skills/neo4j-mcp-skill
Command: npx skills add https://github.com/cardox6/steuer-graph --skill neo4j-mcp-skill-cardox6

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires neo4j-mcp-server.

What problem does it solve? Connecting AI coding assistants to a Neo4j database requires correctly installing the official Neo4j MCP server and writing editor-specific configuration, where small mistakes like relative paths, wrong config file locations, or malformed JSON cause silent failures. This Skill provides verified, editor-specific setup instructions and troubleshooting guidance. ## Core Features & Use Cases - Editor-specific configuration: Ready-to-use config blocks for Claude Code, Claude Desktop, Cursor, Windsurf, VS Code, Kiro, Cline, and Antigravity, including the VS Code servers vs mcpServers difference. - Transport and access control: Covers stdio and HTTP transport modes, per-request Basic auth, and read-only mode via NEO4J_READ_ONLY to hide the write-cypher tool. - Troubleshooting and verification: Smoke tests (RETURN 'connected'), APOC requirements for get-schema, and a symptom-to-fix table for common connection errors. - Use Case: You want Claude Code to query your Aura instance. Use this Skill to install neo4j-mcp-server, resolve its absolute path, write the correct mcpServers config with credentials, and verify the four MCP tools (get-schema, read-cypher, write-cypher, list-gds-procedures) respond. ## Quick Start Ask the agent to install the Neo4j MCP server and configure your editor to connect to your Neo4j database, then run the connectivity smoke test.

Frequently Asked Questions about neo4j-mcp-skill

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect Claude Code to a Neo4j database via MCP?▼

Install neo4j-mcp-server with pip, get its absolute path with `which neo4j-mcp`, then add a `neo4j` entry under `mcpServers` in `~/.claude/settings.json` with NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, and NEO4J_DATABASE environment variables. Restart the editor and verify with `read-cypher: RETURN 'connected' AS status`.

What tools does the Neo4j MCP server provide?▼

The server exposes four tools: `get-schema` for labels, relationship types, and indexes; `read-cypher` for read-only queries; `write-cypher` for MERGE, CREATE, SET, and DELETE; and `list-gds-procedures` for Graph Data Science procedures. Setting NEO4J_READ_ONLY=true hides `write-cypher`.

Why is the Neo4j MCP server not showing up in my editor?▼

The most common causes are a wrong config file path, malformed JSON, or a relative command path. Validate the JSON with `python3 -m json.tool`, confirm the correct file for your editor (VS Code uses `servers`, others use `mcpServers`), use the absolute path from `which neo4j-mcp`, and restart the editor.

Does the Neo4j MCP server work with VS Code?▼

Yes, VS Code is supported via `.vscode/mcp.json`, but its config uses a `servers` key with `"type": "stdio"` instead of the `mcpServers` key used by Claude Code, Cursor, and Windsurf. The same NEO4J_* environment variables apply.

Why is the write-cypher tool missing from the Neo4j MCP server?▼

The `write-cypher` tool is hidden when `NEO4J_READ_ONLY=true` is set in the server environment. Remove the variable or set it to `false` if your use case requires writes such as imports, MERGE operations, or schema changes.

Does get-schema require APOC on self-managed Neo4j?▼

Yes, the MCP server uses APOC for schema introspection. Aura includes APOC automatically, but self-managed Neo4j requires installing the APOC plugin and setting `dbms.security.procedures.unrestricted=apoc.*` in neo4j.conf. Verify with `RETURN apoc.version()`.