【Code With SOLO】用 SOLO 搭建员工请假系统 MCP 服务器
—— 产品经理的 AI 编程实践,让 AI 对话即可管理请假流程
参赛标签:Code With SOLO
发布日期:2026 年 4 月
一、摘要
作为一名产品经理,我借助 TRAE SOLO 从零开始搭建了一个基于 MCP(Model Context Protocol)协议的员工请假系统服务器。该服务器连接 MySQL 数据库,实现了请假登记、记录查询、审批操作三大核心功能,让 AI 助手能够通过自然语言直接操作企业请假流程。整个项目从需求分析、数据库设计、代码开发到调试部署,全程由 SOLO 辅助完成,充分展现了 AI 编程在非纯研发场景下的实战价值。
二、背景
我是一名产品经理,日常工作中需要处理大量的员工请假审批事务。在传统流程中,员工需要通过 OA 系统或邮件提交请假申请,管理者需要登录后台逐条审批,整个过程繁琐且耗时。我一直在思考:能不能让 AI 助手直接帮我管理这些事务?比如直接对着 AI 说“帮我查一下今天有哪些待审批的请假”“审批通过张三的年假申请”,就能完成操作。
带着这个想法,我接触到了 TRAE SOLO 和 MCP(Model Context Protocol)协议。MCP 是 Anthropic 推出的一套标准化协议,让 AI 大模型能够通过工具调用的方式与外部服务进行交互。我决定尝试用 TRAE SOLO 来搭建这个请假系统的 MCP 服务器。
三、实践过程
3.1 任务拆解与规划
我首先向 SOLO 描述了我的需求:“开发一个 MCP 服务器,接入员工系统数据库,来登记请假信息,数据库为 MySQL”。SOLO 帮我将任务拆解为以下步骤:
1. 设计数据库表结构(部门表、员工表、请假类型表、请假申请表)
2. 搭建 Python 项目结构(FastMCP + aiomysql + Pydantic)
3. 实现数据库连接层(异步连接池管理)
4. 实现 MCP 工具(请假登记、查询、审批、员工查询、类型查询)
5. 代码审查与语法验证
3.2 技术选型与架构设计
SOLO 帮我确定了技术方案:
• 语言:Python(FastMCP 框架,对数据库操作生态非常成熟)
• 传输方式:stdio(本地运行,配置简单)
• 数据库:MySQL + aiomysql(异步连接池,高性能)
• 输入验证:Pydantic v2(类型安全、自动校验)
整个项目结构非常清晰:
leave_mcp/
├── server.py # MCP 服务器主文件(5 个工具)
├── db.py # 数据库连接层
├── init_db.sql # 数据库初始化脚本
├── requirements.txt
├── .env.example # 环境变量模板
└── README.md # 使用说明
3.3 数据库设计
SOLO 帮我设计了 4 张数据表,覆盖了完整的请假业务流程:
表名
用途
关键字段
departments
部门信息
部门名称、编码
employees
员工信息
工号、姓名、部门、职位、状态
leave_types
请假类型
年假/病假/事假/婚假等 7 种类型
leave_requests
请假申请
起止日期、天数、原因、审批状态
3.4 实现 5 个 MCP 工具
SOLO 帮我实现了 5 个功能完善的 MCP 工具:
工具名
功能
关键特性
leave_submit
提交请假申请
自动计算天数、日期冲突检测、员工/类型校验
leave_query
查询请假记录
多条件筛选、分页、Markdown/JSON 输出
leave_approve
审批请假申请
状态校验、审批备注、通过/拒绝
leave_search_employees
查询员工信息
工号精确/姓名模糊/部门筛选
leave_list_types
查询请假类型
列出所有类型及天数限制
3.5 关键 Prompt 与操作过程
第一步:向 SOLO 描述需求
“我需要开发一个 MCP,接入员工系统数据库,来登记请假信息,数据库为 MySQL”
SOLO 自动调用了 mcp-builder 技能,帮我完成了技术选型、任务拆解和项目规划。
第二步:确认技术方案
SOLO 通过提问确认了关键决策:开发语言(Python)、数据库表结构(需要设计)、功能范围(登记+查询+审批)、传输方式(stdio)。
第三步:自动生成代码
SOLO 自动生成了完整的项目代码,包括 SQL 建表脚本、数据库连接层、MCP 服务器主文件、环境配置模板和 README 文档。
第四步:本地调试与问题修复
在调试过程中遇到了几个问题,每次都是把错误信息贴给 SOLO,它都能快速定位并修复:
• SQL 重复执行报错(Duplicate key name)→ 添加 DROP TABLE IF EXISTS 支持幂等执行
• lifespan 参数缺失(takes 0 arguments)→ 添加 app 参数
• aiomysql 连接池参数错误(pool_size)→ 改为 minsize/maxsize
• 密码读取失败(.env 路径问题)→ 基于文件目录加载 .env
• 密码编码问题(latin-1 codec)→ 添加编码安全处理
3.6 在 TRAE 中配置 MCP
最后在 TRAE IDE 的 MCP 配置页面手动添加服务器,粘贴 JSON 配置即可完成集成:
{
“mcpServers”: {
"leave_mcp": {
"command": "python3",
"args": \["/path/to/leave_mcp/server.py"\],
"env": {
"DB_HOST": "localhost",
"DB_PASSWORD": "your_password",
"DB_NAME": "employee_leave_system"
}
}
}
}
四、成果展示
项目完成后,可以直接在 TRAE 中用自然语言操作请假系统:
场景 1:提交请假
用户:“帮我给 EMP001 提交一个年假申请,5月 1 日到 5 月 3 日,原因是回老家”
→ 系统自动计算 3 天,校验员工和类型,返回申请编号
场景 2:查询请假
用户:“查询所有待审批的请假申请”
→ 返回结构化的请假记录列表,包含申请人、时间、原因等信息
场景 3:审批请假
用户:“审批通过请假申请 #1,审批人是 EMP003,备注:同意”
→ 自动校验状态并完成审批,返回审批结果
项目代码已完整交付,包含以下文件:
• server.py —— MCP 服务器主文件(5 个工具,约 780 行)
• db.py —— 数据库连接层(异步连接池 + 通用操作)
• init_db.sql —— 数据库初始化脚本(4 张表 + 示例数据)
• README.md —— 完整使用说明
五、效果与总结
5.1 提效效果
作为一名产品经理,我没有专业的 Python 开发经验,但借助 TRAE SOLO,从需求描述到项目交付,整个过程只需要:
• 需求沟通 + 代码生成:约 10 分钟
• 调试修复:约 15 分钟(5 次问题排查)
• 总计:约 25 分钟完成一个完整的 MCP 服务器
如果按照传统方式,需要熟悉 MCP 协议、Python 异步编程、MySQL 数据库设计等多个技术栈,预计需要 1-2 天的开发时间。
5.2 SOLO 在我流程中做了什么
• 智能任务拆解:将模糊的需求描述转化为清晰的实施计划
• 技术选型建议:通过提问帮我确定最优技术方案
• 全栈代码生成:从 SQL 建表到 MCP 服务器全部自动生成
• 快速问题诊断:每次贴错误日志,都能精准定位并修复
• 完整文档输出:自动生成 README 和使用说明
5.3 可复用的方法
这次实践让我总结出一套非程序员使用 AI 编程的方法论:
6. 清晰描述需求:用自然语言说明“我要做什么”,不需要写技术方案
7. 配合回答问题:SOLO 提问时认真回答,帮助它做出更好的技术决策
8. 迭代调试:遇到错误不要急,把错误信息贴给 SOLO,它会自动修复
9. 验证结果:每次修复后都重新运行验证,确保问题真正解决
这套方法不仅适用于 MCP 开发,也可以应用到各种 AI 辅助编程场景中。对于产品经理来说,AI 编程工具让我能够将自己的产品思维直接转化为可运行的系统,大大缩短了从想法到落地的距离。









