员工休假管理服务器

一个用于管理员工休假申请和余额的MCP服务器,提供检查休假余额、申请休假和查看休假历史的功能。

  • by rghvndr99
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rghvndr99/mcp-server-emp-management

使用说明

MCP服务器-员工休假管理

用于管理员工休假请求和余额的模型上下文协议(MCP)服务器。此服务器提供用于检查休假余额、申请休假和查看休假历史记录的工具。

特性

  • 休假余额管理:检查员工的剩余休假天数
  • 请假申请:在特定日期申请休假
  • 离开历史:查看历史休假记录
  • 内存存储:用于演示目的的简单模拟数据库

可用工具

1.获得假期余额

查看员工剩余的休假天数。

get_leave_balance(employee_id: str) -> str

2.请假

在特定日期申请休假。自动从可用余额中扣除。

apply_leave(employee_id: str, leave_dates: List[str]) -> str

例子: apply_leave("E001", ["2025-04-17", "2025-05-01"])

3.获取休假历史记录

检索员工的完整休假历史记录。

get_leave_history(employee_id: str) -> str

可用资源

问候资源

获得个性化问候以获得休假管理帮助。

greeting://{name}

安装

先决条件

  • Python 3.12或更高版本
  • uv包管理器(推荐)或pip

设置

  1. 克隆存储库:
git clone https://github.com/rghvndr99/mcp-server-emp-management.git
cd mcp-server-emp-management
  1. 使用uv安装依赖项:
uv sync

或者使用pip:

pip install -e .

用法

运行服务器

启动MCP服务器:

python main.py

服务器将启动并监听MCP协议连接。

样品数据

服务器附带了预先配置的示例员工:

  • E001:剩余18天休假,已于2024年12月25日和2025年1月1日休假
  • E002:剩余20天休假,无休假记录

交互示例

  1. 检查假期余额:

    • 输入: get_leave_balance("E001")
    • 输出: "E001 has 18 leave days remaining."
  2. 请假申请:

    • 输入: apply_leave("E001", ["2025-03-15", "2025-03-16"])
    • 输出: "Leave applied for 2 day(s). Remaining balance: 16."
  3. 查看休假历史记录:

    • 输入: get_leave_history("E001")
    • 输出: "Leave history for E001: 2024-12-25, 2025-01-01, 2025-03-15, 2025-03-16"

配置

服务器使用中定义的内存数据库 main.py。要修改员工数据或添加新员工,请编辑 employee_leaves 字典:

employee_leaves = {
    "E001": {"balance": 18, "history": ["2024-12-25", "2025-01-01"]},
    "E002": {"balance": 20, "history": []},
    # Add more employees here
}

发展

项目结构

mcp-server-emp-management/
├── main.py              # Main server implementation
├── pyproject.toml       # Project configuration
├── uv.lock             # Dependency lock file
├── .gitignore          # Git ignore rules
└── README.md           # This file

Git最佳实践

该项目包括一个全面的 .gitignore 文件不包括:

  • Python字节码文件(__pycache__/, *.pyc)
  • 虚拟环境(venv/, .env)
  • IDE特定文件(.vscode/, .idea/)
  • 操作系统特定文件(.DS_Store, Thumbs.db)
  • 构建工件和分发文件
  • 日志文件和临时文件
  • 敏感配置文件

在捐款时,请确保:

  1. 永不承诺 __pycache__ 目录或 .pyc 文件
  2. 将敏感配置与代码库分开
  3. 使用环境变量进行不同部署之间的配置

依赖项

  • mcp[cli]>=1.10.1:模型上下文协议实现

贡献

  1. 分叉存储库
  2. 创建要素分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求

许可证

这个项目是开源的。请检查存储库以了解许可证详细信息。

支持

如有疑问或问题,请在 GitHub存储库.