Skip to main content
Glama
AniketDonode

Leave Manager

by AniketDonode

Leave Manager MCP Server

Этот проект предсталвяет собой Python MCP-сервер для управления сотрудниками, остатками отпусков и заявками на отпуск с использованием SQLite.

1. Создание проекта

Откройте PowerShell и создайте каталог проекта:

mkdir D:\Coding\mcpserver\LeaveManager
cd D:\Coding\mcpserver\LeaveManager

Создайте проект Python с помощью uv внутри leave_manager_server:

uv init leave_manager_server
cd leave_manager_server
uv add "mcp[cli]>=2.1.1"

Для проекта требутся Python 3.14 или новее. uv создаёт pyproject.toml, uv.lock и вируальное окружение, используемое для запуска сервера.

Related MCP server: leave_manager

2. Реализация сервера

Создайте server.py и добавьте следующие части:

  1. Импортируйте MCPServer из mcp.server.mcpserver.

  2. Создайте сервер с помощью MCPServer("Leave Manager").

  3. Определите модели данных Employee и LeaveRequest.

  4. Создайте базу данных SQLite рядом с server.py, используя абсолютный путь.

  5. Инициализируйте таблицы employees и leave_requests и вставьте пример данных при запуске.

  6. Добавьте ресурсы для каталогов сотрудников и заявок на отпуск.

  7. Добавьте инструменты для подачи и утверждения отпусков, проверки остатков, вывода списка ожидающих утверждения заявок, получения статистики базы данных и добавления сотрудников.

  8. Запустите сервер из блока __main__:

if __name__ == "__main__":
		init_database()
		mcp.run()

Проект использует MCP 2.x. Старый импорт MCP 1.x не работат с этой зависимостью:

from mcp.server.fastmcp import FastMCP

Рабочая форма для MCP 2.x выглядит так:

from mcp.server.mcpserver import MCPServer

mcp = MCPServer("Leave Manager")

3. Запуск сервера напрямую

Из каталога проекта:

cd D:\Coding\mcpserver\LeaveManager\leave_manager_server
uv run server.py

Сервер использует стандартный ввод/вывод для связи по MCP, поэтому он остаётся запущенным, пока подкючён MCP-клиент. Нажмите Ctrl+C, чтобы остановить его.

Проверьте, что модуль корректно импортирутся, не запуская долго работающий сервер:

uv run python -c "import server; print('Server import valid')"

4. Тестирование с помощью MCP Inspector

Поддерживаемая команда для разработки:

cd D:\Coding\mcpserver\LeaveManager\leave_manager_server
uv run mcp dev server.py

MCP Inspector использует Node.js. Установите Node.js 22.19.0 или новее перед использованием последней версии Inspector. Проверьте версии с помощью:

node --version
npm --version

Не запускайте npm i в этом каталоге проекта Python, так как в нём нет package.json. Если Inspector сообщает об отсутствующем нативном модуле, очистите временный кэш npx и повторите попытку:

Remove-Item "$env:LOCALAPPDATA\npm-cache\_npx" -Recurse -Force
uv run mcp dev server.py

5. Подключение Claude Desktop

Claude Desktop читает конфигурацию из:

%APPDATA%\Claude\claude_desktop_config.json

Добавьте эту запись сервера. Замените путь, если проект хранится в другом месте:

{
	"mcpServers": {
		"leave-manager": {
			"command": "uv",
			"args": [
				"run",
				"--directory",
				"D:\\Coding\\mcpserver\\LeaveManager\\leave_manager_server",
				"server.py"
			]
		}
	}
}

Перезапустите Claude Desktop после сохранения конфигурации. Сервер создаёт leave_manager.db рядом с server.py при первом запуске.

Доступные возможности MCP

Ресурсы:

  • employees://all

  • employee://{employee_id}

  • leave-requests://all

  • leave-requests://employee/{employee_id}

  • leave-requests://status/{status}

Инструменты:

  • submit_leave_request

  • approve_leave_request

  • check_leave_balance

  • get_pending_approvals

  • get_database_stats

  • add_employee

  • This will add my Config file automatic uv run mcp install server.py --name "leave_manager"

Maintenance

ActivityMaintained
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

Related MCP Connectors

Related MCP Servers

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/AniketDonode/LeaveManager'

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