🚀 MCP Vibe编码知识图谱
MCP Vibe编码知识图谱是一个全面的模型上下文协议(MCP)服务器,它将Vibe编码方法与知识图谱技术相结合,借助Kuzu嵌入式数据库,助力人工智能辅助软件开发。该系统尚处于早期开发阶段,尚未在生产环境中进行全面测试,请谨慎使用,并务必对代码和数据进行适当备份。
✨ 主要特性
🧠 知识图谱智能
- Kuzu图数据库:高性能嵌入式图数据库,支持Cypher查询。
- 智能缓存:多层缓存系统,具备自动优化功能。
- 模式检测:跨多种语言的高级设计模式识别。
- 技术债务分析:全面的债务检测和修复跟踪。
- 上下文感知生成:基于现有模式和标准的代码生成。
🔍 多语言代码分析
- JavaScript/TypeScript:完整的抽象语法树(AST)分析,支持框架检测。
- C++/Arduino:专业的嵌入式开发支持。
- Go、Rust、Python、Java:全面的语言支持。
- Git集成:仓库历史分析和协作指标统计。
- 性能分析:内存使用、时间约束和优化。
🛡️ 企业级安全与性能
- 输入验证:多层安全防护,防止注入攻击。
- 性能监控:实时指标和优化。
- 备份与恢复:自动备份系统,支持压缩。
- 健康监控:全面的系统健康监测和警报。
- 可扩展架构:专为企业级部署设计。
🔧 Arduino/嵌入式开发
- 硬件验证:引脚冲突检测和开发板兼容性检查。
- 内存优化:RAM、Flash和EEPROM使用分析。
- 中断安全:中断服务程序(ISR)安全代码生成和验证。
- 时序分析:实时约束验证。
- 开发板支持:Arduino Uno、Mega、Nano、ESP32。
📦 安装指南
前提条件
- Node.js 18+
- Kuzu数据库(嵌入式 - 自动安装)
安装步骤
git clone https://github.com/yourusername/mcp-vibe-coding-kg
cd mcp-vibe-coding-kg
npm install
npm run setup
💻 使用示例
定义领域架构
使用 `define_domain_ontology` 工具来建立系统架构:
实体:
- 用户服务(认证、授权)
- 产品目录(库存、定价)
- 订单处理器(工作流、支付)
关系:
- 用户服务对订单处理器进行认证
- 产品目录为订单处理器提供服务
业务规则:
- "所有API端点必须进行认证"
- "数据库连接必须使用连接池"
- "错误响应必须包含关联ID"
编码标准:
- 使用TypeScript以确保类型安全
- 遵循SOLID原则
- 最大函数复杂度:10
分析Arduino项目
使用 `analyze_arduino_sketch` 工具进行嵌入式分析:
草图路径:"./arduino/sensor_hub/sensor_hub.ino"
目标开发板:"mega2560"
包含库:true
返回全面分析结果:
- 内存使用:RAM 1.2KB/8KB,Flash 15KB/256KB
- 引脚冲突:未检测到
- 中断使用:2/6可用
- 时序违规:循环耗时45ms(目标:<50ms)
- 优化建议:对字符串使用PROGMEM
生成上下文感知代码
使用 `generate_code_with_context` 工具:
需求:"创建用户注册的API端点"
应用模式:["仓库模式", "验证模式", "错误处理模式"]
约束条件:{"语言": "typescript", "框架": "express"}
生成内容:
- 仓库模式实现
- 使用Joi模式进行输入验证
- 结构化错误处理
- 全面的日志记录
- 单元测试模板
📚 详细文档
快速开始
1. 初始化代码库
npm run init /path/to/your/codebase
npm run init /path/to/codebase --force --depth 15 --parallel 8
2. 配置Claude桌面应用
配置文件位置:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- Windows:
%APPDATA%\Claude\claude_desktop_config.json
- Linux:
~/.config/Claude/claude_desktop_config.json
添加MCP服务器配置:
{
"mcpServers": {
"vibe-coding-kg": {
"command": "node",
"args": ["index.js", "start"],
"cwd": "/path/to/mcp-vibe-coding-kg",
"env": {
"NODE_ENV": "production"
}
}
}
}
3. 开始使用
npm start
npm run health
npm run backup my-backup.tar.gz
可用的MCP工具
📊 知识图谱管理
define_domain_ontology - 定义业务实体、规则和编码标准
get_kg_statistics - 全面的知识图谱统计和健康状况
update_kg_from_code - 用新的模式和决策更新图谱
🔍 代码分析与上下文
analyze_codebase - 全面的代码库分析,支持Git集成
query_context_for_task - 为开发任务查找相关模式
extract_context_from_code - 从注释中提取结构化信息
detect_technical_debt - 多维技术债务分析
🛠️ 代码生成与验证
generate_code_with_context - 基于上下文的代码生成,使用模板
suggest_refactoring - 智能重构建议
validate_against_kg - 基于模式和规则的多层代码验证
🔧 Arduino/C++开发
analyze_arduino_sketch - 完整的Arduino项目分析
validate_hardware_config - 引脚冲突和开发板兼容性检查
optimize_for_arduino - 内存和性能优化
generate_interrupt_safe_code - 中断服务程序(ISR)安全代码模式
analyze_timing_constraints - 实时时序分析
⚡ 性能与优化
get_optimization_report - 全面的性能分析
force_optimization - 触发即时系统优化
系统架构
KGsMCP/
├── src/
│ ├── handlers/ # MCP工具实现
│ │ ├── validation.js # 多层验证系统
│ │ ├── codeGeneration.js # 基于模板的代码生成
│ │ ├── context.js # 上下文提取和查询
│ │ ├── knowledgeGraph.js # 图管理操作
│ │ ├── initialization.js # 代码库分析引擎
│ │ └── arduinoHandler.js # Arduino/C++专业工具
│ ├── analyzers/ # 代码分析引擎
│ │ ├── codeAnalyzer.js # 多语言AST分析
│ │ ├── gitAnalyzer.js # Git历史和协作分析
│ │ └── patternDetector.js # 设计模式识别
│ ├── database/ # Kuzu数据库集成
│ │ ├── kuzuClient.js # 增强的数据库客户端
│ │ ├── cypherQueryBuilder.js # 流畅的查询构建器
│ │ ├── queryOptimizer.js # 性能优化
│ │ └── transactionManager.js # ACID事务
│ ├── validation/ # 安全和验证
│ │ ├── MCPInputValidator.js # 基于模式的验证
│ │ ├── ValidationMiddleware.js # 一致的验证
│ │ └── AdvancedValidators.js # 安全威胁检测
│ ├── optimization/ # 性能系统
│ │ ├── PerformanceMonitor.js # 实时监控
│ │ ├── MemoryOptimizer.js # 内存管理
│ │ └── CacheManager.js # 多层缓存
│ └── utils/ # 共享工具
│ ├── backupManager.js # 备份和恢复
│ ├── config.js # 配置管理
│ └── logger.js # 结构化日志记录
├── tests/ # 全面的测试套件
│ ├── unit/ # 单元测试
│ ├── integration/ # 集成测试
│ ├── performance/ # 性能测试
│ └── security/ # 安全测试
├── docs/ # 完整的文档
│ ├── API_REFERENCE.md # API文档
│ ├── ARCHITECTURE.md # 系统架构
│ ├── USER_GUIDE.md # 用户手册
│ └── DEVELOPER_GUIDE.md # 开发指南
└── config/ # 配置文件
└── default.json # 默认设置
测试
npm test
npm run test:unit
npm run test:integration
npm run test:performance
npm run test:security
npm run test:coverage
npm run test:watch
数据库模式
节点类型
- 代码实体:类、函数、变量,附带复杂度指标
- 模式:设计模式(单例模式、工厂模式、观察者模式等)
- 规则:业务规则和编码标准
- 标准:命名约定和格式化规则
- 技术债务:已识别的债务,包含严重程度和修复信息
- 硬件组件:Arduino引脚、传感器、执行器
- 时序约束:实时时序要求
关系类型
- 实现:代码实现设计模式
- 违反:代码违反规则或标准
- 依赖:依赖关系
- 耦合:代码耦合分析
- 使用硬件:硬件组件使用情况
- 处理:中断处理关系
开发
环境设置
npm install
cp .env.example .env
nano .env
开发命令
npm run dev
npm run lint
npm run lint:fix
npm run typecheck
npm run build
环境变量
# 数据库配置
KUZU_DB_PATH=.kg-context/knowledge-graph.kuzu
KUZU_MAX_RETRIES=3
KUZU_QUERY_TIMEOUT=30000
# 日志配置
LOG_LEVEL=info
LOG_ENABLED=true
LOG_MAX_FILES=10
# 性能配置
ENABLE_CACHING=true
CACHE_TIMEOUT=300000
MAX_CACHE_SIZE=100
# 安全配置
ENABLE_RATE_LIMIT=true
MAX_REQUESTS_PER_MINUTE=100
CLI命令
node index.js start [--config path] [--debug] [--verify]
node index.js health [--config path]
node index.js setup [--force]
node index.js init <codebase> [--force] [--depth N] [--parallel N]
node index.js backup <output> [--description text] [--validate]
node index.js restore <backup> [--force] [--incremental]
node index.js clean [--force] [--backup] [--temp-only]
故障排除
常见问题
数据库连接问题:
ls -la .kg-context/
chmod 755 .kg-context/
LOG_LEVEL=debug node index.js start
内存问题:
node index.js health
node index.js clean --temp-only
npm run optimize
性能问题:
node index.js clean --temp-only
调试模式
export LOG_LEVEL=debug
export NODE_ENV=development
node index.js start --debug
性能
- 响应时间:简单查询<100ms,复杂分析<5s
- 内存使用:基线约50MB,随代码库大小扩展
- 缓存命中率:重复操作>90%
- 并发请求:支持100+同时工具调用
- 数据库大小:每分析10K行代码约1MB
贡献
- 分叉仓库
- 创建功能分支:
git checkout -b feature/amazing-feature
- 进行更改,并添加适当的Vibe编码注释
- 添加全面的测试
- 提交:
git commit -m 'Add amazing feature'
- 推送:
git push origin feature/amazing-feature
- 打开拉取请求
代码标准
- 遵循Vibe编码方法,使用结构化注释
- 包含AGENT、CONTEXT、REASON、CHANGE、PREVENTION元数据
- 保持测试覆盖率>90%
- 使用TypeScript以确保类型安全
- 遵循SOLID原则
📄 许可证
本项目采用MIT许可证,详情请参阅LICENSE文件。
🙏 致谢
- 模型上下文协议:人工智能工具集成的基础
- Kuzu数据库:高性能嵌入式图数据库
- Babel解析器:JavaScript/TypeScript AST分析
- Jest:全面的测试框架
- Joi:模式验证和清理
🎯 准备好投入生产 • 🚀 企业级 • 🧠 人工智能驱动 • 🔧 开发者友好
本项目为人工智能辅助开发社区精心打造 ❤️
⚠️ 重要提示
此系统处于早期开发阶段,尚未在生产环境中进行全面测试。请自行承担使用风险,并始终对代码和数据进行适当备份。