Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Neo4j Graph Data Science MCP server
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, NEO4J_DATABASE, AURA_API_CLIENT_ID, AURA_API_CLIENT_SECRET, AURA_API_PROJECT_IDValues marked secret are keys to your account. Never share them or paste them into a chat.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"gds-agent": {
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "your-value",
"NEO4J_USERNAME": "your-value",
"NEO4J_PASSWORD": "your-value",
"NEO4J_DATABASE": "your-value",
"AURA_API_CLIENT_ID": "your-value",
"AURA_API_CLIENT_SECRET": "your-value",
"AURA_API_PROJECT_ID": "your-value"
}
}
}
}Run this in your terminal
claude mcp add gds-agent --env NEO4J_URI=your-value --env NEO4J_USERNAME=your-value --env NEO4J_PASSWORD=your-value --env NEO4J_DATABASE=your-value --env AURA_API_CLIENT_ID=your-value --env AURA_API_CLIENT_SECRET=your-value --env AURA_API_PROJECT_ID=your-value -- uvx gds-agentFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"gds-agent": {
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "your-value",
"NEO4J_USERNAME": "your-value",
"NEO4J_PASSWORD": "your-value",
"NEO4J_DATABASE": "your-value",
"AURA_API_CLIENT_ID": "your-value",
"AURA_API_CLIENT_SECRET": "your-value",
"AURA_API_PROJECT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"gds-agent": {
"type": "stdio",
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "your-value",
"NEO4J_USERNAME": "your-value",
"NEO4J_PASSWORD": "your-value",
"NEO4J_DATABASE": "your-value",
"AURA_API_CLIENT_ID": "your-value",
"AURA_API_CLIENT_SECRET": "your-value",
"AURA_API_PROJECT_ID": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
NEO4J_DATABASE envAURA_API_CLIENT_ID envAURA_API_PROJECT_ID envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account neo4j-contrib, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
You need to fill in: NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, AURA_API_CLIENT_SECRET
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.1.0) reached the registry 27 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, aamio rendezvous
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Meet an agent you have not met, exchange messages that expire, and prove it happened. No account.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
The GDS Agent let LLMs reason and do data science work on your graph data in Neo4j, by using two artifacts:
neo4j-graph-data-scientist) teaching the agent how and when to use those tools and best practices for doing data science on graphs.It works with any MCP-capable harness — Claude Code, Claude Desktop, claude.ai, OpenAI Codex, Cursor, VS Code/Copilot, Gemini CLI — and programmatically from agent frameworks. It uses the GDS plugin on self-managed Neo4j and GDS Aura Graph Analytics sessions on AuraDB, over STDIO or HTTP transport.
Once set up, you can ask any graph question about your Neo4j graph and get answers. You can collaborate with the agent as a graph data scientist to solve complex tasks.
| Harness | Tools (MCP) | Skill | Guide |
|---|---|---|---|
| Claude Code | /plugin marketplace add neo4j-contrib/gds-agent → /plugin install gds-agent@neo4j-gds | bundled with the plugin | setup |
| Claude Desktop | download the .mcpb from releases, double-click | upload the skill zip in Settings → Skills | setup |
| OpenAI Codex | codex mcp add neo4j-gds -- uvx gds-agent | npx skills add neo4j-contrib/gds-agent -a codex | setup |
| Cursor | one-click badge | npx skills add neo4j-contrib/gds-agent -a cursor | setup |
| VS Code / Copilot | one-click badge or .vscode/mcp.json | npx skills add neo4j-contrib/gds-agent -a copilot | setup |
| Gemini CLI | gemini extensions install https://github.com/neo4j-contrib/gds-agent | bundled with the extension | setup |
| Your own agent | any MCP client (stdio/HTTP) | inject SKILL.md as instructions | setup |
Most local setups need uv installed (the server runs via uvx gds-agent from PyPI). Generic MCP clients run uvx gds-agent over stdio with the environment variables below.
Set as environment variables (or the credential form of your harness's installer):
| Variable | Required | Purpose |
|---|---|---|
NEO4J_URI | yes | neo4j:// or neo4j+s:// connection URI |
NEO4J_USERNAME / NEO4J_PASSWORD | yes | database credentials |
NEO4J_DATABASE | no | database name (defaults to neo4j) |
AURA_API_CLIENT_ID / AURA_API_CLIENT_SECRET | session mode | Aura API credentials for Aura Graph Analytics |
AURA_API_PROJECT_ID | no | only if the API client can access multiple projects |
SESSION_MEMORY_GB / SESSION_TTL_HOURS | no | session defaults (8 GB / 12 h) |
SESSION_TIMEOUT_SECONDS | no | seconds to wait for a session to become Ready |
GDS_AGENT_MAX_RESULT_ROWS / _CHARS / _CELL_CHARS | no | tool output limits (500 / 100000 / 200) |
NEO4J_READ_ONLY | no | write_neo4j_cypher stays hidden unless this is false |
By default the server uses STDIO transport for local MCP clients. For HTTP-native clients, run the server with streamable HTTP:
gds-agent --transport http --host 127.0.0.1 --port 8000 --path /mcp
The equivalent environment variables are GDS_AGENT_TRANSPORT, GDS_AGENT_HOST, GDS_AGENT_PORT, and GDS_AGENT_PATH. The Neo4j MCP-style NEO4J_TRANSPORT and NEO4J_MCP_SERVER_* names are also supported.
The server detects whether the connected Neo4j has the GDS plugin installed or whether to use a GDS Aura Graph Analytics session. Detection runs gds.session.list() on startup; if it succeeds, session mode is used and graph projections fall back to gds.graph.project.remote.
Session mode requires Aura API credentials (see the configuration reference above) in the same .env file or env block as the database credentials. Sessions are managed explicitly by the agent: three extra tools become available in session mode (list_sessions, create_session, and delete_session). A session must first be created with create_session, project_graph_cypher then projects each graph into the session named by its required sessionName parameter, and algorithm calls are routed to the right session automatically by graphName. Most workflows need a single session holding all graphs; multiple sessions allow running analyses in parallel. To resize a session (e.g. after an OOM), delete it and create it again with a larger memoryGB. All sessions created by the server are named with an mcp_ prefix. Aura sessions are charged separate to the DB.
[skills/neo4j-graph-data-scientist](skills/neo4j-graph-data-scientist/SKILL.md) is consumed from this one location by the Claude Code plugin, the Gemini extension, npx skills, and the release skill zip. It covers GDS-specific workflow best practices with a troubleshooting reference guide, as well as general data science best practices.
read_neo4j_cypher, write_neo4j_cypher, and get_neo4j_schema are tools on this server. get_neo4j_schema calls APOC (apoc.meta.schema). write_neo4j_cypher is left off the tool list unless NEO4J_READ_ONLY=false.
To load a London underground example dataset:
NEO4J_URI=bolt://localhost:7687 # or your database URI
NEO4J_USERNAME=neo4j # or your db username NEO4J_PASSWORD=your_password
4. Load the London Underground dataset with the following command ([uv](https://docs.astral.sh/uv/getting-started/installation/) resolves the script's dependencies automatically):
uv run import_data.py --undirected
Connect to your DB and querying the graph from Neo4j workspace, you should see: London Underground Graph
/mcp_server directory, run uv sync --dev and run uv run gds-agent to start the MCP server standalone, or run claude to start claude-cli with the agent.claude --plugin-dir . from the repository root.Version numbers are kept in lockstep across pyproject.toml and all distribution manifests by scripts/bump_version.py. Pushing a v* tag triggers the release workflow.
Open a pull request from a branch of your forked repository into the main branch of this repo, for example mygithubid:add-new-algo -> neo4j-contrib:main.
The CI build in github action requires all codestyle checks and tests to pass.
To run and fix codestyle checks locally, in the /mcp_server directory, run:
uv sync --dev
to setup the python environment. And then,
uv run pytest tests -v -s
uv run ruff check uv run ruff format
for all tests and codestyle fixes.
To report a bug or a new feature request, raise an issue. If it is a bug, include the full stacktrace and errors. When available, attach relevant logs in mcp_server_neo4j_gds.log. This file is located inside the /mcp_server/src_mcp_server_neo4j_gds directory if the gds agent is running from source, or inside the logging path for Claude (e.g /Library/Logs/Claude for Claude Desktop on Mac). Include relevant minimal dataset that can be used to reproduce the issue if possible.
The GDS agent can be used with other MCP servers, such as those that provide additional Neo4j toolings: https://github.com/neo4j-contrib/mcp-neo4j Arxiv paper including details about the architecture and benchmark results: https://arxiv.org/abs/2508.20637.