Skip to main content
Glama
git-akki

leave-manager-mcp

by git-akki

Leave Management System using MCP (Model Context Protocol)

A minimal, AI-ready Leave Management System built using FastMCP (Model Context Protocol).
This project demonstrates how backend business logic can be exposed directly to AI clients (like Claude Desktop), without REST APIs or prompt hacks.


โœจ Why This Project Exists

Most of us:

  • Watch reels

  • Save YouTube tutorials

  • Bookmark blogs

โ€ฆbut never execute.

This project started when I searched:

โ€œfast api backend for employee management systemโ€

and found this Medium article:
๐Ÿ‘‰ Building a Leave Management System with FastAPI and FastMCP by Madhuri

Instead of just reading it, I asked:

โ€œWhy not build it myself?โ€

That curiosity turned into execution โ€” and this repo is the result.


Related MCP server: Employee Leave Management MCP Server

๐Ÿง  What This Project Demonstrates

  • What MCP (Model Context Protocol) actually looks like in practice

  • How AI models can discover and call backend functions

  • How to build an AI-first backend, not just an API

  • How Claude Desktop interacts with real application logic


โš™๏ธ Features

MCP Tools

  • get_leave_balance(employee_id)

  • apply_leave(employee_id, leave_dates)

  • get_leave_history(employee_id)

MCP Resource

  • greeting://{name}

System Details

  • In-memory mock database

  • Claude Desktop compatible (stdio-based MCP server)

  • No REST APIs, no frontend โ€” pure MCP


๐Ÿ—๏ธ Project Structure

leave-manager-mcp/ โ”œโ”€โ”€ main.py # MCP server (Claude-compatible) โ”œโ”€โ”€ requirements.txt # Dependencies โ””โ”€โ”€ README.md

yaml Copy code


โ–ถ๏ธ How It Works (Big Picture)

Claude Desktop โ†“ Model Context Protocol (MCP) โ†“ FastMCP Server (Python) โ†“ Business Logic (Leave Management)

yaml Copy code

Claude discovers tools, understands their schema, and calls them directly.


๐Ÿš€ Getting Started

1๏ธโƒฃ Create & activate virtual environment

python -m venv .venv
source .venv/bin/activate     # Windows: .venv\Scripts\activate
2๏ธโƒฃ Install dependencies
bash
Copy code
pip install -r requirements.txt
3๏ธโƒฃ Run MCP server (manual testing)
bash
Copy code
python main.py
โš ๏ธ For Claude Desktop, Claude itself starts this process via MCP configuration.

๐Ÿค– Claude Desktop Configuration (Windows Example)
json
Copy code
{
  "mcpServers": {
    "LeaveManagerPython": {
      "command": "C:\\Users\\<USERNAME>\\path\\to\\.venv\\Scripts\\python.exe",
      "args": [
        "C:\\Users\\<USERNAME>\\path\\to\\main.py"
      ],
      "cwd": "C:\\Users\\<USERNAME>\\path\\to\\leave-manager-mcp"
    }
  }
}
๐Ÿ” Restart Claude Desktop after updating the config.

๐Ÿงช Example Prompts (Claude)
rust
Copy code
Check leave balance for employee E001
Apply leave for employee E002 on 2025-04-17 and 2025-04-18
Show leave history of E001
Use greeting://Akash
Claude will automatically call the correct MCP tools.

โš ๏ธ Key Learnings
MCP requires a pure stdio process

FastAPI & MCP must be separated

Claude Desktop caches MCP configs aggressively

Execution teaches more than tutorials

๐Ÿ”ฎ Future Improvements
Add FastAPI (dual-mode: REST + MCP)

Persist data using PostgreSQL

Add authentication & roles

Build AI agents on top of MCP tools

Production deployment

๐Ÿ“Œ Final Thought
Reading tutorials gives comfort.
Watching reels gives motivation.

But execution gives clarity.

This repo exists because of curiosity โ€” not perfection.

yaml
Copy code

---

## โœ… Why This README Works

โœ” Clean headings  
โœ” Clear story hook  
โœ” Explains MCP simply  
โœ” Recruiter / dev friendly  
โœ” Medium-article ready  
โœ” No fluff, no noise  

---

### ๐Ÿš€ Next (Recommended)
Now that GitHub is ready, next we should:
1. **Write the Medium article using this repo**
2. **Add FastAPI back cleanly (dual-mode)**
3. **Create an AI agent on top of this**

Just say **which one** and we continue ๐Ÿ”ฅ
F
license - not found
-
quality - not tested
D
maintenance

Maintenance

โ€“Maintainers
โ€“Response time
โ€“Release cycle
โ€“Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/git-akki/leave-manager-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server