Leave Manager
БесплатноНе проверенEnables natural-language-based employee leave management including leave balance checks, leave applications, approvals, and history retrieval through an MCP-com
Описание
Enables natural-language-based employee leave management including leave balance checks, leave applications, approvals, and history retrieval through an MCP-compatible client.
README
Scope of Work - MCP (Model Context Protocol) Server
Project Overview
leave_manager is a Model Context Protocol (MCP) server that exposes a complete employee leave management workflow as a set of callable tools, enabling natural-language interaction with an HR system through any MCP-compatible client (demonstrated here with Claude Desktop). The project demonstrates hands-on agentic tool-use architecture, going beyond simple request/response patterns to implement a stateful, multi-step approval workflow.
Objectives
- Design and implement an MCP server using the official Python MCP SDK (
FastMCP) to expose backend business logic as LLM-callable tools. - Model a realistic two-step HR workflow (request → approval) rather than a single-step CRUD operation, requiring in-memory state management across tool calls.
- Integrate the server with Claude Desktop via
claude_desktop_config.json, usinguvfor environment and dependency management. - Validate end-to-end tool invocation through natural language prompts, confirming correct parameter extraction, state mutation, and error handling.
Core Features / Tools Implemented
get_leave_balance(employee_id)— Retrieves an employee's current leave balance and leave history; handles invalid employee IDs gracefully.apply_leave(employee_id, leave_dates)— Submits a leave request for one or more dates; validates against available balance and creates a pending request rather than auto-approving, enabling a manager-review step.get_pending_requests()— Lists all outstanding leave requests awaiting manager approval, supporting the manager-facing side of the workflow.approve_leave(request_id)— Approves a pending request by ID, deducting the leave balance and updating history only at the point of approval (not at submission), modeling a real-world authorization gate.get_leaves_history(employee_id)— Returns an employee's full leave history.

Technical Implementation
- Protocol & SDK: Built using the Model Context Protocol (MCP) Python SDK (
mcp[fastmcp]), exposing typed, schema-validated tools (input/output schemas auto-generated from Python type hints). - State Management: In-memory data store with a request-ID-based pending-requests queue, separating "submission" state from "approved" state to mirror real HR approval flows.
- Environment Management: Project dependencies and execution managed via
uv(pyproject.toml-based), with the server launched throughuv runfor reproducible environment isolation. - Client Integration: Configured as a local stdio-based MCP server in Claude Desktop (
claude_desktop_config.json), verified via Claude Desktop's MCP developer logs (tools/list,initialize, and live tool-call traces). - Error Handling: Defensive checks for invalid employee IDs, insufficient leave balance, duplicate/invalid request IDs, and already-processed requests.
Skills Demonstrated
- Agentic AI / Tool-Calling architecture (MCP protocol, tool schema design)
- Python backend development (state machines, data validation, error handling)
- AI client integration and debugging (Claude Desktop config, MCP server logs,
uv-based environment isolation) - API/tool design principles applicable to production agentic systems (idempotency, separation of request vs. approval state)
Future Enhancements (Optional Roadmap)
- Persist data to a real database (SQLite/MongoDB) instead of in-memory storage.
- Add role-based access control (employee vs. manager permissions per tool).
- Add a
reject_leavetool and notification/audit logging for approvals and rejections. - Expose as a remote MCP server (HTTP/SSE transport) for multi-user access beyond local Claude Desktop.
Установка Leave Manager
У этого сервера нет опубликованного пакета — он собирается из исходников. Открой репозиторий и следуй инструкции в README.
▸ github.com/RamehNagella/mcp_server_fun_eval_llm_judgeFAQ
Leave Manager MCP бесплатный?
Да, Leave Manager MCP бесплатный — установка в пару кликов через Unyly без оплаты.
Нужен ли API-ключ для Leave Manager?
Нет, Leave Manager работает без API-ключей и переменных окружения.
Leave Manager — hosted или self-hosted?
Self-hosted: сервер запускается локально на твоей машине командой из раздела установки.
Как установить Leave Manager в Claude Desktop, Claude Code или Cursor?
Открой Leave Manager на unyly.org, выбери вкладку своего клиента (Claude Desktop, Claude Code, Cursor) и нажми Install — конфиг сгенерируется автоматически, без правки JSON.
Похожие MCP
GitHub
PRs, issues, code search, CI status
автор: GitHubFilesystem
Secure file operations with configurable access controls.
Memory
Knowledge graph-based persistent memory system.
Template MCP Server
A CLI tool to create a new Model Context Protocol server project with TypeScript support, dual transport options, and an extensible structure
автор: mcpdotdirectCompare Leave Manager with
Не уверен что выбрать?
Найди свой стек за 60 секунд
Автор?
Embed-бейдж для README
Похожее
Все в категории development
