告别拍脑袋排期|通义灵码 MCP 助力项目经理科学制定软件开发计划

简介: 今天我们精选了与开发者息息相关和比较热门的 MCP 服务,总结了这些技术服务在实际开发的最佳实践,涵盖了从前端开发、后端开发、DevOps、测试、运维等关键环节,及非研发领域中的热度较高的 MCP 服务。我们通过直播、图文等形式带你了解和学习!

MCP越来越火,通义灵码也在最新的版本里支持开发者配置自己的 MCP 工具,更加贴合开发者工作流程,并集成魔搭 MCP 广场,开发者可一键配置 MCP 工具,目前涵盖开发者工具、文件系统、搜索、地图等十大热门领域 3800+ MCP 服务,全面拓宽 AI 编码助手能力边界,让编码更贴合开发者工作流程。开发者也可以一键下载 MCP 服务。


今天我们精选了与开发者息息相关和比较热门的 MCP 服务,总结了这些技术服务在实际开发的最佳实践,涵盖了从前端开发、后端开发、DevOps、测试、运维等关键环节,及非研发领域中的热度较高的 MCP 服务。我们通过直播、图文等形式带你了解和学习!


本期我们介绍下目前比较火的两款MCP工具(Sequential Thinking 和 Software-planning-mcp)配合通义灵码完成一个家庭药品管理的项目开发计划的制定。更多期MCP实践,关注通义灵码微信公众号(tongyilingma001)回复“MCP”查看!


1. 通义灵码工具安装


通义灵码兼容 Visual Studio Code、Visual Studio、JetBrains IDEs 等主流编程工具,并提供 Lingma IDE,开发者可以自由选择。


通义灵码下载安装地址:链接

通义灵码 MCP配置:链接


2. MCP工具安装

2.1 Sequential Thinking


结构化思维过程提供动态和反射性解决问题的工具。


  • 将复杂问题分解为可管理的步骤
  • 随着理解的加深,修改和完善想法
  • 分支出其他推理路径
  • 动态调整想法总数
  • 生成并验证解决方案假设


在通义灵码中使用👇🏻配置添加 sequential-thinking


{
  "mcpServers": {
    "sequential-thinking": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sequential-thinking"
      ]
    }
  }
}



2.2 Software-planning-mcp


软件开发规划。该工具有助于将复杂的软件项目分解为可管理的任务,跟踪实施进度,并维护详细的开发计划。


  • 交互式规划会议:启动和管理开发规划会议
  • 待办事项管理:创建、更新和跟踪开发任务
  • 复杂性评分:为任务分配复杂性分数,以便更好地评估
  • 代码示例:在任务描述中包含相关代码片段
  • 实施计划:保存和管理详细的实施计划


{
  "mcpServers": {
    "software-planning-tool": {
      "command": "npx",
      "args": [
        "-y",
        "NightTrek/Software-planning-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}



3. 开始项目规划


返回灵码界面在对话框输入项目描述,包括背景、功能、技术偏好、用户体验等,如👇🏻示例:


##我需要开发一个家庭已有药品管理应用。请先使用Sequential Thinking分析需求和架构,然后使用Software Planning Tool创建详细实施计划。


#项目背景:这是一个管理家庭已有药品的应用,目的是将家里已有的药品登记在册方便管理。


#核心功能需求:登录、注册、家庭创建、人员管理、共享、药品录入,展示,过期提醒,查询功能。


#技术栈偏好:客户端SwiftUI 服务端使用springboot+mybites+mysql


#用户体验:保持界面简洁美观。


输入回车后,灵码开始调用工具Sequential Thinking进行系统分析完成后交由Software Planning Tool定制计划。交互过程👇🏻



交互完成后会将制定的内容以 json 文件的形式保存用户本根目录中。



我们需要告诉灵码将里面的内容导出,



会在将计划生成到工程文件里👇🏻




附上完整的文件



# 家庭药品管理应用实施计划

## 项目背景
- **目标**: 管理家庭已有药品的应用,目的是将家里已有的药品登记在册方便管理。

## 核心功能需求
- 登录、注册
- 家庭创建
- 人员管理
- 共享
- 药品录入、展示、过期提醒、查询功能

## 技术栈
- 客户端: SwiftUI
- 服务端: Spring Boot + MyBatis + MySQL

## 用户体验
- 界面简洁美观

## 实施计划周期
- **总周期**: 约8-10周

### 第一阶段:准备与初始化(第1周)
- 初始化Spring Boot后端项目(2天)
- 数据库设计与配置(3天)
- **关键产出物**: Spring Boot项目结构, MySQL数据库表结构设计完成

### 第二阶段:核心功能开发(第2-5周)
- 用户认证功能开发(4天)
- 家庭管理功能开发(5天)
- 药品管理功能开发(5天)
- 过期提醒功能开发(4天)
- **关键产出物**: 用户注册/登录接口及JWT安全机制, 家庭创建与成员管理功能, 药品录入、查询、更新、删除接口, 定时任务实现过期检测逻辑

### 第三阶段:客户端界面开发(第6-7周)
- SwiftUI客户端界面开发(6天)
- 后端API集成与测试(2天)
- **关键产出物**: 登录注册界面, 家庭管理界面, 药品管理界面, API通信模块集成

### 第四阶段:测试与质量保证(第8周)
- 单元测试与集成测试(4天)
- 性能优化与问题修复(3天)
- **关键产出物**: 完整的单元测试覆盖率报告, 测试通过的功能模块, 性能调优后的稳定系统

### 第五阶段:部署与上线准备(第9-10周)
- Docker容器化配置(3天)
- 服务器环境搭建与部署(3天)
- 最终验收测试与上线(1-2天)
- **关键产出物**: 可部署的Docker镜像, 生产环境部署完成, 应用正式上线运行

## 关键里程碑
1. 第1周末:项目基础架构搭建完成
2. 第3周末:用户认证和家庭管理功能完成
3. 第5周末:药品管理和过期提醒功能完成
4. 第7周末:SwiftUI客户端界面开发完成
5. 第8周末:测试工作完成,进入性能调优阶段
6. 第10周末:应用部署并正式上线

## 实施计划详情

### 1. 初始化Spring Boot后端项目
- 创建Spring Boot项目结构
- 集成MyBatis和MySQL数据库
- 配置必要依赖项(如Spring Web、Spring Security、JWT等)

**示例代码**:
```java
// Spring Boot application main class
@SpringBootApplication
public class DrugManagementApplication {
    public static void main(String[] args) {
        SpringApplication.run(DrugManagementApplication.class, args);
    }
}
```

### 2. 数据库设计与配置
- 设计并创建用户表、家庭表、关联表和药品表
- 定义表之间的关系和约束
- 配置数据库连接和MyBatis映射

**示例配置**:
```properties
# 数据库配置示例
spring.datasource.url=jdbc:mysql://localhost:3306/drug_management?useSSL=false&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

mybatis.mapper-locations=classpath:mapper/*.xml
mybatis.type-aliases-package=com.example.drugmanagement.model
```

### 3. 用户认证功能开发
- 实现用户注册、登录接口
- 开发JWT生成与验证机制
- 配置Spring Security安全策略

**示例实体类**:
```java
@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(unique = true, nullable = false)
    private String username;
    
    @Column(nullable = false)
    private String password;
    
    // 其他字段和方法...
}
```

### 4. 家庭管理功能开发
- 开发家庭创建、加入家庭功能
- 实现成员管理接口
- 建立家庭与药品的关联关系

**示例实体类**:
```java
@Entity
@Table(name = "families")
public class Family {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(nullable = false)
    private String name;
    
    @ManyToMany(mappedBy = "families")
    private Set<User> members;
    
    // 其他字段和方法...
}
```

### 5. 药品管理功能开发
- 实现药品录入、查询、更新、删除接口
- 添加过期日期验证逻辑
- 实现药品信息的持久化存储

**示例实体类**:
```java
@Entity
@Table(name = "medications")
public class Medication {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    
    @Column(nullable = false)
    private String name;
    
    @Column(name = "expiration_date", nullable = false)
    private LocalDate expirationDate;
    
    // 其他字段和方法...
}
```

### 6. 过期提醒功能开发
- 配置定时任务
- 开发过期药品检测逻辑
- 实现通知机制(可通过API或推送通知)

**示例定时任务**:
```java
@Configuration
@EnableScheduling
public class SchedulerConfig {
    
    @Autowired
    private MedicationService medicationService;
    
    @Scheduled(cron = "0 0 1 * * ?")
    public void checkExpiringMedications() {
        medicationService.checkAndNotifyExpiringMedications();
    }
}
```

### 7. SwiftUI客户端界面开发
- 开发登录注册界面
- 实现家庭管理界面
- 开发药品管理界面
- 集成后端API通信

**示例登录界面**:
```swift
struct LoginView: View {
    @State private var username = ""
    @State private var password = ""
    
    var body: some View {
        Form {
            TextField("用户名", text: $username)
            SecureField("密码", text: $password)
            
            Button(action: login) {
                Text("登录")
            }
        }
        .navigationTitle("登录")
    }
    
    func login() {
        // 调用后端API进行登录
    }
}
```

### 8. 测试与质量保证
- 编写单元测试和集成测试
- 测试API接口功能
- 验证数据库操作正确性
- 测试定时任务执行情况

**示例单元测试**:
```java
@SpringBootTest
public class MedicationServiceTest {
    
    @Autowired
    private MedicationService medicationService;
    
    @Test
    void testCheckExpiringMedications() {
        medicationService.checkExpiringMedications();
        // 验证结果
    }
}
```

### 9. 部署与上线准备
- 准备Docker容器化配置
- 设置服务器环境
- 进行应用性能优化

**示例Dockerfile**:
```dockerfile
FROM openjdk:17-jdk-slim
WORKDIR /app
COPY drug-management-api.jar app.jar
ENTRYPOINT ["java", "-jar", "./app.jar"]


作者:高阳、敖丹凤、任婷婷

作者介绍
目录