Skip to main content
Glama
AniketDonode

Leave Manager

by AniketDonode

Leave Manager MCP Server

이 프로젝트는 SQLite로 직원, 휴가 잔액, 휴가 요청을 관리하는 Python MCP 서버입니다.

1. 프로젝트 만들기

PowerShell을 열고 프로젝트 디렉터리를 만듭니다:

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

leave_manager_server 안에 uv Python 프로젝트를 만듭니다:

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

이 프로젝트는 Python 3.14 이상이 필요합니다. uvpyproject.toml, uv.lock, 그리고 서버를 실행하는 데 사용되는 가상 환경을 만듭니다.

Related MCP server: leave_manager

2. 서버 구현

server.py를 만들고 다음 부분들을 추가합니다:

  1. mcp.server.mcpserver에서 MCPServer를 가져옵니다.

  2. MCPServer("Leave Manager")로 서버를 생성합니다.

  3. EmployeeLeaveRequest 데이터 모델을 정의합니다.

  4. 절대 경로를 사용하여 server.py 옆에 SQLite 데이터베이스를 만듭니다.

  5. employeesleave_requests 테이블을 초기화하고 시작 시 샘플 데이터를 삽입합니다.

  6. 직원 디렉터리 및 휴가 요청에 대한 리소스를 추가합니다.

  7. 휴가 제출 및 승인, 잔액 확인, 대기 중인 승인 목록, 데이터베이스 통계 조회, 직원 추가를 위한 도구를 추가합니다.

  8. __main__ 블록에서 서버를 시작합니다:

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

이 프로젝트는 MCP 2.x를 사용합니다. 이전 MCP 1.x import는 이 종속성에서 작동하지 않습니다:

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를 사용합니다. 최신 Inspector를 사용하기 전에 Node.js 22.19.0 이상을 설치하세요. 버전을 확인하는 명령은 다음과 같습니다:

node --version
npm --version

이 Python 프로젝트 디렉터리에는 package.json이 없으므로 npm i를 실행하지 마세요. 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을 다시 시작하세요. 서버는 처음 시작할 때 server.py 옆에 leave_manager.db를 만듭니다.

사용 가능한 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