关于 Leave Management MCP Server
这是一个读取 Excel 工作簿中员工休假数据的 Python MCP 服务,供组织查询和分析休假记录。它依赖具有指定工作表和列结构的休假跟踪表。
主要功能
- 01读取 Excel 休假记录
- 02查询员工休假详情
- 03分析休假记录
适用场景
- 01查询当天休假人员
- 02查看员工休假余额
- 03列出某月休假记录
MCP 相关
向 MCP 客户端提供查询和分析工作簿休假数据的工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
请假管理 MCP 服务
此代码仓库包含一个用于管理组织员工请假的 Model Context Protocol(MCP)服务。该服务与包含员工请假数据的 Excel 工作簿集成,并提供用于查询和分析请假记录的工具。
目录
前置条件
- Python 3.9+
- UV 包管理器
- Claude Desktop(或其他 MCP 客户端)
- 包含请假数据的 Excel 工作簿
项目结构
leave-management-mcp/
├── src/
│ ├── __init__.py
│ ├── config.py # Configuration settings
│ ├── leave_server.py # Main MCP server
│ ├── data_manager.py # Data processing module
│ └── models/
│ ├── __init__.py
│ └── employee.py # Employee data models
├── data/
│ └── leave_tracker.xlsx # Excel workbook with leave data
├── main.py # Entry point wrapper
├── __init__.py # Root package marker
├── requirements.txt # Dependencies
└── README.md # Project documentation
安装
- 克隆此代码仓库:
git clone https://github.com/ItsMistahJi/itsmistahji-leave-management-mcp.git
cd leave-management-mcp
- 使用 UV 设置 Python 环境:
pip install uv
uv init .
- 安装依赖项:
uv add "mcp[cli]" pandas openpyxl python-dotenv PyPDF2
配置
- 在项目根目录中创建
.env文件:
DATA_DIR=/path/to/your/data/directory
EXCEL_FILE=/path/to/your/data/directory/leave_tracker.xlsx
SERVER_NAME=LeaveManagement
DEBUG_MODE=True
- 确保 Excel 工作簿具有正确的结构:
- 名为 "Leaves-2025" 的工作表(或修改
data_manager.py以使用你的工作表名称) - 包含 "Sl No"、"Name"、"EMP ID"、"Location" 和月份名称("Jan"、"Feb" 等)的列
- 名为 "Leaves-2025" 的工作表(或修改
运行服务
本地开发测试
# Test the server locally
uv run python -m src.leave_server
# Install in Claude Desktop for testing
uv run mcp install src/leave_server.py --name "Leave Management"
VS Code 集成
将此配置添加到 VS Code 设置中:
"mcpServers": {
"LeaveManagement": {
"type": "stdio",
"command": "uv",
"args": [
"run",
"--with",
"mcp[cli],pandas,openpyxl,python-dotenv,PyPDF2",
"mcp",
"run",
"/path/to/leave-management-mcp/src/leave_server.py"
]
}
}
[
注意: 将 /path/to/leave-management-mcp 替换为你的实际项目路径。
故障排除
“No module named 'src'”错误
当 Python 无法在其模块搜索路径中找到 'src' 包时,会出现此错误。
解决方案:
- 添加
__init__.py文件,使 src 成为一个规范的包:
touch __init__.py
touch src/__init__.py
touch src/models/__init__.py
- 修改服务器脚本(leave_server.py)以包含路径:
import sys
import os
sys.path.insert(0, os.path.abspath(os.path.dirname(os.path.dirname(__file__))))
- 使用根目录中的 main.py 包装器:
import sys
import os
sys.path.insert(0, os.path.abspath('.'))
from src.leave_server import mcp
if __name__ == "__main__":
mcp.run()
“No module named 'pandas'”错误
当运行服务的环境中未安装 pandas 时,会出现此错误。
解决方案:
- 确保在同一环境中安装了所有依赖项:
uv add pandas openpyxl python-dotenv PyPDF2
- 运行服务时使用
--with标志:
uv run --with "mcp[cli],pandas,openpyxl,python-dotenv,PyPDF2" mcp run src/leave_server.py
Excel 数据加载问题
如果 Excel 数据出现验证错误:
- 检查并修改
data_manager.py中的load_data函数,使其符合你的 Excel 结构 - 确保工作表名称与 Excel 文件中的名称一致
- 检查列名,并妥善处理 NaN 值
示例查询
服务运行后,你可以向 Claude 提问:
- “今天谁在休假?”
- “显示员工 12345 的假期余额”
- “列出 4 月份所有休假的员工”
- “获取 Arun S 的请假详情”
- “Jeeva Rao 3 月份什么时候休假?”
查找调试日志
- Claude Desktop 日志:
- macOS:
~/Library/Logs/Claude/mcp.log - Windows:
%APPDATA%\Claude\logs\mcp.log
- macOS:
- 打印语句: 服务器代码中的任何
print()语句都会显示在日志中。
⁂
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。