用于智能代码完成的高级MCP服务器
一个基于Flask的本地模型上下文协议(MCP)服务器,为编辑器提供智能、上下文感知的代码完成和自动修复工作流(带有捆绑的VS代码扩展)。它为您的项目建立索引,构建符号/依赖关系图,执行语义搜索,通过MCP或直接API与Git和GitHub/GitLab集成,并可以运行自愈循环来使用Gemini计划和应用修复。
🚀 主要特点
- 项目理解
- 通过AST和模式进行项目范围内的索引(函数/类/导入/变量) - 跨文件的符号/依赖关系图 - 相关符号和文件的轻量级语义搜索
- 智能辅助
- 带有错误检测的代码分析(AST+Pyfleaks) - 常见语法问题(例如缺少冒号)和未定义变量的模式检测 - 可选格式化程序:autopep8、黑色、isort
- MCP+Git集成
- 增强的MCP管理器,具有在需要时指导REST的后备功能 - GitHub/GitLab MCP服务器(通过 npx @modelcontextprotocol/server-*)和文件系统MCP - 本地git历史搜索示例驱动上下文
- 自愈固定器(可选)
- 多迭代循环,分析问题,与Gemini一起计划修复,并应用更改 - 保持一个简单的学习数据库,记录成功的修复和趋势
- VS代码扩展(SuperAI)
- 四阶段Gemini工作流程(了解→ plan → 实施→ 验证/替换) - 用于诊断、补全和增强语法修复的命令
🗂️ 存储库结构
advanced_mcp_server.py-Flask应用程序、API密钥轮换、代码分析、可选观察者enhanced_mcp_manager.py--MCP客户端包装器,带有GitHub/GitLab/文件系统服务器和回退mcp_git_integration.py--传统/替代MCP Git集成project_indexer.py--项目扫描仪和索引器semantic_search.py--基于简单嵌入的搜索引擎symbol_graph.py--文件/符号之间的依赖关系图(NetworkX)multi_file_manager.py--编排索引、语义搜索和重构助手multi_file_editor.py--生成/应用具有差异和预览的多文件补丁self_healing_code_fixer.py--可选的Gemini供电自愈环check_gemini_models.py--列出/验证密钥可用Gemini模型的实用程序superai-extension/--VS代码扩展(README、extension.js等)start_enhanced_mcp.bat/start_enhanced_mcp.sh--辅助脚本.env.template--环境配置示例requirements.txt/requirements_self_healing.txt--Python依赖关系
⚙️ 需求
- Python 3.10+
- Node.js(用于MCP服务器,通过
npx如果你使用GitHub/GitLab/文件系统MCP) - Git(用于本地历史和仓库操作)
Python依赖关系列在:
requirements.txt(核心服务器)requirements_self_healing.txt(可选自愈环)
安装方式:
pip install -r requirements.txt
# Optional for self-healing
pip install -r requirements_self_healing.txt🔐 配置
复制 .env.template 到 .env 并填充值:
GEMINI_API_KEY(必填)GEMINI_API_KEY_1..9,GEMINI_API_KEY_STAGE0/1/2(可选旋转池)GITHUB_TOKEN,GITLAB_TOKEN(可选,适用于MCP服务器或API故障)MCP_SERVER_URL,WORKSPACE_ROOT
该服务器包括一个智能API密钥旋转,在连续故障后自动切换密钥。
注意:避免在代码中对API键进行硬编码。更喜欢环境变量。
▶️ 运行服务器
窗户:
start_enhanced_mcp.batmacOS/Linux:
./start_enhanced_mcp.sh或者直接:
python advanced_mcp_server.py默认情况下,服务器会监听 http://127.0.0.1:5000 (如VS Code扩展所使用的)。
🧩 VS代码扩展(SuperAI)
这 superai-extension/ 文件夹包含连接到此服务器的VS Code扩展名。
亮点:
- 四阶段Gemini管道:了解→ Plan → 实施→ 验证/替换
- 增强的语法修复(缺少冒号、未定义的变量、自动创建函数)
- API关键监控、诊断、完成和全局修复
看 superai-extension/README.md 有关详细用法、命令和故障排除。
🤖 自愈循环(可选)
self_healing_code_fixer.py 可以运行一个循环:
- 通过MCP服务器分析文件
- 计划使用Gemini进行增强修复
- 应用补丁并记录学习信号
环境:
- 需要
google-generativeai以及一个有效的GEMINI_API_KEY
示例调用(见演示文件):
python self_healing_code_fixer.py🔍 工作原理(高级)
- 索引和搜索
- ProjectIndexer 通过AST解析Python,并使用JS/TS和其他语言的模式 - SemanticSearchEngine 构建简单的嵌入并支持概念搜索 - SymbolGraph 构建关系(导入/包含/调用/使用)以进行影响分析
- MCP/Git上下文
- EnhancedMCPManager 首先尝试MCP服务器(GitHub/GitLab/文件系统),然后回退到直接API - 可以显示本地git历史摘录以指导完成/重构
- 分析和修复
- advanced_mcp_server.py 执行文件分析、可选的linting(pyflakes)和格式化(autopep8/black/istart) - 模式检查在AST解析之前捕获常见的语法/变量问题
🧪 公用事业
check_gemini_models.py列出密钥的可用Gemini模型,并可以执行微小的验证调用
- 更喜欢环境变量;提交前删除所有硬编码密钥
❗ 故障排除
- 确保
.env具有有效GEMINI_API_KEY - 如果MCP GitHub/GitLab服务器发生故障,可以使用直接API的回退(需要令牌)
- 如果嵌入或图特征在非常大的存储库上运行缓慢,请从较小的子集开始
- 在Windows上,使用
.bat发射器;在Unix上.sh脚本
🙌 致谢
- 模型上下文协议(MCP)
- API双子星
- 网络X
______________________________________________________________________
根据当前存储库内容生成README,以帮助您在GitHub上快速发布。
