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"]
作者:高阳、敖丹凤、任婷婷