Labsco
MCP SERVER

NeoCoder

by angrysky56

Keep an agent's workflows, decisions and project knowledge in a Neo4j graph, and switch its whole toolset by changing incarnation.

Reasoning Scaffolds & Agent Workflow Engines
Summary
The instruction manual lives in the database, so it can be edited without touching the agent.

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.

What it is

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.

What you get
  • 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
Requirements

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.