员工休假管理系统

一个全面的员工休假管理系统,提供员工信息管理、休假余额计算、休假请求审批流程等功能。

  • by suchitad1950
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 suchitad1950/My-first-MCP-server

使用说明

我的第一台MCP服务器

用于员工休假管理的全面模型上下文协议(MCP)服务器实现。

📁 项目结构

此存储库包含两个MCP服务器实现:

1. mcp-employee-leave/ -完善的员工休假管理系统

  • 目的:功能齐全的人力资源休假管理服务器
  • 特性:
    • 员工信息管理
    • 休假余额计算
    • 休假申请审批工作流程
    • 工作日计算器
    • 待处理请求跟踪

2. mcp_leave_server/ -替代实施方案

  • 目的:具有数据库集成的替代服务器结构
  • 特性:休假管理的数据库模型和模式

🌟 主要特点

员工休假管理(mcp-employee-leave/)

  • ✅ 7 MCP工具:全套休假管理工具
  • ✅ 1资源:员工数据访问
  • ✅ Claude桌面集成:即用型配置
  • ✅ 样品数据10名员工,10份休假申请(6份已批准,4份待处理)
  • ✅ 工作服务器:所有连接问题均已解决

可用工具:

  1. check_leave_balance -检查员工假期余额
  2. get_employee_info -查看员工详细信息
  3. list_employees -列出所有员工
  4. get_leave_requests -查看休假申请历史记录
  5. approve_leave_request -批准/拒绝请求
  6. calculate_working_days -计算工作日
  7. get_pending_requests -查看待审批

🚀 快速开始

先决条件

  • Python 3.8+
  • 虚拟环境
  • Claude桌面(用于集成)

安装

  1. 克隆存储库:

    git clone https://github.com/suchitad1950/My-first-MCP-server.git
    cd My-first-MCP-server
    
  2. 设置虚拟环境:

    python3 -m venv venv
    source venv/bin/activate  # On macOS/Linux
    
  3. 安装依赖项:

    cd mcp-employee-leave
    pip install -r requirements.txt
    
  4. 测试服务器:

    python3 server.py
    

Claude桌面集成

  1. 复制配置:

    cp mcp-employee-leave/claude_desktop_config_fixed.json ~/Library/Application\ Support/Claude/claude_desktop_config.json
    
  2. 重新启动克劳德桌面

  3. 克劳德测试:

    • “列出所有员工”
    • “显示待处理的休假请求”
    • “检查EMP001的年假余额”

📊 样品数据

服务器附带了代表一家现代印度公司的真实样本数据:

员工(10名):

  • EMP001Sachin Goswami(高级软件工程师,工程)-每年25天,10天病假
  • EMP002Ravi Punekar(营销经理,营销)-每年28天,12天病假
  • EMP003:Rahul Deshpande(人力资源总监,人力资源)-每年30天,15天病假
  • EMP004:Archana Jadhav(财务分析师,财务)-每年22天,10天病假
  • EMP005:Preeti Kulkarni(销售主管,销售)-每年25天,12天病假
  • EMP006Amit Sharma(销售经理,销售)-每年30天,15天病假
  • 2007年1月:Priya Mehta(市场营销与销售副总裁)-每年32天,18天病假
  • EMP008:Vikram Singh(首席财务官,财务)-35年,20个病假
  • EMP009:Neha Patil(初级工程师,工程)-每年20天,8天病假
  • EMP010Karan Joshi(运营协调员,运营)-每年22天,10天病假

组织结构:

  • 领导力:3名C级/副总裁高管(Rahul、Priya、Vikram)
  • 管理3名经理(Ravi、Amit、Sachin担任高级工程师)
  • 员工:4名个人贡献者(Archana、Preeti、Neha、Karan)
  • 部门:工程(2)、市场营销(2),财务(2)。销售(2);人力资源(1);运营(1)

请假申请(10):

  • 6已批准:
    • Sachin的家庭假期(5天)和流感假期(3天)
    • 拉维假期(8天)
    • Rahul的个人预约(1天,自动批准)
    • Archana的医疗程序(3天)
    • 普里亚排灯节(3天,汽车批准)
  • 4待定:
    • Preeti感恩节周(5天)
    • 阿米特的圣诞节假期(5天)
    • Neha的婚礼庆典(3天)
    • 卡兰医生预约(1天)

🛠️ 发展

文件结构

mcp-employee-leave/
├── server.py                     # Main MCP server (WORKING VERSION)
├── employee_data.json           # Updated employee database
├── requirements.txt             # Python dependencies
├── README.md                    # Detailed documentation
├── test_tools.py               # Testing script
├── server_wrapper.py           # Alternative server wrapper
├── claude_desktop_config_fixed.json  # Claude Desktop configuration
├── mcp_config.yaml             # MCP server configuration
└── mcp_server.log              # Server logs

关键组件

  • 员工离职经理:具有增强数据管理功能的核心业务逻辑
  • MCP工具:7个用于Claude Desktop的交互式工具,具有完整的CRUD操作
  • 数据模型:支持职位和经理层次结构的Pydantic模型
  • 错误处理:全面的日志记录和调试功能

🔧 配置文件

  • claude_desktop_config_fixed.json -工作Claude桌面配置
  • mcp_config.yaml -替代MCP配置格式
  • requirements.txt -Python包依赖关系

📈 版本历史记录

  • v1.0.0 (当前):与Claude Desktop集成的完整工作MCP服务器
    • 增强的员工数据库,包含10名员工和管理层
    • 通过现实的审批模式改进休假申请工作流程
    • 所有连接问题均已解决
    • 全面测试已完成
    • 提供完整文件

🤝 贡献

这是一个演示MCP服务器实现的学习项目。请随意:

  • 分叉存储库
  • 提交问题
  • 提出改进建议
  • 添加新功能

📄 许可证

这个项目是为了教育目的。您可以根据需要自由使用和修改。

🎯 后续步骤

  • []添加数据库持久性(PostgreSQL/SQLite)
  • []实现身份验证和授权
  • []添加请假审批的电子邮件通知
  • []为人力资源管理创建web仪表板
  • []添加更多假期类型(产假、陪产假、丧假)
  • []执行休假政策和业务规则
  • []添加报告和分析功能

💡 学习成果

该项目展示了:

  • 现代人工智能集成:使用Claude Desktop和MCP协议
  • 异步Python编程:使用async/await实现可扩展的服务器架构
  • 数据建模:具有层次关系的真实人力资源数据结构
  • API设计:具有适当验证和错误处理功能的RESTful风格工具
  • 测试策略:具有真实场景的全面测试覆盖率

作为学习模型上下文协议(MCP)开发的一部分创建 🚀