🚀 用于自主开发代理的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
}
}📨 消息类型
- 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"
}
}- 网络请求
{
"type": "NETWORK_REQUEST",
"parameters": {
"url": "https://api.example.com",
"method": "GET",
"body": "{}" // Optional, only for POST
}
}- 数据库查询
{
"type": "DATABASE_QUERY",
"parameters": {
"connectionId": "conn1",
"query": "SELECT * FROM table WHERE id = ?",
"queryParams": [1]
}
}- GIT_命令
{
"type": "GIT_COMMAND",
"parameters": {
"command": "commit",
"args": ["-m", "commit message"]
}
}- 系统命令
{
"type": "SYSTEM_COMMAND",
"parameters": {
"command": "npm",
"args": ["install"]
}
}🚀 用法
- 构建项目:
mvn clean package- 运行服务器:
java -jar target/servidor-mcp-1.0-SNAPSHOT.jar- 从与MCP协议兼容的任何AI连接。
🔒 安全
- 服务器应以最低限度的必要权限运行
- 建议在生产中使用之前进行身份验证
- 应安全地处理数据库凭据
- 必须实施系统命令限制和验证
- 建议使用隔离环境进行测试
📊 日志记录
服务器使用SLF4J和Logback进行事件日志记录。日志可以在中配置 src/main/resources/logback.xml.
🤝 贡献
欢迎捐款。请确保:
- 遵循项目的风格指南
- 包括新功能的测试
- 根据需要更新文档
- 在开始主要工作之前创建问题
