Skip to main content
Glama

graph-arch

Sistema de gestión de arquitectura de código impulsado por base de datos de grafos: mantiene un grafo de dependencias de tres capas de "requisitos / módulos de código / datos" con Neo4j. El desarrollo de agentes se completa automáticamente, el impacto de los cambios se consulta con un clic, y los hooks reactivos coordinan la colaboración de múltiples agentes.

Instrucción de configuración en una frase para la IA: «Lee este README y completa la instalación y configuración de este proyecto siguiendo la sección "Inicio rápido".»


Qué es este proyecto

Las herramientas existentes no pueden responder a la pregunta "si cambio una estructura de datos, ¿cuáles son todos los lugares que necesitan actualizarse?" — el IDE solo reconoce los imports de código, el sistema de compilación solo reconoce las dependencias de compilación, y el linaje de datos solo reconoce las canalizaciones de datos. Este proyecto coloca código, datos, herramientas y requisitos en un mismo grafo:

AI 运行 A ─PRODUCES→ 数据集 B ─→ 工具 C ─→ Excel D ─┐
                       └──→ 工具 E ─→ Excel F ─┴→ 工具 G ─→ Excel H ─→ 客户端/服务端
  • Análisis de impacto: cualquier cambio en un nodo, una consulta Cypher revela todos los downstream

  • Control de acceso estricto: el agente declara el cambio en el grafo (solicitud de intención) → el commit de git activa la verificación de revisión → solo se escribe en el grafo si se aprueba; si falla, ni siquiera el commit puede entrar

  • Hooks reactivos: los cambios en el grafo se distribuyen a los agentes relevantes según suscripciones; si no hay cambios, la propagación converge naturalmente

  • Escritorio: visualización de datos del grafo + visualización de tareas en curso

Los detalles de diseño se encuentran en docs/design-v1.1.md, y la estructura del programa en docs/architecture.md.


Related MCP server: codemap

Inicio rápido

Requisitos previos

  • Windows 10/11 (Git Bash disponible)

  • Python ≥ 3.11 (confirmar con python --version)

  • Opcional: API LLM compatible con OpenAI (para el agente de revisión / mantenimiento nocturno; por defecto apunta a http://localhost:8642/v1, se puede modificar en la configuración u omitir)

Configuración en una frase (para que la ejecute la IA)

Dile a cualquier asistente de IA después de clonar este proyecto:

"Lee README.md, ejecuta el proceso de instalación de inicio rápido y completa la configuración de este proyecto."

El único comando central que debe ejecutar la IA:

python setup/setup.py

Este script completa automáticamente los siguientes pasos (cada fallo proporciona instrucciones claras de intervención manual):

Paso

Acción

Resultado

1

Verificar la versión de Python

Salir y avisar si la versión no coincide

2

Descargar y descomprimir JDK 21 (Temurin, múltiples fuentes de espejo)

runtime/jdk-21/ (se omite si ya hay un Java del sistema)

3

Descargar y descomprimir Neo4j Community 5.x (múltiples fuentes de espejo)

runtime/neo4j/ (si falla la descarga, avisar para colocar manualmente el zip en runtime/ y volver a ejecutar)

4

Iniciar el servicio Neo4j e inicializar la contraseña

Contraseña por defecto graph123, escrita en config/settings.yaml

5

Crear .venv e instalar todas las dependencias de Python

.venv/

6

Aplicar el esquema del grafo (restricciones + índices + datos semilla de la canalización de ejemplo)

El grafo de tres capas en Neo4j

7

Registrar el servidor MCP en ~/.workbuddy/mcp.json (copia de seguridad automática del archivo original)

WorkBuddy puede llamar directamente a 6 herramientas

8

Prueba de humo: ejecutar una consulta de impacto

Debe devolver 8 nodos descendentes

9

Mostrar los siguientes pasos

Inicio del escritorio / hooks de git / empaquetado exe

Tiempo estimado: la primera vez unos 5–15 minutos (dependiendo de la velocidad de descarga de JDK + Neo4j, ~380MB en total). Reanudación de descargas: el script es idempotente en cada paso; si falla, corrige el problema y vuelve a ejecutarlo, los pasos completados se omiten automáticamente.

Pasos manuales (si no se quiere usar el script de un clic)

# 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"

Escritorio (visualización + monitoreo de actividad)

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

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

Funciones:

  • Visualización del grafo: coloreado por capas (requisitos/módulos/datos), clic en un nodo para ver detalles (resumen, puntero, estado, vecindario)

  • Panel de actividad: solicitudes de intención pendientes, cola de tareas, flujo de changelog reciente, lista de nodos obsoletos

  • Actualización automática cada 5 segundos


Integración con el Agent Harness

WorkBuddy

setup.py ya escribe automáticamente en ~/.workbuddy/mcp.json. Después de reiniciar WorkBuddy, aparecen en el directorio de herramientas:

submit_graph_intent / query_impact / query_context / claim_task / get_pending_intents / get_pending_tasks

Hermes

Si Hermes es compatible con MCP: registra también este servidor (python -m graph_arch.mcp_server, directorio de trabajo en la raíz del repositorio). Si solo es compatible con OpenAI function calling: las definiciones de herramientas se encuentran en el docstring de src/graph_arch/mcp_server.py, que se pueden convertir directamente al formato de herramientas de OpenAI.

Instrucciones de flujo de trabajo del agente (pégalas en el system prompt o conviértelas en una skill)

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

Estructura de directorios

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/

Configuración (config/settings.yaml)

Clave

Valor por defecto

Descripción

neo4j.uri

bolt://localhost:7687

Conexión Neo4j

neo4j.password

graph123

Escrito después de la inicialización de setup

llm.base_url

http://localhost:8642/v1

Endpoint compatible con OpenAI (para revisión/mantenimiento, se puede dejar vacío para omitir)

llm.model

default

Nombre del modelo

hook.max_chain_hits

2

Límite de disparos del mismo nodo en una cadena de hooks (evita bucles)

task.claim_timeout_sec

3600

Tiempo de espera de reclamación de tareas (si se agota, se reasigna/coloca en cola de mensajes muertos)

changelog.dir

changelog/

Directorio de registros de cambios

Instalación de hooks de git (en el repositorio de código objetivo)

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

Después de esto, los push / merge de ese repositorio activarán la verificación de revisión y la fusión del grafo.

Solución de problemas

Síntoma

Solución

La descarga de Neo4j falla (403/timeout)

Descarga manualmente neo4j-community-5.26.0-windows.zip desde neo4j.com, colócalo en runtime/ y vuelve a ejecutar setup.py

neo4j start informa JAVA_HOME

Confirma que runtime/jdk-21/ existe; o instala JDK 21 del sistema

La conexión bolt es rechazada

Verifica el estado del servicio con runtime/neo4j/bin/neo4j.bat status; permite el puerto 7687 en el firewall

El paso de revisión informa fallo de conexión LLM

El LLM se puede omitir: establece llm.base_url vacío en settings.yaml, la revisión se degrada al modo "validación estructural + confirmación manual"

Las herramientas MCP no aparecen

Reinicia el harness; confirma que ~/.workbuddy/mcp.json tiene una entrada graph-arch y que la ruta es correcta

Licencia

MIT (modificable según sea necesario)

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