Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Neo4j Graph Data Science MCP server
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, NEO4J_DATABASE, AURA_API_CLIENT_ID, AURA_API_CLIENT_SECRET, AURA_API_PROJECT_IDค่าที่ติดป้ายความลับคือกุญแจของบัญชีคุณ อย่าส่งให้ใคร และอย่าวางในแชต
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
เปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"gds-agent": {
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "ใส่ค่าของคุณ",
"NEO4J_USERNAME": "ใส่ค่าของคุณ",
"NEO4J_PASSWORD": "ใส่ค่าของคุณ",
"NEO4J_DATABASE": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_ID": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AURA_API_PROJECT_ID": "ใส่ค่าของคุณ"
}
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add gds-agent --env NEO4J_URI='ใส่ค่าของคุณ' --env NEO4J_USERNAME='ใส่ค่าของคุณ' --env NEO4J_PASSWORD='ใส่ค่าของคุณ' --env NEO4J_DATABASE='ใส่ค่าของคุณ' --env AURA_API_CLIENT_ID='ใส่ค่าของคุณ' --env AURA_API_CLIENT_SECRET='ใส่ค่าของคุณ' --env AURA_API_PROJECT_ID='ใส่ค่าของคุณ' -- uvx gds-agentเติมค่าที่เว้นว่างไว้ก่อนรัน
วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"gds-agent": {
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "ใส่ค่าของคุณ",
"NEO4J_USERNAME": "ใส่ค่าของคุณ",
"NEO4J_PASSWORD": "ใส่ค่าของคุณ",
"NEO4J_DATABASE": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_ID": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AURA_API_PROJECT_ID": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"gds-agent": {
"type": "stdio",
"command": "uvx",
"args": [
"gds-agent"
],
"env": {
"NEO4J_URI": "ใส่ค่าของคุณ",
"NEO4J_USERNAME": "ใส่ค่าของคุณ",
"NEO4J_PASSWORD": "ใส่ค่าของคุณ",
"NEO4J_DATABASE": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_ID": "ใส่ค่าของคุณ",
"AURA_API_CLIENT_SECRET": "ใส่ค่าของคุณ",
"AURA_API_PROJECT_ID": "ใส่ค่าของคุณ"
}
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ตัวนี้รันในเครื่องคุณ แต่ ChatGPT ต่อได้เฉพาะ server บนอินเทอร์เน็ต ลองเลือกแอปอื่น
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
NEO4J_DATABASE envAURA_API_CLIENT_ID envAURA_API_PROJECT_ID envค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
รันในเครื่องคุณ รายการเครื่องมือจะขึ้นในแอป AI หลังติดตั้ง
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub neo4j-contrib ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตัวนี้รันบนเครื่องคุณ ไม่มี endpoint บนอินเทอร์เน็ต
ตัวนี้รันบนเครื่อง ใช้ค่าที่ตั้งในเครื่องแทน
รันในเครื่องคุณ เราอ่านรายการเครื่องมือได้เฉพาะตัวที่มี endpoint บนอินเทอร์เน็ต
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 1 จาก 1 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
ต้องใส่ค่าเหล่านี้: NEO4J_URI, NEO4J_USERNAME, NEO4J_PASSWORD, AURA_API_CLIENT_SECRET
รันบนเครื่องของคุณ โปรแกรม AI จะเปิด server ขึ้นมาเองเมื่อใช้ ข้อมูลไม่ต้องผ่านเซิร์ฟเวอร์ของผู้ทำ (ยกเว้นตัวที่ไปเรียกบริการออนไลน์ต่อ)
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (1.1.0) เข้า registry 26 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต้องมี Python (uv) ในเครื่องด้วย
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, NexusWindows
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า 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.
Windows computer use in the background: desktop apps driven without your mouse or keyboard.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
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.