自主开发代理服务器

MCP服务器是一个支持AI自主完成软件开发生命周期的平台,包括项目创建、代码开发、测试实施和版本管理等功能。

  • by Bufigol
  • Java
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 bufigol/autonomous-dev-agent

使用说明

🚀 用于自主开发代理的MCP服务器

这个MCP(消息控制协议)服务器是一个平台,它使不同的人工智能(如克劳德)能够充当自主开发代理,提供从概念构思到最终测试的整个软件开发过程的自动化功能。

🎯 主要目标

该服务器的主要目标是使人工智能能够自主开发软件,执行以下任务:

  • 项目结构创建
  • 需求文件生成
  • 代码开发
  • 测试实施
  • 版本控制管理
  • 以及任何其他与软件开发相关的任务

✨ 主要特点

服务器提供以下功能:

  • 读取和写入文件
  • 发出网络请求
  • 连接和查询MySQL数据库
  • 执行系统命令
  • 管理Git仓库
  • 还有更多。..

📄 许可证

此项目根据MIT许可证获得许可-请参阅 许可证 文件以获取详细信息。

📋 需求

  • Java 17或更高版本
  • Maven 3.6或更高版本
  • MySQL服务器(可选,仅当计划使用数据库功能时)
  • Git(用于版本控制功能)

📁 项目结构

src/main/java/com/claude/mcp/
├── MCPServer.java           # Main server orchestrating all services
├── model/
│   └── Message.java        # Message model for communication
└── service/
    ├── FileService.java    # Service for file operations
    ├── DatabaseService.java # Service for database operations
    ├── NetworkService.java  # Service for network operations
    ├── GitService.java      # Service for Git operations
    └── CommandService.java  # Service for system command execution

📝 消息格式

消息以JSON格式交换,结构如下:

{
    "type": "MESSAGE_TYPE",
    "content": "optional content",
    "parameters": {
        // Specific parameters according to message type
    }
}

📨 消息类型

  1. FILE_READ

    {
        "type": "FILE_READ",
        "parameters": {
            "filePath": "/path/to/file.txt"
        }
    }
    
  2. FILE_WRITE

    {
        "type": "FILE_WRITE",
        "parameters": {
            "filePath": "/path/to/file.txt",
            "content": "content to write"
        }
    }
    
  3. 网络请求

    {
        "type": "NETWORK_REQUEST",
        "parameters": {
            "url": "https://api.example.com",
            "method": "GET",
            "body": "{}"  // Optional, only for POST
        }
    }
    
  4. 数据库查询

    {
        "type": "DATABASE_QUERY",
        "parameters": {
            "connectionId": "conn1",
            "query": "SELECT * FROM table WHERE id = ?",
            "queryParams": [1]
        }
    }
    
  5. GIT_命令

    {
        "type": "GIT_COMMAND",
        "parameters": {
            "command": "commit",
            "args": ["-m", "commit message"]
        }
    }
    
  6. 系统命令

    {
        "type": "SYSTEM_COMMAND",
        "parameters": {
            "command": "npm",
            "args": ["install"]
        }
    }
    

🚀 用法

  1. 构建项目:

    mvn clean package
    
  2. 运行服务器:

    java -jar target/servidor-mcp-1.0-SNAPSHOT.jar
    
  3. 从与MCP协议兼容的任何AI连接。

🔒 安全

  • 服务器应以最低限度的必要权限运行
  • 建议在生产中使用之前进行身份验证
  • 应安全地处理数据库凭据
  • 必须实施系统命令限制和验证
  • 建议使用隔离环境进行测试

📊 日志记录

服务器使用SLF4J和Logback进行事件日志记录。日志可以在中配置 src/main/resources/logback.xml.

🤝 贡献

欢迎捐款。请确保:

  1. 遵循项目的风格指南
  2. 包括新功能的测试
  3. 根据需要更新文档
  4. 在开始主要工作之前创建问题