任务管理系统

一个基于Model Context Protocol (MCP)服务器的任务管理系统,提供完整的CRUD操作和多用户分配功能。

  • by chandan-codeprism
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 chandan-codeprism/task-management-mcp-server

使用说明

任务管理MCP服务器

一个作为模型上下文协议(MCP)服务器构建的综合任务管理系统,为具有多用户分配功能的任务管理提供完整的CRUD操作。

特性

  • ✅ 完成CRUD操作 -创建、读取、更新、删除任务
  • 👥 多用户分配 -将任务分配给不同的团队成员
  • 📊 状态跟踪 -使用可定制的状态监控任务进度
  • ⏰ 自动时间戳 -创建/更新时间的UTC时区跟踪
  • 🔍 任务筛选 -按ID检索所有任务或特定任务
  • 📝 详细说明 -丰富的任务描述和元数据
  • 🚀 MCP集成 -与AI助手无缝集成

安装

先决条件

  • Java 11或更高版本(JDK)
  • Maven 3.6+或Gradle 6+
  • Git

设置

  1. 克隆存储库

    git clone https://github.com/yourusername/task-management-mcp-server.git
    cd task-management-mcp-server
    
  2. 构建项目

    使用Maven:

    mvn clean install
    

    使用Gradle:

    ./gradlew build
    
  3. 运行服务器

    使用Maven:

    mvn spring-boot:run
    

    使用Gradle:

    ./gradlew bootRun
    

    使用JAR:

    java -jar target/task-management-mcp-server-1.0.0.jar
    

MCP配置

要将此服务器与Claude Desktop或其他MCP客户端一起使用,请将以下配置添加到MCP设置文件中:

Claude桌面配置

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "task-management": {
      "command": "java",
      "args": ["-jar", "path/to/your/task-management-mcp-server/target/task-management-mcp-server-1.0.0.jar"],
      "env": {}
    }
  }
}

替代MCP工具

对于其他MCP兼容客户端:

# Using MCP CLI
mcp connect task-management-mcp-server

# Or via Java MCP SDK
import com.anthropic.mcp.MCPClient;
MCPClient client = new MCPClient("task-management-mcp-server");

api参考

可用工具

1.创建任务

createTask(request)
  • 描述:创建具有指定详细信息的新任务
  • 参数:
    • title (字符串,必填):任务标题
    • description (字符串,必填):任务描述
    • status (字符串,必填):任务状态(例如,“待定”、“已完成”)
    • assignee (string,必填):分配给任务的人员

2.获取所有任务

getAllTasks()
  • 描述:检索系统中的所有任务
  • 退货:包含完整详细信息的所有任务数组

3.按ID获取任务

getTaskById(id)
  • 参数:
    • id (整数,必填):唯一任务标识符

4.更新任务

updateTask(id, request)
  • 参数:
    • id (整数,必填):要更新的任务ID
    • request (对象,必填):更新的任务详细信息(格式与创建相同)

5.删除任务

deleteTask(id)
  • 参数:
    • id (整数,必填):要删除的任务ID

任务对象结构

每个任务都包含以下属性:

{
  "id": 1,
  "title": "Task Title",
  "description": "Detailed task description",
  "status": "pending",
  "assignee": "John Doe",
  "createdAt": [2025, 8, 30, 20, 30, 51, 366682000],
  "updatedAt": [2025, 8, 30, 20, 33, 3, 279679000]
}

时间戳格式

时间戳存储为数组: [year, month, day, hour, minute, second, nanoseconds] UTC时区。

使用示例

Claude AI助手

# Create a new task
"Create a task for John to review the quarterly budget"

# View all tasks
"Show me all current tasks"

# Update task status
"Mark task ID 5 as completed"

# Assign task to different person
"Reassign the budget review task to Sarah"

# Delete completed tasks
"Delete task ID 3"

API直接使用

// Example: Creating a task
TaskRequest request = new TaskRequest();
request.setTitle("Review monthly reports");
request.setDescription("Analyze sales and performance metrics");
request.setStatus("pending");
request.setAssignee("Alice Smith");

Task newTask = taskService.createTask(request);

// Example: Getting all tasks
List<Task> allTasks = taskService.getAllTasks();
System.out.println("Total tasks: " + allTasks.size());

常见状态值

虽然您可以使用任何状态值,但以下是一些常见的状态值:

  • pending -任务尚未启动
  • in-progress -目前正在进行中
  • completed -任务已完成
  • on-hold -暂时暂停
  • cancelled -任务已取消

发展

项目结构

task-management-mcp-server/
├── src/
│   ├── main/
│   │   ├── java/
│   │   │   └── com/yourcompany/taskmanagement/
│   │   │       ├── TaskManagementApplication.java
│   │   │       ├── controller/
│   │   │       │   └── TaskController.java
│   │   │       ├── service/
│   │   │       │   └── TaskService.java
│   │   │       ├── model/
│   │   │       │   └── Task.java
│   │   │       └── repository/
│   │   │           └── TaskRepository.java
│   │   └── resources/
│   │       ├── application.properties
│   │       └── application.yml
│   └── test/
│       └── java/
├── pom.xml               # Maven dependencies
├── build.gradle          # Gradle dependencies (alternative)
└── README.md            # This file

运行测试

使用Maven:

mvn test

使用Gradle:

./gradlew test

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/new-feature)
  3. 进行更改
  4. 提交您的更改(git commit -am 'Add new feature')
  5. 推到分支(git push origin feature/new-feature)
  6. 创建拉取请求

故障排除

常见问题

服务器无法启动:

  • 检查Java版本(需要>=11)
  • 验证Maven/Gradle构建是否成功完成
  • 检查端口8080是否可用(或配置的端口)
  • 查看application.properties配置

构建问题:

  • 跑 mvn clean install 或 ./gradlew clean build
  • 检查Maven/Gradle版本兼容性
  • 验证依赖项下载的互联网连接

未持续的任务:

  • 检查application.properties中的数据库配置
  • 验证数据库连接和权限
  • 查看JPA/Hibernate实体映射

MCP连接问题:

  • 验证MCP客户端配置
  • 检查服务器日志中的连接错误
  • 确保配置中的路径正确

许可证

MIT许可证-请参阅 许可证 文件以获取详细信息。

支持

  • 📧 电子邮件:support@yourproject.com
  • 🐛 问题: GitHub问题
  • 📖 文档: 维基

更新日志

v1.0.0(初始版本)

  • 使用Spring Boot完成任务的CRUD操作
  • 多用户分配支持
  • 使用JPA跟踪UTC时间戳
  • MCP服务器集成
  • 状态管理系统
  • RESTful API端点
  • H2/PPostgreSQL数据库支持

由以下材料制成❤️ 对于MCP社区