请假请求助手

一个基于聊天界面的员工请假请求处理助手,提供假期余额查询、请假申请准备和提交功能。

  • by abdallahelgabry
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 abdallahelgabry/Leave-Request-MCP

使用说明

请假助理MCP

项目结构

leave-request-mcp/
├── server.py          # FastMCP server — tools & in-memory DB
├── app.py             # Streamlit client — chat UI + AI routing
├── .env               # Environment variables (see setup below)
└── requirements.txt   # Python dependencies

入门指南

1.克隆仓库

git clone https://github.com/abdallahelgabry/Leave-Request-MCP.git
cd leave-request-mcp

2.安装依赖项

pip install -r requirements.txt

3.运行MCP服务器

python server.py

服务器启动于 http://0.0.0.0:8001 使用SSE传输。

4.运行Streamlit应用程序

streamlit run app.py

MCP工具

工具 说明
get_current_date 返回今天的日期——用于相对日期解析(例如“明天”、“下周”)
check_leave_balance 返回员工的年假和病假余额
prepare_leave_request 在提交之前,验证并分阶段审查休假申请
confirm_leave_request 在用户确认后完成并提交分阶段请求

测试员工ID

ID 姓名 部门
EMP001 阿卜杜拉·埃尔加布里 工程
EMP002 莱拉·扎基 人力资源
EMP003 阿姆鲁·穆罕默德 金融

LangSmith的可观察性

所有交互都通过以下方式进行跟踪 朗匠,包括:

  • load_prompt --从LangSmith Prompt Hub获取系统提示
  • get_mcp_tools --从MCP服务器发现工具
  • execute_mcp_tool --单个工具执行
  • chat_openai / chat_cohere --完整的聊天链
  • chat_router --模型路由逻辑

集 LANGSMITH_API_KEY 和 LANGSMITH_PROJECT 在你的 .env 以启用跟踪。

对话示例

User:   What's my leave balance?
Bot:    You have 21 annual leave days and 10 sick leave days remaining.

User:   I'd like to request 3 days of annual leave starting tomorrow.
Bot:    Here's your leave request summary:
        - Type: Annual
        - From: 2025-02-24 to 2025-02-26
        - Days: 3
        - Remaining after approval: 18 days
        Type 'confirm' to submit.

User:   confirm
Bot:    Leave request REQ1001 submitted successfully!