使用说明
我的第一台MCP服务器
用于员工休假管理的全面模型上下文协议(MCP)服务器实现。
📁 项目结构
此存储库包含两个MCP服务器实现:
1. mcp-employee-leave/ -完善的员工休假管理系统
- 目的:功能齐全的人力资源休假管理服务器
- 特性:
- 员工信息管理
- 休假余额计算
- 休假申请审批工作流程
- 工作日计算器
- 待处理请求跟踪
2. mcp_leave_server/ -替代实施方案
- 目的:具有数据库集成的替代服务器结构
- 特性:休假管理的数据库模型和模式
🌟 主要特点
员工休假管理(mcp-employee-leave/)
- ✅ 7 MCP工具:全套休假管理工具
- ✅ 1资源:员工数据访问
- ✅ Claude桌面集成:即用型配置
- ✅ 样品数据10名员工,10份休假申请(6份已批准,4份待处理)
- ✅ 工作服务器:所有连接问题均已解决
可用工具:
check_leave_balance-检查员工假期余额get_employee_info-查看员工详细信息list_employees-列出所有员工get_leave_requests-查看休假申请历史记录approve_leave_request-批准/拒绝请求calculate_working_days-计算工作日get_pending_requests-查看待审批
🚀 快速开始
先决条件
- Python 3.8+
- 虚拟环境
- Claude桌面(用于集成)
安装
-
克隆存储库:
git clone https://github.com/suchitad1950/My-first-MCP-server.git cd My-first-MCP-server -
设置虚拟环境:
python3 -m venv venv source venv/bin/activate # On macOS/Linux -
安装依赖项:
cd mcp-employee-leave pip install -r requirements.txt -
测试服务器:
python3 server.py
Claude桌面集成
-
复制配置:
cp mcp-employee-leave/claude_desktop_config_fixed.json ~/Library/Application\ Support/Claude/claude_desktop_config.json -
重新启动克劳德桌面
-
克劳德测试:
- “列出所有员工”
- “显示待处理的休假请求”
- “检查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)开发的一部分创建 🚀