Skip to content

πŸš€ MCP Server: Platform enabling AIs to act as autonomous developers. From idea conception to final testing, automating the entire software development process. #AutonomousDev #AI #Innovation #SoftwareEngineering #FutureOfDev

License

Notifications You must be signed in to change notification settings

Bufigol/autonomous-dev-agent

πŸš€ 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 LICENSE 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

About

πŸš€ MCP Server: Platform enabling AIs to act as autonomous developers. From idea conception to final testing, automating the entire software development process. #AutonomousDev #AI #Innovation #SoftwareEngineering #FutureOfDev

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages