项目简介
Neural Forge是一个基于Model Context Protocol (MCP) 的AI工程系统,旨在为大型语言模型(LLM)客户端提供自动化的、上下文感知的工程智能。它集成了PostgreSQL持久化存储、事件驱动架构和自主规则应用,帮助LLM在规划和编码活动中遵循工程最佳实践。
主要功能点
- MCP服务器完整支持: 作为一个功能完备的MCP服务器,通过JSON-RPC协议提供标准的上下文服务,并支持SSE传输协议。
- 自主预行动治理: 在AI开始规划或编码前,自动分析对话内容并提供相关的工程指导和建议,确保遵循最佳实践。
- 丰富的工程知识库: 包含63个核心工程规则(Tokens),涵盖安全、性能、架构、代码质量、测试等八大领域。
- 联想记忆系统: 具备类似人类的联想记忆能力,能够基于上下文动态激活相关规则,并支持跨会话学习,提升指导的适应性。
- 持久化存储: 利用PostgreSQL存储记忆、任务、代码差异、错误日志和治理规则的有效性指标,支持会话管理和数据溯源。
- 工具集: 提供15个工具,包括:
- 内存操作: 'add_memory'(添加记忆)、'get_memory'(获取记忆)、'search_memory'(搜索记忆)。
- 治理与规则: 'get_governance_policies'(获取治理策略)、'get_active_tokens'(获取活动Token)、'get_token_metrics'(查看Token指标)、'get_rules'(获取工程规则)。
- 任务管理: 'enqueue_task'(任务入队)、'get_next_task'(获取下个任务)、'update_task_status'(更新任务状态)。
- 代码追踪与日志: 'save_diff'(保存代码差异)、'list_recent'(列出最近活动)、'log_error'(记录错误)。
- AI互动: 'ingest_event'(摄取对话事件)、'activate_governance'(手动激活治理指导)。
- 可观测性: 集成Prometheus指标和OpenTelemetry分布式追踪,方便监控和诊断服务器的运行状态和性能。
安装步骤
-
克隆仓库: 在您的终端中运行以下命令来克隆Neural Forge仓库:
git clone https://github.com/infinri/neural-forge.git cd neural-forge -
环境设置和启动: 为了简化设置,强烈推荐使用Docker Compose来启动PostgreSQL数据库和Neural Forge服务器:
- 推荐方式 (一键启动):
运行 'scripts/bootstrap.sh' 脚本,它将自动构建Docker镜像、启动PostgreSQL并运行数据库迁移,然后启动Neural Forge MCP服务器。
scripts/bootstrap.sh - 手动启动方式 (Docker Compose):
如果您希望手动控制,可以先启动Docker Compose服务,然后手动运行数据库迁移和服务器:
docker compose up -d # 启动PostgreSQL和其他Docker服务 make db-upgrade-docker # 运行数据库迁移 python -m server.main # 启动Neural Forge服务器
(请确保您的系统已安装Docker和Docker Compose。)
- 推荐方式 (一键启动):
运行 'scripts/bootstrap.sh' 脚本,它将自动构建Docker镜像、启动PostgreSQL并运行数据库迁移,然后启动Neural Forge MCP服务器。
服务器配置 (MCP客户端使用)
要让您的MCP客户端(如Windsurf/Cursor)连接到Neural Forge服务器,您需要将以下JSON配置添加到客户端的配置文件中(例如 '~/.codeium/windsurf/mcp_config.json'):
{ "mcpServers": { "neural-forge": { "serverUrl": "http://127.0.0.1:8081/sse", // Neural Forge服务器的SSE端点地址 "headers": { "Authorization": "Bearer dev" // 访问MCP服务器所需的认证Token,默认为"dev" } } } }
基本使用方法
MCP客户端连接成功后,即可通过JSON-RPC协议与Neural Forge服务器进行交互:
- 获取服务器能力: 客户端可以向 '/sse' 端点发送 'initialize' 方法的JSON-RPC请求,以获取服务器支持的协议版本和能力声明。
- 列出可用工具: 客户端可以发送 'tools/list' 方法的JSON-RPC请求,以获取Neural Forge提供的15个工具的详细列表,包括其名称、描述和输入模式。
- 调用工具: 客户端可以通过 'tools/call' 方法调用Neural Forge提供的任何工具。例如,调用 'add_memory' 来存储新的工程记忆,或者 'search_memory' 来检索相关信息。当LLM进行规划或编码时,客户端可以调用 'activate_governance' 工具,Neural Forge将自动分析LLM的意图并提供相关的工程最佳实践指导。
验证连接和状态: 您可以使用 'curl' 命令来验证服务器是否正常运行和响应:
- 测试服务器连接: 'curl http://127.0.0.1:8081/sse -H "Authorization: Bearer dev"'
- 检查健康状态: 'curl http://127.0.0.1:8081/health'
- 查看性能指标: 'curl http://127.0.0.1:8081/metrics'
信息
分类
开发者工具