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.
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
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...
This project is licensed under the MIT License - see the LICENSE file for details.
- Java 17 or higher
- Maven 3.6 or higher
- MySQL Server (optional, only if database functionality is planned)
- Git (for version control functionalities)
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
Messages are exchanged in JSON format with the following structure:
{
"type": "MESSAGE_TYPE",
"content": "optional content",
"parameters": {
// Specific parameters according to message type
}
}
-
FILE_READ
{ "type": "FILE_READ", "parameters": { "filePath": "/path/to/file.txt" } }
-
FILE_WRITE
{ "type": "FILE_WRITE", "parameters": { "filePath": "/path/to/file.txt", "content": "content to write" } }
-
NETWORK_REQUEST
{ "type": "NETWORK_REQUEST", "parameters": { "url": "https://api.example.com", "method": "GET", "body": "{}" // Optional, only for POST } }
-
DATABASE_QUERY
{ "type": "DATABASE_QUERY", "parameters": { "connectionId": "conn1", "query": "SELECT * FROM table WHERE id = ?", "queryParams": [1] } }
-
GIT_COMMAND
{ "type": "GIT_COMMAND", "parameters": { "command": "commit", "args": ["-m", "commit message"] } }
-
SYSTEM_COMMAND
{ "type": "SYSTEM_COMMAND", "parameters": { "command": "npm", "args": ["install"] } }
-
Build the project:
mvn clean package
-
Run the server:
java -jar target/servidor-mcp-1.0-SNAPSHOT.jar
-
Connect from any AI compatible with the MCP protocol.
- 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
The server uses SLF4J with Logback for event logging. Logs can be configured in src/main/resources/logback.xml
.
Contributions are welcome. Please ensure to:
- Follow the project's style guidelines
- Include tests for new functionality
- Update documentation as needed
- Create an issue before starting major work