Back to MCP directory
publicPublicdnsLocal runtime

leavemanagementmcp

这是一个基于Model Context Protocol (MCP)的请假管理系统服务器。它允许AI助手(如Claude、Cursor)充当HR协作者,自动化完成收集请假信息、验证公司政策、自动批准请求并生成人性化确认通知的完整流程。系统采用Python和fastmcp框架构建,内置验证规则和审计追踪,旨在替代传统手动流程,为AI代理提供安全、可组合的HR自动化操作。

article

README

🚀 请假管理MCP服务器

本项目提供了一个名为LeaveManagementSystem的模型上下文协议(MCP)服务器。它能让诸如Cursor或Claude等AI助手扮演人力资源协同助手的角色,负责收集请假详情、验证请假政策、即时批准请假申请,并发送人性化的确认信息。该服务器使用Python和fastmcp实现,具有轻量级、有状态且易于扩展的特点。

🚀 快速开始

  1. 安装依赖项(使用uv确保环境的确定性):
    uv pip install -r pyproject.toml
    
  2. 手动运行MCP服务器(可选):
    uv run --with mcp[cli] mcp run main.py
    
  3. 在MCP客户端(Cursor或Claude)中注册服务器。使用以下命令:
    C:\Users\Asus\.local\bin\uv.EXE run --with mcp[cli] mcp run C:\Users\Asus\Desktop\leavemanagementMCP\main.py
    
  4. 重启客户端以加载新服务器。

✨ 主要特性

解决的问题

  • 手动请假流程效率低下:人力资源团队需要花费大量时间收集员工信息、验证请假政策以及撰写批准邮件。
  • AI助手常缺失关键上下文:典型的AI自动化在触发工具时,无法确保获取所有必要的详细信息,从而导致错误或反复澄清。
  • 批准过程需要可审计的记录:管理人员希望了解是谁申请了请假、已请假天数以及批准请假的原因。

解决方案亮点

  • 结构化的MCP工具apply_leaveapprove_leavereject_leaveleave - status资源将所有核心人力资源操作以确定性的API形式暴露出来。
  • 内置防护机制:工具验证确保AI助手在采取行动前收集到employee_iddays和具体的reason
  • 自动批准工作流:当调用apply_leave时,系统会自动批准申请、更新剩余假期天数,并模拟发送邮件通知。Claude(或任何支持MCP的助手)可以立即响应,无需等待人工管理人员。
  • 实时状态跟踪:AI助手可以查询leave - status://{emp_id},向员工共享当前剩余假期天数和审批历史。

技术先进性

  • 以AI助手为优先的设计:我们提供的是专门为大语言模型(LLM)工具平台定制的原生MCP服务器,而不是简单的REST API。Claude、Cursor和未来的MCP客户端可以发现服务器的功能、执行参数约定,并以最少的粘合代码编排高级流程。
  • 保障AI代理的操作安全:服务器端强制执行验证、政策限制和审计跟踪,使得让自主代理批准请假更加安全。
  • 可组合的人力资源自动化:由于所有操作都在MCP服务器内运行,你可以将此服务器与其他MCP服务(如日历同步、薪资计算、分析等)进行链式组合,而无需定制集成。
  • 支持实时协作:内存模型在会话期间保持状态,迁移到数据库或SaaS后端就像更换存储层一样简单。

📦 安装指南

核心技术

  • Python 3.11+:具有类型提示的现代Python版本,有助于进行健壮的开发。
  • FastMCP:高性能的MCP服务器框架,可与支持MCP的客户端实现无缝集成。
  • 模型上下文协议(MCP):AI助手与外部工具和资源交互的标准化协议。
  • uv:快速的Python包安装器和依赖项管理器,可确保环境的可重复性。

数据层

  • 当前实现:使用内存数据结构(字典和列表)进行快速原型开发。
  • 生产环境准备:设计支持数据库抽象,可以无缝连接到以下数据库:
    • SQLite:轻量级、基于文件的数据库,适用于中小型部署。
    • PostgreSQL:企业级关系型数据库,适用于生产环境。
    • MySQL/MariaDB:可选的关系型数据库。
    • MongoDB:支持灵活文档存储的NoSQL数据库。
    • SaaS HRIS API:可直接与现有的人力资源管理系统(如Workday、BambooHR等)集成。

集成点

  • MCP客户端:原生支持Claude Desktop、Cursor IDE和其他支持MCP的客户端。
  • 邮件通知:模拟邮件系统,可与SendGrid、AWS SES、SMTP服务器集成。
  • 未来扩展:支持日历API、Slack/Teams Webhook、薪资系统。

开发工具

  • pyproject.toml:现代Python项目配置文件,用于管理依赖项。
  • uv.lock:锁定依赖项版本,确保构建的可重复性。

💻 使用示例

基础用法

  • 申请请假:收集emp_iddaysreason。工具会自动批准申请,并返回格式化的确认信息和模拟的邮件通知。
  • 手动调整审批结果:如有需要,可手动调用approve_leavereject_leave来调整请假状态。
  • 查询请假状态:查询leave - status://emp001(可替换为任何员工ID),查看剩余假期天数和审批历史。

高级用法

数据库集成

系统架构支持直接连接数据库。你可以用数据库查询替换内存数据结构:

# Replace in-memory dictionaries with database queries
employees = db.query("SELECT emp_id, name, leaves_taken FROM employees")
leave_requests = db.query("SELECT * FROM leave_requests WHERE emp_id = ?", [emp_id])

系统扩展

  • 数据库集成:系统支持直接连接数据库,你可以将内存数据结构替换为数据库查询:
    • SQLite:适用于小团队,单文件数据库,无需配置。
    • PostgreSQL/MySQL:企业级数据库,支持ACID特性、事务和复杂查询。
    • MongoDB:基于文档的存储方式,支持灵活的模式演变。
    • HRIS API:通过REST/GraphQL API直接连接现有的人力资源系统(如Workday、BambooHR、ADP)。
  • 附加增强功能
    • 身份验证与授权:添加基于角色的访问控制(RBAC),限制批准/拒绝请假的人员权限。
    • 真实邮件/SMS集成:连接到事务性邮件提供商(如SendGrid、AWS SES)或SMS网关(如Twilio)。
    • 分析与报告:暴露MCP资源,提供年度总结、团队请假日历和政策合规报告。
    • Webhook支持:当请假被批准/拒绝时,触发外部系统。
    • 多租户支持:对于SaaS部署,按组织/公司隔离数据。
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client