autonomous-dev-agent

autonomous-dev-agent

3.2

This MCP server enables AIs to autonomously handle software development tasks, from project creation to testing.

🚀 MCP Server for Autonomous Development Agents

This MCP (Message Control Protocol) server is a platform that enables different AIs (like Claude) to act as autonomous development agents, providing capabilities to automate the entire software development process, from idea conception to final testing.

🎯 Main Objective

The main objective of this server is to enable AIs to develop software autonomously, performing tasks such as:

  • Project structure creation
  • Requirements file generation
  • Code development
  • Test implementation
  • Version control management
  • And any other software development related tasks

✨ Main Features

The server provides capabilities for:

  • Reading and writing files
  • Making network requests
  • Connecting and querying MySQL databases
  • Executing system commands
  • Managing Git repositories
  • And more...

📄 License

This project is licensed under the MIT License - see the file for details.

📋 Requirements

  • Java 17 or higher
  • Maven 3.6 or higher
  • MySQL Server (optional, only if database functionality is planned)
  • Git (for version control functionalities)

📁 Project Structure

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

📝 Message Format

Messages are exchanged in JSON format with the following structure:

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

📨 Message Types

  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. NETWORK_REQUEST

    {
        "type": "NETWORK_REQUEST",
        "parameters": {
            "url": "https://api.example.com",
            "method": "GET",
            "body": "{}"  // Optional, only for POST
        }
    }
    
  4. DATABASE_QUERY

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

    {
        "type": "GIT_COMMAND",
        "parameters": {
            "command": "commit",
            "args": ["-m", "commit message"]
        }
    }
    
  6. SYSTEM_COMMAND

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

🚀 Usage

  1. Build the project:

    mvn clean package
    
  2. Run the server:

    java -jar target/servidor-mcp-1.0-SNAPSHOT.jar
    
  3. Connect from any AI compatible with the MCP protocol.

🔒 Security

  • The server should run with minimum necessary permissions
  • Authentication is recommended before using in production
  • Database credentials should be handled securely
  • System command limits and validations must be implemented
  • Using an isolated environment for testing is recommended

📊 Logging

The server uses SLF4J with Logback for event logging. Logs can be configured in src/main/resources/logback.xml.

🤝 Contributing

Contributions are welcome. Please ensure to:

  1. Follow the project's style guidelines
  2. Include tests for new functionality
  3. Update documentation as needed
  4. Create an issue before starting major work