员工休假管理服务器

一个基于MCP协议的员工休假数据管理服务器,支持通过自然语言查询和申请休假。

  • by prphub
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 prphub/empleavemgmt-claude-mcp-server

使用说明

🏗️ 员工休假管理-MCP服务器

克劳德兼容 MCP服务器 用于通过自然语言管理员工休假数据。

内置:

  • ✅ MCP(模型上下文协议)
  • ✅ Python+打字机
  • ✅ 基于CSV的持久性(一个真实来源)
  • ✅ Claude兼容工具定义

📦 特性

工具 说明
get_leave_balance(employee_id) 检查剩余休假天数
get_leave_history(employee_id) 查看历史休假日期
apply_leave(employee_id, leave_dates) 申请一个或多个休假日期
资源 描述
greeting://{name} 友好的入职信息

📁 文件夹结构

EmpLeaveMgmt-Claude-MCP-Server/
├── data/
│   └── employee_leaves.csv      # Single CSV file for persistence
├── main.py                      # MCP tool definitions
├── .venv/                       # Virtual environment
├── pyproject.toml               # Project metadata (via `uv`)
├── uv.lock                      # Dependency lock file
└── README.md                    # You are here!

⚙️ 先决条件

  • ✅ Python 3.10+
  • ✅ 紫外线 (pip install uv)
  • ✅ 启用开发者模式的Claude桌面应用程序

🚀 设置

1.克隆仓库并导航到其中:

git clone https://github.com/prphub/EmpLeaveMgmt-Claude-MCP-Server.git
cd EmpLeaveMgmt-Claude-MCP-Server

2.创建虚拟环境并激活它:

python -m venv .venv
.venv\Scripts\activate   # Windows
# or
source .venv/bin/activate  # Linux/macOS

3.安装依赖项:

pip install uv mcp typer
uv add "mcp[cli]"

📄 CSV格式

你的 employee_leaves.csv 文件应该看起来像这样:

employee_id,balance,history
E001,18,2024-12-25;2025-01-01
E002,20,
E003,15,2025-03-15;2025-03-16
  • employee_id:唯一ID
  • balance:整数(剩余休假天数)
  • history:以分号分隔的日期列表

🧠 与Claude一起运行(MCP安装)

确保 .venv 已激活,然后运行:

uv run mcp install main.py

安装工具后,Claude可以使用自然语言调用它们,例如:

🗣️ “E002还剩多少天假期?” 🗣️ “在2025-07-01和2025-07-02为E003申请休假” 🗣️ “显示E001的休假历史记录”


🧪 地方发展(可选)

要使用REST UI进行本地测试,请执行以下操作:

uv run mcp dev main.py

然后访问: http://localhost:8000/docs


🛠️ 备注

  • 休假数据将持久化到 employee_leaves.csv
  • 必须以ISO字符串列表的形式传递多个休假日期(例如。, ["2025-08-01", "2025-08-02"])
  • 每次调用工具时,CSV都会重新加载(确保新鲜度)
  • 克劳德总是看到最新的员工状态