Kgsmcp

Kgsmcp

🚀 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. 开始使用

# 启动MCP服务器
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  [--force] [--depth N] [--parallel N]

# 备份和恢复
node index.js backup  [--description text] [--validate]
node index.js restore  [--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

性能问题:

# 获取优化报告
# 在Claude中使用get_optimization_report工具

# 检查缓存统计信息
# 使用get_kg_statistics工具,设置includeDetails: true

# 强制刷新缓存
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

贡献

  1. 分叉仓库
  2. 创建功能分支:git checkout -b feature/amazing-feature
  3. 进行更改,并添加适当的Vibe编码注释
  4. 添加全面的测试
  5. 提交:git commit -m 'Add amazing feature'
  6. 推送:git push origin feature/amazing-feature
  7. 打开拉取请求

代码标准

  • 遵循Vibe编码方法,使用结构化注释
  • 包含AGENT、CONTEXT、REASON、CHANGE、PREVENTION元数据
  • 保持测试覆盖率>90%
  • 使用TypeScript以确保类型安全
  • 遵循SOLID原则

📄 许可证

本项目采用MIT许可证,详情请参阅LICENSE文件。

🙏 致谢

  • 模型上下文协议:人工智能工具集成的基础
  • Kuzu数据库:高性能嵌入式图数据库
  • Babel解析器:JavaScript/TypeScript AST分析
  • Jest:全面的测试框架
  • Joi:模式验证和清理

🎯 准备好投入生产 • 🚀 企业级 • 🧠 人工智能驱动 • 🔧 开发者友好

本项目为人工智能辅助开发社区精心打造 ❤️

⚠️ 重要提示

此系统处于早期开发阶段,尚未在生产环境中进行全面测试。请自行承担使用风险,并始终对代码和数据进行适当备份。

  • 0 关注
  • 0 收藏,27 浏览
  • system 提出于 2025-09-19 17:51

相似服务问题

相关AI产品