Action templates like FIX and REFACTOR are graph nodes the agent reads before it starts, which means changing how your team wants bugs handled is a Cypher write rather than a prompt rewrite. Incarnations are the other structural idea: switching mode changes which tools are on the table, so a research session does not carry a code-analysis toolbox around with it.
A Neo4j-backed workflow and knowledge system. The graph holds action templates the agent follows, a project memory, and code-analysis results — and an incarnation mechanism swaps the active tool set between coding, knowledge graph, research, decision support and data analysis modes.
- check_connection, get_guidance_hub, list_incarnations, switch_incarnation, get_current_incarnation — verify the database and change the active mode
- list_action_templates, get_action_template, get_best_practices — the workflow templates the agent follows, including FIX, REFACTOR, FEATURE, DEPLOY and CODE_ANALYZE
- log_workflow_execution and get_workflow_history — record a completed workflow and read back what has been done
- list_projects, get_project, suggest_tool — project listings and a tool suggestion from a task description
- run_custom_query and write_neo4j_cypher — read-only and write Cypher against the graph
- list_cypher_snippets, search_cypher_snippets, get_cypher_snippet, create_cypher_snippet, update_cypher_snippet, delete_cypher_snippet, get_cypher_tags — a reusable Cypher library
- parse_to_ast, generate_asg, analyze_code, supported_languages — direct AST and semantic-graph parsing
- analyze_codebase, analyze_file, compare_versions, find_code_smells, generate_documentation, explore_code_structure, search_code_constructs — the code analysis incarnation
- create_entities, create_relations, add_observations, delete_entities, delete_observations, delete_relations, read_graph, search_nodes, open_nodes — the knowledge graph incarnation
- get_cleanup_status — resource and background-task state for the running server
A running Neo4j instance, and Qdrant for the semantic half. Python 3.10+ with uv. Connection details go in the client config as NEO4J_URL, NEO4J_USERNAME, NEO4J_PASSWORD and NEO4J_DATABASE; the password must match the database. Launched with uv from the cloned directory.
