代码生成工具

基于模型上下文协议(MCP)的代码生成工具,用于读取、分析代码模式并生成新代码。

  • by mkn9
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 mkn9/basic_mcp

使用说明

MCP代码生成演示-README

概述

本项目演示了使用模型上下文协议(MCP)生成代码的基本用法 官方MCP Python SDK它展示了MCP服务器如何公开用于读取代码、分析模式和基于现有代码库模式生成新代码的工具。

快速开始

1.设置环境

# Create virtual environment
python3 -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate

# Install dependencies (requires MCP SDK)
pip install -r requirements.txt

备注:此演示现在使用官方MCP Python SDK(mcp 包)以实现正确的协议实现。

2.运行演示

# Make scripts executable (Unix/Mac)
chmod +x server.py demo_client.py

# Run the demo client
python demo_client.py

演示将:

  1. 连接到MCP服务器
  2. 列出可用工具
  3. 阅读example.py文件
  4. 分析代码模式
  5. 基于这些模式生成新代码

项目结构

basic_mcp/
├── server.py          # MCP server implementation
├── demo_client.py     # Demo client showing code generation
├── example.py         # Example code file for analysis
├── requirements.txt   # Python dependencies
└── README.md          # This file

运作原理

MCP服务器(server.py)

服务器使用官方的MCP Python SDK,并公开了三个工具:

  1. read_code_file:读取Python文件并返回其内容
  2. 分析代码模式:分析代码结构并提取模式(类、函数、类型提示等)
  3. generate_code:根据检测到的模式生成代码

服务器使用异步方式运行 asyncio 并通过stdio传输进行通信。

MCP客户端(demo_client.py)

客户端使用官方MCP Python SDK并演示:

  • 使用stdio传输连接到MCP服务器
  • 对工具调用使用async/await
  • 调用工具读取和分析代码
  • 使用分析结果生成新代码

示例文件(example.py)

包含示例Python代码:

  • 带有类型提示的类
  • 带有文档字符串的方法
  • 带注释的函数

使用示例

基本用法

python demo_client.py

自定义示例文件

编辑 demo_client.py 更改 example_file 变量:

example_file = "your_file.py"

扩展服务器

添加新工具 server.py:

def _your_new_tool(self, arguments: Dict[str, Any]) -> str:
    # Your tool implementation
    return result

# Register in __init__:
self.tools["your_new_tool"] = self._your_new_tool

理解输出

演示输出:

  • 工具列表:显示可用的MCP工具
  • 文件内容:分析文件的预览
  • 模式分析:检测到的代码模式(类、类型提示等)
  • 生成的代码:遵循模式的新代码

后续步骤

  1. 扩展模式分析:添加更复杂的代码分析
  2. 提高发电效率:使用模板和更好的模式匹配
  3. 添加文件写入:将生成的代码写入文件
  4. 模式匹配:检测设计模式(存储库、工厂等)
  5. 测试生成:基于源代码生成测试文件

故障排除

未安装MCP SDK

  • 错误: ModuleNotFoundError: No module named 'mcp'
  • 解决方案:安装依赖项: pip install -r requirements.txt

服务器无法启动

  • 确保已安装Python 3.8+
  • 检查文件权限: chmod +x server.py
  • 验证MCP SDK是否安装正确

服务器无响应

  • 检查server.py是否可执行
  • 验证demo_client.py中的Python路径
  • 确保服务器正常启动(检查导入错误)

找不到文件错误

  • 确保example.py存在于同一目录中
  • 检查demo_client.py中的文件路径

异步/等待错误

  • 确保安装了Python 3.7+(用于异步/等待支持)
  • 检查是否已正确等待所有异步函数

主要特点

✅ 官方MCP SDK:使用官方 mcp Python包
✅ 异步/等待:使用asyncio实现正确的异步
✅ 标准运输:通过标准输入/输出进行通信
✅ 类型安全:使用Pydantic模型进行数据验证
✅ 协议遵从:遵循MCP规范标准

了解更多

  • MCP规范
  • MCP Python SDK (如果可用)
  • 看 MCP_PROJECT_RECOMMENDATIONS.md 先进的项目理念
  • 看 QUICK_START.md 实现细节最少

许可证

这是一个示范项目。请随意修改和扩展它。