Skip to main content
Glama

graph-arch

Graphendatenbank-gesteuertes Code-Architektur-Managementsystem – mit Neo4j wird ein dreischichtiger Abhängigkeitsgraph aus „Anforderungen / Code-Modulen / Daten" gepflegt. Agent-Entwicklung füllt ihn automatisch, Änderungsauswirkungen lassen sich per Klick abfragen, und reaktive Hooks koordinieren mehrere Agents.

Ein-Satz-Konfigurationsanweisung für KI: „Lies diese README und führe die Installation und Konfiguration dieses Projekts gemäß dem Kapitel ‚Schnellstart' durch."


Was ist dieses Projekt?

Bestehende Tools können nicht beantworten: „Wenn ich eine Datenstruktur ändere, welche Stellen müssen alle aktualisiert werden?" – Die IDE kennt nur Code-Importe, das Build-System nur Compile-Abhängigkeiten, Data Lineage nur Datenpipelines. Dieses Projekt bringt Code, Daten, Tools und Anforderungen in einen einzigen Graphen:

AI 运行 A ─PRODUCES→ 数据集 B ─→ 工具 C ─→ Excel D ─┐
                       └──→ 工具 E ─→ Excel F ─┴→ 工具 G ─→ Excel H ─→ 客户端/服务端
  • Auswirkungsanalyse: Bei Änderung eines beliebigen Knotens liefert eine einzige Cypher-Abfrage alle nachgelagerten Knoten

  • Starke Gate-Kontrolle: Agent deklariert Graphänderungen (Intent-Request) → Git-Commit löst Review-Prüfung aus → erst nach Bestehen wird in den Graphen geschrieben, bei Fehlschlag kommt nicht einmal der Commit durch

  • Reaktive Hooks: Graphänderungen werden gemäß Abonnement an relevante Agents verteilt; ohne Änderungen konvergiert die Ausbreitung natürlich

  • Desktop-Anwendung: Visualisierung der Graphdaten + Ansicht laufender Aufgaben

Designdetails siehe docs/design-v1.1.md, Programmstruktur siehe docs/architecture.md.


Related MCP server: codemap

Schnellstart

Voraussetzungen

  • Windows 10/11 (Git Bash verfügbar)

  • Python ≥ 3.11 (mit python --version bestätigen)

  • Optional: OpenAI-kompatible LLM-API (für Review-/Nachtwartungs-Agent, zeigt standardmäßig auf http://localhost:8642/v1, kann in der Konfiguration geändert oder übersprungen werden)

Ein-Satz-Konfiguration (der KI überlassen)

Sag zu einem beliebigen KI-Assistenten nach dem Klonen dieses Projekts:

„Lies README.md, führe den Installationsprozess aus dem Schnellstart aus und schließe die Konfiguration dieses Projekts ab."

Der einzige Kernbefehl, den die KI ausführen soll:

python setup/setup.py

Dieses Skript führt die folgenden Schritte vollautomatisch aus (bei jedem Fehlschritt wird eine klare Anleitung zur manuellen Übernahme ausgegeben):

Schritt

Aktion

Ergebnis

1

Python-Version prüfen

Bei falscher Version Abbruch mit Hinweis

2

JDK 21 herunterladen und entpacken (Temurin, mehrere Spiegelquellen)

runtime/jdk-21/ (wird übersprungen, wenn systemweites Java vorhanden)

3

Neo4j Community 5.x herunterladen und entpacken (mehrere Spiegelquellen)

runtime/neo4j/ (bei Downloadfehler: Hinweis, die ZIP manuell in runtime/ abzulegen und erneut auszuführen)

4

Neo4j-Dienst starten und Passwort initialisieren

Passwort standardmäßig graph123, wird in config/settings.yaml geschrieben

5

.venv erstellen und alle Python-Abhängigkeiten installieren

.venv/

6

Graph-Schema anwenden (Constraints + Indizes + Beispiel-Pipeline-Seeddaten)

Dreischichtiger Graph in Neo4j

7

MCP-Server in ~/.workbuddy/mcp.json registrieren (Originaldatei wird automatisch gesichert)

WorkBuddy kann die 6 Tools direkt aufrufen

8

Smoke-Test: Eine Impact-Abfrage ausführen

Sollte 8 nachgelagerte Knoten zurückgeben

9

Anleitung für nächste Schritte ausgeben

Desktop-Start / Git-Hooks / EXE-Paket

Geschätzte Dauer: Erstmals ca. 5–15 Minuten (abhängig von der Downloadgeschwindigkeit von JDK + Neo4j, zusammen ~380 MB). Fortsetzen nach Unterbrechung: Jeder Skriptschritt ist idempotent; nach Behebung eines Fehlers einfach erneut ausführen, bereits abgeschlossene Schritte werden automatisch übersprungen.

Manuelle Einzelschritte (falls das Ein-Klick-Skript nicht verwendet werden soll)

# 1. 依赖
python -m venv .venv && .venv/Scripts/pip install -e .

# 2. Neo4j(手动下载 zip 解压到 runtime/neo4j/,需要 JDK 21)
runtime/neo4j/bin/neo4j.bat install-service
runtime/neo4j/bin/neo4j.bat start

# 3. 初始化密码(首次默认 neo4j/neo4j,登录后强制改)
runtime/neo4j/bin/cypher-shell.bat -u neo4j -p neo4j \
  "ALTER CURRENT USER SET PASSWORD FROM 'neo4j' TO 'graph123';"

# 4. 应用 schema 与种子数据
.venv/Scripts/python -m graph_arch.setup_db

# 5. 注册 MCP(见下方「接入 Agent Harness」)

# 6. 验证
.venv/Scripts/python -c "from graph_arch.graph.queries import impact; \
  print(len(impact('data:dataset_b')), '个下游节点')   # 应输出 8"

Desktop-Anwendung (Visualisierung + Aktivitätsüberwachung)

# 开发运行
.venv/Scripts/python desktop/main.py

# 打包为独立 exe(产物在 desktop/dist/)
.venv/Scripts/python desktop/build_exe.py

Funktionen:

  • Graphvisualisierung: Färbung nach Schicht (Anforderungen/Module/Daten), Klick auf Knoten zeigt Details (Zusammenfassung, Zeiger, Status, Nachbarschaft)

  • Aktivitätsbereich: Ausstehende Intent-Requests, Aufgabenwarteschlange, aktueller Changelog-Stream, Liste veralteter (stale) Knoten

  • Automatische Aktualisierung alle 5 Sekunden


Anbindung an Agent-Harness

WorkBuddy

setup.py hat ~/.workbuddy/mcp.json automatisch geschrieben. Nach Neustart von WorkBuddy erscheinen im Tool-Verzeichnis:

submit_graph_intent / query_impact / query_context / claim_task / get_pending_intents / get_pending_tasks

Hermes

Falls Hermes MCP unterstützt: Ebenso diesen Server registrieren (python -m graph_arch.mcp_server, Arbeitsverzeichnis ist das Repository-Root). Falls nur OpenAI-Function-Calling unterstützt wird: Die Tool-Definitionen finden sich im Docstring von src/graph_arch/mcp_server.py und können direkt in das OpenAI-Tools-Format überführt werden.

Workflow-Anweisungen für Agents (in System-Prompt einfügen oder als Skill anlegen)

开发工作流(必须遵守):
1. 接到任何修改类任务,先调 query_context 加载目标节点邻域(摘要+指针+状态)
2. 若涉及已有数据结构/模块,必须调 query_impact 确认影响范围
3. 按指针从源头(git/文档/schema)加载细节后开工
4. 完成后必须 submit_graph_intent 声明图变更,再创建 git 提交
5. review 失败则按返回原因修正,重新提交

Verzeichnisstruktur

graph-arch/
├── README.md                  # 本文件
├── pyproject.toml             # 包定义与依赖
├── docs/                      # 设计文档(v1.1)+ 结构文档
├── setup/setup.py             # 一键安装脚本
├── config/
│   ├── settings.yaml          # Neo4j/LLM/路径/超时(setup 自动生成)
│   ├── hooks.yaml             # Hook 规则注册
│   └── skill_routes.yaml      # skill 路由表(harness 层)
├── schema/                    # Cypher:约束 + 种子数据
├── src/graph_arch/
│   ├── graph/                 # client / writer / queries / merger
│   ├── hooks/                 # engine / cycle_guard / actions
│   ├── review/                # 核验协议 + LLM 调用
│   ├── tasks/                 # 任务队列 + 死信队列
│   ├── mcp_server.py          # 入口 1: MCP server(常驻)
│   ├── git_hook.py            # 入口 2: git hooks(pre-receive/post-merge)
│   ├── nightly.py             # 入口 3: 夜间维护(定时)
│   └── setup_db.py            # schema 初始化
├── desktop/                   # 桌面端(PySide6 + vis-network)
├── git-hooks/                 # 仓库钩子 + 安装脚本
├── changelog/                 # append-only 变更日志(JSONL)
├── runtime/                   # JDK / Neo4j(setup 下载,不入 git)
└── tests/

Konfigurationshinweise (config/settings.yaml)

Schlüssel

Standard

Beschreibung

neo4j.uri

bolt://localhost:7687

Neo4j-Verbindung

neo4j.password

graph123

Wird nach der Setup-Initialisierung geschrieben

llm.base_url

http://localhost:8642/v1

OpenAI-kompatibler Endpunkt (für Review/Wartung, kann leer gelassen werden, um zu überspringen)

llm.model

default

Modellname

hook.max_chain_hits

2

Obergrenze für Auslösungen desselben Knotens in einer Hook-Kette (verhindert Schleifen)

task.claim_timeout_sec

3600

Timeout für Aufgabenübernahme (bei Überschreitung: Weiterleitung/Dead Letter)

changelog.dir

changelog/

Verzeichnis für Änderungsprotokolle

Git-Hooks installieren (im Ziel-Code-Repository)

bash git-hooks/install.sh /path/to/your/code-repo

Danach lösen Push/Merge in diesem Repository Review-Prüfung und Graph-Zusammenführung aus.

Fehlerbehebung

Symptom

Behandlung

Neo4j-Download fehlgeschlagen (403/Timeout)

Manuell neo4j-community-5.26.0-windows.zip von neo4j.com herunterladen, in runtime/ ablegen und setup.py erneut ausführen

neo4j start meldet JAVA_HOME

Sicherstellen, dass runtime/jdk-21/ existiert; oder systemweites JDK 21 installieren

Bolt-Verbindung abgelehnt

runtime/neo4j/bin/neo4j.bat status zur Prüfung des Dienststatus ausführen; Port 7687 in der Firewall freigeben

Review-Schritt meldet LLM-Verbindungsfehler

LLM kann leer gelassen werden: llm.base_url in settings.yaml leeren, Review fällt auf „Strukturprüfung + manuelle Bestätigung" zurück

MCP-Tools erscheinen nicht

Harness neu starten; sicherstellen, dass in ~/.workbuddy/mcp.json ein graph-arch-Eintrag mit korrektem Pfad vorhanden ist

Lizenz

MIT (nach Bedarf anpassbar)

F
license - not found
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    AI-native code intelligence graph that builds a persistent knowledge graph of your codebase in Neo4j and exposes it to AI assistants via MCP, enabling contextual code analysis, impact analysis, and dependency tracking.
    21
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.
    1
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Local-first code intelligence and safety layer for AI coding agents. MCP server exposes dependency graph, impact analysis, and AST-compressed repo context, backed by typed local memory, patch-scope safety gates, and git-independent transaction rollback.
    1
    MIT

View all related MCP servers

Related MCP Connectors

  • AI Agent with Architectural Memory. Impact analysis (free), tests and code from the graph (pro).

  • Control plane for autonomous software labor. Agents claim objectives over MCP with audit trail.

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/3486038424/neo4j_mcp_controller'

If you have feedback or need assistance with the MCP directory API, please join our Discord server