MCP Server
by Bufigol
The MCP server enables different AIs to act as autonomous development agents. It provides capabilities to automate the entire software development process, from idea conception to final testing.
Last updated: N/A
🚀 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
-
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"] } }
🚀 Usage
-
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.
🔒 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:
- Follow the project's style guidelines
- Include tests for new functionality
- Update documentation as needed
- Create an issue before starting major work