🏗️ 员工休假管理-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-Server2.创建虚拟环境并激活它:
python -m venv .venv
.venv\Scripts\activate # Windows
# or
source .venv/bin/activate # Linux/macOS3.安装依赖项:
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-16employee_id:唯一IDbalance:整数(剩余休假天数)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都会重新加载(确保新鲜度)
- 克劳德总是看到最新的员工状态
