NeoCoder 是一个基于 Model Context Protocol (MCP) 的服务器实现,它利用 Neo4j 图数据库作为AI助手的动态知识源和指令库。它旨在为AI提供结构化的上下文信息和执行外部操作的能力,从而实现更可靠和标准化的工作流程。

主要功能点

  • 知识图谱交互: 作为AI与Neo4j图数据库之间的桥梁,允许AI助手查询和操作图谱数据。
  • 工作流程模板 (ActionTemplates): 在Neo4j中存储和管理标准化任务(如FIX、REFACTOR)的步骤,AI助手可以检索并遵循这些模板。
  • 上下文管理: 提供访问项目信息(如README)、文件结构和历史执行记录的能力。
  • 工具执行: 暴露一系列工具函数,AI助手可以通过这些工具执行特定操作,例如:
    • 获取指导中心信息
    • 列出/获取工作流程模板
    • 获取项目详情和列表
    • 记录工作流程执行(在测试通过后)
    • 运行自定义Cypher查询(读/写)
    • 管理Cypher查询片段库
    • 提交和查看工具提案/请求
    • 检查数据库连接
  • 多态框架 (Polymorphic Framework): 系统设计支持不同的“形态”(incarnations),除了初始的“编码工作流”外,还包括“研究编排”、“决策支持”、“持续学习”和“复杂系统模拟”等,每种形态提供一套针对特定领域的工具和知识结构。AI可以通过工具切换当前形态。

安装步骤

  1. 安装 prerequisites: 确保已安装 Neo4j 数据库实例(本地或远程),以及 Python 3.10 或更高版本。还需要安装 Python 包管理器 'uv' (或 'pip')。
  2. 克隆仓库: 将 NeoCoder 仓库克隆到本地。
  3. 创建并激活虚拟环境:
    uv venv
    source venv/bin/activate # 在 Windows 上使用 'venv\Scripts\activate'
  4. 安装依赖:
    pip install -r requirements.txt
  5. 配置 Neo4j 连接: NeoCoder 需要连接到 Neo4j 数据库。可以通过环境变量设置连接参数:'NEO4J_URL', 'NEO4J_USERNAME', 'NEO4J_PASSWORD', 'NEO4J_DATABASE'。如果未设置,将使用默认值 'bolt://localhost:7687', 'neo4j', 'password', 'neo4j'。请务必设置 'NEO4J_PASSWORD' 环境变量或修改默认代码中的密码。
  6. 初始化数据库: 运行初始化脚本来创建必要的图谱结构、约束、索引以及默认的指导中心和模板。
    # 在仓库根目录下运行
    python -m src.mcp_neocoder init
    # 可以指定要初始化的形态,例如只初始化编码和研究形态:
    # python -m src.mcp_neocoder init coding research_orchestration

服务器配置 (供 MCP 客户端使用)

要让支持MCP的AI客户端(如 Claude Desktop)连接到 NeoCoder 服务器,您需要在客户端的配置文件 (例如 'claude-app-config.json') 中添加一个 MCP 服务器配置条目。配置内容大致如下(请根据您的实际安装路径修改):

{
  "mcpServers": {
    "neocoder": {  // 服务器的名称,您可以自定义
      "command": "uv", // 启动服务器的命令,如果您使用venv和uv,通常是uv
      "args": [ // 传递给命令的参数
        "--directory",
        "/path/to/your/NeoCoder-neo4j-ai-workflow/src/mcp_neocoder", // NeoCoder src/mcp_neocoder 目录的绝对路径
        "run",
        "mcp_neocoder" // 执行 src/mcp_neocoder/__main__.py 脚本,启动服务器
      ],
      "env": { // 可选:在这里设置Neo4j环境变量,覆盖系统环境变量
        "NEO4J_URL": "bolt://localhost:7687",
        "NEO4J_USERNAME": "neo4j",
        "NEO4J_PASSWORD": "<YOUR_NEO4J_PASSWORD>", // 替换为您的Neo4j密码
        "NEO4J_DATABASE": "neo4j"
      }
    }
  }
}

请将上述配置添加到您的MCP客户端配置文件中,并确保 '/path/to/your/NeoCoder-neo4j-ai-workflow' 替换为您的实际仓库路径。

基本使用方法

配置完成后,在您的MCP客户端中连接并启用 NeoCoder 服务器。AI助手就可以开始与Neo4j知识图谱交互了。

  1. 获取入门指南: 让AI调用 'get_guidance_hub()' 工具获取系统的核心指南和可用功能概述。
  2. 探索工作流程: 让AI调用 'list_action_templates()' 查看所有可用的标准化工作流程,或调用 'get_action_template(keyword="FIX")' 获取特定流程的详细步骤。
  3. 获取项目信息: 让AI调用 'list_projects()' 查看可用的项目,或调用 'get_project(project_id="your_project_id")' 获取特定项目的详情和README。
  4. 执行图谱查询: 让AI调用 'run_custom_query(query="MATCH (n) RETURN count(n)")' 执行读取操作,或调用 'write_neo4j_cypher(query="CREATE (n:Test)")' 执行写入操作。
  5. 记录工作: 在AI完成一个标准化任务并验证成功后,应调用 'log_workflow_execution(...)' 记录执行情况。
  6. 切换形态: 如果需要访问研究或决策等其他领域的工具,让AI调用 'list_incarnations()' 查看可用形态,然后调用 'switch_incarnation(incarnation_type="research_orchestration")' 进行切换。切换后再次调用 'get_guidance_hub()' 获取当前形态的专属指南。
  7. 寻求工具建议: 如果AI不确定要使用哪个工具来完成任务,可以调用 'suggest_tool(task_description="...")'。

NeoCoder 将作为AI的“记忆”和“指令手册”,帮助AI以更结构化、可追溯的方式完成任务。

信息

分类

开发者工具